From c32767a8798f98f533744ff3e178731b4dede1ee Mon Sep 17 00:00:00 2001 From: Karen Etheridge Date: Mon, 6 Oct 2025 15:52:10 -0700 Subject: [PATCH] Both HTTP method and query can have a value of '0' The Method ABNF is in https://datatracker.ietf.org/doc/html/rfc9110#appendix-A and is equivalent to the regex: ^[a-zA-Z0-9!#$%&'*+.^_`|~-]+$ --- lib/Mojo/Message/Request.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Mojo/Message/Request.pm b/lib/Mojo/Message/Request.pm index 1e1dd67ee7..f22b915fe5 100644 --- a/lib/Mojo/Message/Request.pm +++ b/lib/Mojo/Message/Request.pm @@ -176,10 +176,10 @@ sub _parse_env { $headers->content_length($env->{CONTENT_LENGTH}) if $env->{CONTENT_LENGTH}; # Query - $url->query->parse($env->{QUERY_STRING}) if $env->{QUERY_STRING}; + $url->query->parse($env->{QUERY_STRING}) if length $env->{QUERY_STRING}; # Method - $self->method($env->{REQUEST_METHOD}) if $env->{REQUEST_METHOD}; + $self->method($env->{REQUEST_METHOD}) if defined $env->{REQUEST_METHOD}; # Scheme/Version $base->scheme($1) and $self->version($2) if ($env->{SERVER_PROTOCOL} // '') =~ m!^([^/]+)/([^/]+)$!;