Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: RFC: REST.pm

by Anonymous Monk
on Nov 02, 2007 at 13:53 UTC ( [id://648644]=note: print w/replies, xml ) Need Help??


in reply to RFC: REST.pm

Why don't you do a bunch of us a favor and define what "REST" means to you and in this context? There are lots of expansions to "REST" and some of the ones I've found don't seem to apply and some appear like they might apply and then there are the ones that I didn't find. So which one are you using above? Or did you define it somewhere and I just missed it?

Replies are listed 'Best First'.
Re^2: RFC: REST.pm
by t'mo (Pilgrim) on Nov 03, 2007 at 03:15 UTC

    No, I didn't define what I meant with "REST" elsewhere. I really had only two goals when starting this:

    1. Make "pretty" url's
    2. Have separate handlers for the HTTP verbs or methods

    The fact that I'm having trouble accomplishing #1 (i.e., unable to hack mod_rewrite sufficiently that index.pl is hidden, or even that it depends on mod_rewrite) is frustrating but minor. From the reading I've done on REST, handling the HTTP verbs differently is pretty important, and I think this approach does it pretty well.

    On the value of "pretty" url's, I've recently been thinking that having a url-mapping for functionality within a web application is a useful tool to organize the application.

    The biggest drawback I see with my implementation is the extra code you'd have to write (as opposed to "configure" in the url-mapping) to differentiate content-types, e.g.:

    # somewhere in a Renderer subclass... sub POST { my $self = shift; my $filename = $self->cgi->param('file'); my $type = $self->cgi->uploadInfo($filename)->{'Content-Type'}; if ( $type eq 'text/html' ) { # do something with the HTML } elsif ( $type eq 'image/gif' ) { # do something with the GIF } # ... }

      It is nice that you've done reading on REST. Perhaps you could enlighten us with some links to some of your favorite such readings... because perhaps one of the things you read would happen to define what "REST" is for the REST of us.

      Even just expanding the acronym "REST" (as you are using it) would be a small help. :)

      "The fact that I'm having trouble accomplishing #1 (i.e., unable to hack mod_rewrite sufficiently that index.pl is hidden, or even that it depends on mod_rewrite)"

      httpd.conf:
      ScriptAliasMatch /rest\b /path/to/index.pl
      http://somewhere.com/rest/candidate/4/vote/yes

      or:

      ScriptAliasMatch /candidate\b /path/to/index.pl
      http://somewhere.com/candidate/4/vote/yes

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://648644]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2024-04-18 21:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found