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.

Reply via email to