uWebSockets
uWebSockets copied to clipboard
HttpRequest::getMethod modifies request
I was testing HelloWorld example with io_uring backend and found out that the server sometimes(quite often actually) calls any("/") route rather than get("/") route even though req->getMethod() returns "get" within that any() route. test command: ./wrk -t 8 -c 1000 -d 10s http://localhost:3000/foo I found out that's because req->getMethod() modifies the method to lowercase and next calls to req->getCaseSensitiveMethod() returns lowercase as well. That in turn confuses the router. I don't know what calls req->getMethod() before route, but it's happening. Changing this req->getMethod() to return cache rather than modifying this->headers fixes that issue.
Also, I couldn't reproduce it with epoll backend.