>The character-set you're referring to, is it US-ASCII? I am not particularly
>familiar with how Guile handles characters. If string-filter is not
>sufficient, can you suggest another method?
>
>For example, perhaps we need to go to where "str" is read and set the port
>encoding to US-ASCII.
(else (bad-request "Invalid method: ~a" (substring str start end)
Another problem with the old implementation – AFAICT, this does a “400 Bad
Request”. However, at least when the syntax/grammar/... is correct, it should
be a 501 instead.
>An origin server that receives a request
While I agree it has advantages, it is also buggy.
>From https://www.rfc-editor.org/rfc/rfc9110.html#name-methods:
* “the method token is case-sensitive”.
So, you need to remove ‘string-upcase’.
* Additional methods, outside the scope of this specification, have been
specified for use in
Hello, all.
Please consider the following code snippet from /module/web/http.scm:
(define* (parse-http-method str #:optional (start 0) (end (string-length
str)))
"Parse an HTTP method from STR. The result is an upper-case
symbol, like ‘GET’."
(cond
((string= str "GET" start end) 'GET)