<div dir="ltr"><div class="gmail_quote">On Tue, Jun 7, 2011 at 20:54, Michael Van Canneyt <span dir="ltr"><<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br>
<br>
On Tue, 7 Jun 2011, ik wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
      As you know REST is an architecture, not just a set of classes or methods.<br>
      REST doesn't even require HTTP. So calling a webserver class RESTsomething<br>
      because onGet, onPut, etc. are exposed does not have any added value.<br>
<br>
<br>
>I agree. This was why I didn't understand the original poster's question; the<br>
>implementation is trivial.<br>
<br>
At the moment we are talking about HTTP, so TFPREST... for HTTP CGI is actually in order.<br>
The issue is not about writing 10 lines of code each time you need to separate GET from PUT, but the fact that you repeat yourself 10 lines of code on each<br>
location you require to this separation.<br>
<br>
I'm using such work for example in Sinatra. I have an API for having recordings after few of my applications (Asterisk based) finished working. so you do<br>
the following:<br>
<br>
GET /recording/filename HTTP/1.1<br>
.......<br>
 <br>
DELETE /recording/filename HTTP/1.1<br>
.......<br>
<br>
So you can download the recording (if exists) and delete it when no longer need it.<br>
If I require to implement the same thing on fpWeb, it actually takes more code because there is no separation of any kind.<br>
<br>
At the moment I wish to create a CRUD engine in fpWeb (and keep it open source) that had a layer above databases, so you do not provide direct access to the<br>
database, but you provide access to the data, like a Proxy, but in HTTP, so instead of using SQL (for example) you use JSON, and instead of using Pg, Fb,<br>
MySQL, SQLite etc... it is agnostic, and you control what user can do what type of access and action etc... <br>
</blockquote>
<br></div>
This is all understood.<br>
<br>
But Ludo is right in that a REST implementation is more than just routing the HTTP method :-)<br></blockquote><div><br></div><div>Yes, but here we are talking about CGI "engine" with a class that help you to create a better support for REST, and that Class have a name that indicate that it help to do exactly that.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font color="#888888">
<br>
Michael.</font><br>_______________________________________________<br>
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a><br></blockquote></div><br></div>