Ah yes - keep forgetting one day we'll have netty et al providers! Interested to see what you come up with Marius
Cheers, Tim On 8 Feb 2010, at 19:23, Marius wrote: > I think it worth to add this support even if servlet API is a little > weird sometimes but Lift HTTP API could provide a nicer support. > Furthermore such Lift API support would be handy for non JEE > containers therefore I'd vote for it. > > Erkky would you please open a defect (https://www.assembla.com/spaces/ > liftweb/tickets) and assign it to me ? > > Br's, > Marius > > On 8 feb., 21:08, David Pollak <feeder.of.the.be...@gmail.com> wrote: >> I think this issue rests with Marius. He's done most of the interface >> between Lift and the servlet containers. Let's see what he has to say. >> >> >> >> >> >> On Sun, Feb 7, 2010 at 2:47 PM, Erkki Lindpere <vill...@gmail.com> wrote: >>> Ok. The feature is not really that important for me, just something >>> that would be nice to have. I think some hack could be made with >>> sendError(int, String) and web.xml config, but that would be worse >>> than using the deprecated method. >> >>> Erkki L >> >>> On Feb 7, 11:20 pm, Timothy Perrett <timo...@getintheloop.eu> wrote: >>>> I agree Ross... I would be very reluctant to have Lift rely on some >>> deprecated method in the servlet spec - even if it is in servlet 3.0. >> >>>> Cheers, Tim >> >>>> On 7 Feb 2010, at 20:48, Ross Mellgren wrote: >> >>>>> Yeah you're very correct. It's unfortunate, but I think since it's >>> deprecated in the container we should probably not add support for it. I >>> can't believe they deprecated it for the reason they did, but there it is. >> >>>>> -Ross >> >>>>> On Feb 7, 2010, at 8:16 AM, Erkki Lindpere wrote: >> >>>>>> Actually, the reason phrase is not a normal HTTP header, but part of >>>>>> the status line: >>>>>> http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1 >> >>>>>> Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF >> >>>>>> Examples: >>>>>> HTTP/1.1 200 OK >>>>>> HTTP/1.1 404 The user with id 8 does not exist >> >>>>>> The only way of setting this in Java Servlets as far as I know is >>>>>> through HttpServletResponse.setStatus(int, String), which >>>>>> unfortunately is deprecated. A non-deprecated possibility is >>>>>> sendError(int, String), but that goes to the container's default error >>>>>> page (or the one defined in web.xml, I think) so it's not exactly what >>>>>> I would like. >> >>>>>> Also, I checked that FireBug actually does display the custom reason >>>>>> phrase, but Chrome displays the standard one instead. >> >>>>>> Erkki L >> >>>>>> On Feb 7, 1:08 pm, Timothy Perrett <timo...@getintheloop.eu> wrote: >>>>>>> If you want to alter the Reason-Phrase, you can already do that - >>> objects like NotFoundResponse are just helpers on InMemoryResponse... >>> nothing stopping you adding your own helpers that set headers with >>> customised reason codes; this should give you what you what. I haven't >>> managed to find an RFC that lists reason-phrase as anything but a particular >>> header in the HTTP response. >> >>>>>>> Moreover, its not the wrong thing to return a plain text response if >>> the request mime was text/plain... indeed, it would be even less helpful if >>> it returned JSON or such. IMHO, the response type should match what was >>> asked for by the caller - i.e. its an implementation issue not a framework >>> level issue. >> >>>>>>> Tim >> >>>>>>> On 6 Feb 2010, at 21:55, Erkki Lindpere wrote: >> >>>>>>>> The NotFoundResponse (and others) puts the custom message into the >>>>>>>> request body. That works as well, but to be really lean (mainly for >>>>>>>> bragging rights :)) I'd like to remove any unnecessary elements from >>>>>>>> the rest api. Most of the error messages are going to be simple one- >>>>>>>> line messages (and short sentences). For some errors I might provide >>> a >>>>>>>> detailed response and it could go into the body, as XML/JSON/... >>>>>>>> That's inconsistent if the other errors have a plain text message in >>>>>>>> the body. >>>>>>>> So I could either go with structured details for all messages or in >>>>>>>> simple cases use the HTTP headers or status line. A custom header >>>>>>>> would work, but the status line is standard and also more easily >>>>>>>> accessed with some client libraries. >> >>>>>>>> And last but perhaps not least, for debugging purposes, the HTTP >>>>>>>> Reason Code should show up better in web developer tools (for >>> example >>>>>>>> FireBug, Chrome's tools). My web UI also goes through the REST API >>> so >>>>>>>> it would be nice to read error messages right in the listing in >>>>>>>> firebug's net panel. >> >>>>>>>> So I'm suggesting that perhaps Lift would like to provide only the >>>>>>>> possibility of changing that value in user code. But I completely >>>>>>>> understand if it doesn't. Currently it doesn't seem to be supported >>> in >>>>>>>> Lift's http.provider package and even in javax.servlet the >>>>>>>> setStatus(int, String) method is deprecated (I'm not sure if >>>>>>>> sendError(int, String) uses the reason phrase). >> >>>>>>>> Erkki L >> >>>>>>>> On Feb 6, 9:59 pm, Ross Mellgren <dri...@gmail.com> wrote: >>>>>>>>> I think it would be fine to have different text there, probably >>> better than having the standard text if you have refined detail. I don't >>> think it'd be a good idea to conditionalize on the response text in client >>> code - that's always fragile. If you want to give additional >>> machine-readable detail, I'd put it in a response header or in the body as a >>> JSON or XML field or what have you. >> >>>>>>>>> You can specify custom text there, but you may have to sidestep the >>> usual response classes, depending on which one. The one you gave, not found, >>> can have the message customized though, just do new NotFoundResponse("the >>> message"). >> >>>>>>>>> -Ross >> >>>>>>>>> On Feb 6, 2010, at 2:52 PM, Erkki Lindpere wrote: >> >>>>>>>>>> It seems Lift does not support custom HTTP Reason Phrases in >>>>>>>>>> responses. I would like to send error messages in the Reason >>> Phrase >>>>>>>>>> (along with a vaguely applicable HTTP status code) in a RESTful >>> API >>>>>>>>>> I'm providing. My understanding of the HTTP spec is that the >>> reason >>>>>>>>>> phrase is meant to be human readable and does not have to contain >>> the >>>>>>>>>> recommended messages (i.e. "Not Found"). >> >>>>>>>>>> But maybe it would not be wise to do this? I'm not actually aware >>> of >>>>>>>>>> any API-s that send error messages in the Reason Phrase. >> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the Google >>> Groups "Lift" group. >>>>>>>>>> To post to this group, send email to lift...@googlegroups.com. >>>>>>>>>> To unsubscribe from this group, send email to >>> liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com >>> > >>> . >>>>>>>>>> For more options, visit this group athttp:// >>> groups.google.com/group/liftweb?hl=en. >> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>> Groups "Lift" group. >>>>>>>> To post to this group, send email to lift...@googlegroups.com. >>>>>>>> To unsubscribe from this group, send email to >>> liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com >>> > >>> . >>>>>>>> For more options, visit this group athttp:// >>> groups.google.com/group/liftweb?hl=en. >> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>> Groups "Lift" group. >>>>>> To post to this group, send email to lift...@googlegroups.com. >>>>>> To unsubscribe from this group, send email to >>> liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com >>> > >>> . >>>>>> For more options, visit this group athttp:// >>> groups.google.com/group/liftweb?hl=en. >> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>> Groups "Lift" group. >>>>> To post to this group, send email to lift...@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>> liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com >>> > >>> . >>>>> For more options, visit this group athttp:// >>> groups.google.com/group/liftweb?hl=en. >> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Lift" group. >>> To post to this group, send email to lift...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com >>> > >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/liftweb?hl=en. >> >> -- >> Lift, the simply functional web frameworkhttp://liftweb.net >> Beginning Scalahttp://www.apress.com/book/view/1430219890 >> Follow me:http://twitter.com/dpp >> Surf the harmonics > > -- > You received this message because you are subscribed to the Google Groups > "Lift" group. > To post to this group, send email to lift...@googlegroups.com. > To unsubscribe from this group, send email to > liftweb+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/liftweb?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to lift...@googlegroups.com. To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.