That sounds reasonable. Here are a few things:

1) I almost exclusively use formlets, where these issues are basically
taken care of. I suggest checking them out.

2) Would it be good for the request struct to be a prop:dict where the
dictionary is the bindings? Would that be confusing because it is also
plausible to "dictionary" on the headers?

3) Part of what you want is just request-bindings, but
request-bindings has lots of subtle bugs. For example, HTTP does not
mandate UTF-8, so naive conversion to Racket strings can crash. HTTP
differentiates between form bindings and file bindings---for files you
definitely want the bytes and you should also be able to get the
filename.

4) The docs are in web-server/scribblings/http.scrbl; The tests are in
tests/web-server/private/request-test.rkt and
tests/web-server/servlet/bindings-test.rkt

Jay

2011/3/4 John Clements <cleme...@brinckerhoff.org>:
> I'm doing a web-server/insta example in class, and one of my students (Arlo 
> White, cc:'ed) pointed out that  the existing framework for extracting 
> bindings seems to be missing a bunch of useful functions. In particular, he 
> volunteered to implement a few of the functions from the Spring framework, 
> most notably a function that accepts a request and a name and returns the 
> string associated with that name in the request's bindings.  Like hash-ref, 
> it would allow you to specify your own failure behavior.
>
> I've run into this myself, and it's always a pain to operate on the request 
> structures.  Would you be open to adding a few functions like this to the 
> web-server (if we provide them, along with docs and tests)? Looking at the 
> documentation, it appears that there's some cleanup that just never made it 
> to the top of someone's list.
>
> John
>
>



-- 
Jay McCarthy <j...@cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93

_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev

Reply via email to