[web-devel] Type-safe URL handling
Michael Snoyman
michael at snoyman.com
Thu Apr 1 17:27:02 EDT 2010
On Thu, Apr 1, 2010 at 12:13 PM, Jeremy Shaw <jeremy at n-heptane.com> wrote:
> On Thu, Apr 1, 2010 at 12:19 PM, Michael Snoyman <michael at snoyman.com>wrote:
>
>> Minor update: I think that YAML syntax for these kinds of routes is a
>> little bit verbose; any thoughts on this syntax:
>>
>> / Home GET
>> /user/#userid User GET PUT DELETE
>> /static Static StaticRoutes staticRoutes
>> /foo/*slurp Foo
>> /bar/$barparam Bar
>>
>> First column is the pattern, second is the constructor name, and after
>> that you have three possibilities:
>>
>> Nothing is a handler function for any request method. Above, the fourth
>> and fifth entries.
>> A list of request methods will allow a handler function for each request
>> method. Above, the first and second entries.
>> A datatype and function name, allowing a subsite datatype and subsite
>> function. Above,the third entry. I'll need to develop this one a bit more.
>>
>
> How would this pattern be translated to the new scheme ?
>
> /entries/$entryId/$filename:
> GET: media
>
> I am guessing:
>
> /entries/$entryId/$filename Media GET
>
> And the Media constructor would be:
>
> | Media String String
>
> ?
>
> - jeremy
>
> /entries/$entryId/$filename:
>
>
Exactly, with the dispatch function being:
getMedia :: String -> String -> Application
(Actually, there's most likely going to be some type of argument datatype as
well, which is where the complication I alluded to with subsites comes from.
However, I'll address this more clearly when there's some actual code to
back it up.)
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/web-devel/attachments/20100401/2d0a2496/attachment-0001.html
More information about the web-devel
mailing list