Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: RFC: REST.pm

by t'mo (Pilgrim)
on Nov 03, 2007 at 03:15 UTC ( #648755=note: print w/ replies, xml ) Need Help??


in reply to Re: RFC: REST.pm
in thread RFC: REST.pm

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 } # ... }


Comment on Re^2: RFC: REST.pm
Download Code
Re^3: RFC: REST.pm
by Anonymous Monk on Nov 03, 2007 at 04:08 UTC

    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. :)

Re^3: RFC: REST.pm
by Anonymous Monk on Nov 16, 2007 at 17:47 UTC
    "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
Node Status?
node history
Node Type: note [id://648755]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2014-08-29 09:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (277 votes), past polls