Hmpf. I have got the Tomcat PUT problem also. def statefulDispatchTable: LiftRules.DispatchPF = { ... case r...@req(List("api", "foo"), "", PutRequest) => () => update(req) ... }
def update(req: Req): LiftResponse = { for (name <- req.paramNames) { Log.info(name) Log.info(req.param(name).openOr("empty")) } ... } On Jetty: 209467 [736850...@qtp-566947760-0] INFO lift - param 209467 [736850...@qtp-566947760-0] INFO lift - value 209476 [736850...@qtp-566947760-0] INFO lift - Service request (PUT) /api/foo took 17 Milliseconds curl -v -X PUT -d "param=value" -b JSESSIONID=v7a6qye5zusv http://localhost:8080/api/foo * About to connect() to localhost port 8080 (#0) * Trying ::1... connected * Connected to localhost (::1) port 8080 (#0) > PUT /api/foo HTTP/1.1 > User-Agent: curl/7.19.5 (x86_64-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8g > zlib/1.2.3.3 libidn/1.15 > Host: localhost:8080 > Accept: */* > Cookie: JSESSIONID=v7a6qye5zusv > Content-Length: 49 > Content-Type: application/x-www-form-urlencoded > < HTTP/1.1 200 OK < Content-Length: 0 < Content-Type: text/html; charset=utf-8 < X-Lift-Version: 2.0-M1 < Server: Jetty(6.1.22) < * Connection #0 to host localhost left intact * Closing connection #0 On Tomcat: 170570 [http-8080-2] INFO lift - Service request (PUT) /api/foo took 12 Milliseconds curl -v -X PUT -d "param=value" -b JSESSIONID=68EE8A10FFBC2E5383FB9FD2821CF0E1 http://localhost:8080/myserver/api/foo * About to connect() to localhost port 8080 (#0) * Trying ::1... connected * Connected to localhost (::1) port 8080 (#0) > PUT /api/foo HTTP/1.1 > User-Agent: curl/7.19.5 (x86_64-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8g > zlib/1.2.3.3 libidn/1.15 > Host: localhost:8080 > Accept: */* > Cookie: JSESSIONID=68EE8A10FFBC2E5383FB9FD2821CF0E1 > Content-Length: 49 > Content-Type: application/x-www-form-urlencoded > < HTTP/1.1 200 OK < Server: Apache-Coyote/1.1 < X-Lift-Version: 2.0-M1 < Content-Type: text/html;charset=utf-8 < Content-Length: 0 < Date: Fri, 05 Feb 2010 16:28:23 GMT < * Connection #0 to host localhost left intact * Closing connection #0 On Feb 4, 10:47 pm, David Pollak <feeder.of.the.be...@gmail.com> wrote: > Sounds to me like a Tomcat issue... I think we're relying on the container > to parse the body correctly. > > > > On Wed, Feb 3, 2010 at 9:15 PM, <c...@munat.com> wrote: > > It's POST vs. PUT. I'm using AJAX, so I can do PUTs. > > > The two are identical, except: > > > POST instead of PUT > > > The POST version includes: > > > Pragma: no-cache > > Cache-Control: no-cache > > > which the PUT does not. In other words, the headers are identical except > > for the above. > > > In Jetty, no problem. In Tomcat, the params are ignored. They do not show > > up in S.params. At all. > > > I can't imagine that this is a Lift issue, unless Tomcat makes params > > available differently for PUTs than for POSTs, but Jetty does not, and I'm > > the first guy to do PUTs to Lift on Tomcat. But I've emailed the Tomcat > > users list and we'll see if it's something simple. If not, I'll put > > something on GitHub. > > > Chas. > > > > Is it a POST or a GET? > > > > On Wed, Feb 3, 2010 at 11:44 PM, <c...@munat.com> wrote: > > > >> Thanks, David. > > > >> That's a non-trivial exercise for me, so let me chase down another lead > > >> at > > >> the moment. If that proves fruitless, I'll bite the bullet and get > > >> something up on GitHub. > > > >> Chas. > > > >> > Please put together a reproduceable example on GitHub (works in Jetty, > > >> > doesn't work in Tomcat) and we'll look at it. > > > >> > On Wed, Feb 3, 2010 at 11:48 AM, <c...@munat.com> wrote: > > > >> >> I have a lift app that works perfectly when I use mvn jetty:run. Then > > >> I > > >> >> package it into a war and load it up in Tomcat 6 on the server, and > > >> when > > >> >> I > > >> >> do, suddenly it won't work. > > > >> >> The issue is with the S.params. I have a form that submits via an > > >> Ajax > > >> >> PUT > > >> >> request. The params are sent in the header just fine. As I said, > > >> works > > >> >> like a charm on Jetty. But when it gets to Tomcat, the entity is > > >> saved > > >> >> with blank attributes... i.e., everything worked but the > > >> >> S.param("whatever") showed up blank. I tested this by doing > > >> >> S.param("whatever").openOr("Phooey") and, indeed, that attribute was > > >> set > > >> >> to "Phooey" on the new entity. > > > >> >> Tomcat issue? Or am I missing something obvious? This form is running > > >> on > > >> >> a > > >> >> subdomain, so that's where I'm looking now (in server.xml). > > > >> >> TIA, > > >> >> Chas. > > > >> >> -- > > >> >> 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> > > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > > > >> <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > > <liftweb%252bunsubscr...@googlegroups.com<liftweb%25252bunsubscr...@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<liftweb%2bunsubscr...@googlegroups.com> > > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@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<liftweb%2bunsubscr...@googlegroups.com> > > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@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<liftweb%2bunsubscr...@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<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.