On Tue, Mar 29, 2011 at 01:19:55AM -0700, Jim Barrows wrote:
I have a uri "/my-uri", when a get request is made I want to return whatever information I have, and when a post request made, I want to update that information. I had thought that doing this:
(define-easy-handler(get-business :uri "/business" :default-request-type :get)() (with-html-output-to-string (*standard-output* nil :prologue nil :indent t) (format t "{"success":true, "data": ~a}" (encode-json-plist-to-string (business::find-business)))))
(define-easy-handler(post-business :uri "/business" :default-request-type :post) (business-name) (with-html-output-to-string( *standard-output* nil :prologue nil :indent t) (format t "post-business - ~a" business-name)))
would accomplish that. However, the second handler is always called, for the get and the post. I'm new to Lisp, and was wondering what I'm missing. Any help would be greatly appreciated.
I think you missunderstand the :default-request-type parameter. HT doesn't dispatch on the request type, that parameter only decides where form parameters are taken from (unfortunately, I must say. Writing REST applications would be much easier with a dispatch on request method and uri ...)
HTH Ralf Mattes
-- James A Barrows
tbnl-devel site list tbnl-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/tbnl-devel