---+ HTTP Server library todo list

---++ Debugging

We plan to provide a in-core  store   for  requests with predicates that
control what requests are stored. This   allows for showing the requests
as well as replaying requests from the user-thread for easy debugging.

Can we deal with HTTP POST requests?

---++ JSON integration

JavaScript Simple Object Notation is a   simple and lightweight exchange
protocol for structured data. Support for   it  is progressing, with the
following items on our todo list.

	* Hook json_convert.pl into json.pl
	* Deal with nested objects in conversion
	* Documentation.

---++ JavaScript integration

Work now based on quasi quotation.  The idea is to specify the server predicate
(partly) in the client JavaScript code.

	$.ajax({ url: server.my_predicate("hello", world),
		 result: [ { data: ["name", "place"] }
			 ],
		 limit: 10,
		 offset: 100,
		 sortBy: "name",
		 success: function (data, status) {

		 }
	       })

xyx(Request) :-
	http_parameters(Request,
			[ '1'(ArgOne, []),
			  '2'(ArgTwo, [])
			]),
	findall(Result, my_predicate(ArgOne, ArgTwo, Result), Results),
	first_10(
	json_reply(json([totalNumberOfResults=100,results=Results])).

:- json_object
	data(name, place, ...).


my_predicate(A1, A2, data(Name, Place, ...)) :-
my_predicate(A1, A2, Name, Place) :-
	....

%% Processing the tree

rule -->

rule(node(rule, Start, End, [Child1, Child2, ...])) -->
	here(Start),
	body1(Child1),
	...
	here(End).
