diff -urp http-client.orig/http-client.scm http-client/http-client.scm --- http-client.orig/http-client.scm 2012-11-01 17:21:35.235798044 +0000 +++ http-client/http-client.scm 2012-11-01 17:23:42.023706895 +0000 @@ -497,6 +497,15 @@ (close-connection! con))))) (process-set-cookie! con (request-uri req) response) (case (response-code response) + ;; RFC 2616, Section 4.4: Any response which MUST NOT include a message body + ((204 304) + (cleanup! #f) + (http-client-error + 'send-request + (sprintf "Server Response: ~A ~A" + (response-code response) (response-reason response)) + (list (request-uri req) response) + 'unexpected-server-response)) ;; TODO: According to spec, we should provide the user with a choice ;; when it's not a GET or HEAD request... ((301 302 303 307)