Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: RFC: REST.pm

by t'mo (Pilgrim)
on Nov 03, 2007 at 03:15 UTC ( [id://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 } # ... }

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://648755]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (4)
As of 2024-04-25 07:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found