node.native icon indicating copy to clipboard operation
node.native copied to clipboard

How to get HTTP verb? (GET, POST, PUT, HEAD, PATCH)

Open SamuelMarks opened this issue 10 years ago • 4 comments

The closest I've gotten is the header output (https://github.com/SamuelMarks/node.native/blob/master/routes.h#L54):

$ http localhost:8080/headers
HTTP/1.1 200 OK
Content-Length: 141
Content-Type: application/json

{
    "headers": [
        {
            "Accept": "*/*"
        }, 
        {
            "Accept-Encoding": "gzip, deflate, compress"
        }, 
        {
            "Host": "localhost:8080"
        }, 
        {
            "User-Agent": "HTTPie/0.8.0"
        }
    ]
}

How do I get the HTTP verb?

SamuelMarks avatar Apr 09 '14 11:04 SamuelMarks

Hi there.

My fork of node.native adds the ability to get the HTTP body (the body of your POST).

I think you could get the HTTP method by adding code in client_context::parse which will get the method from the http_parser - this has a method attribute which is set in http_parser_execute(). http_parser is one of node.native's submodules.

Cheers,

Seb

sebjameswml avatar Apr 09 '14 12:04 sebjameswml

Hi Samuel, how did you get on with this one?

sebjameswml avatar Apr 13 '14 13:04 sebjameswml

Didn't get around to it; TBH: I have moved away from C++ now for my web development, namely due to:

  • Segfault when using JSON() in routes.h
  • Linker errors when separating routes.h into routes.h and routes.cc
  • No built-in access to HTTP verbs
  • CMake build not included

SamuelMarks avatar Apr 13 '14 15:04 SamuelMarks

Fair enough - you have to do a bit of hacking to use node.native, and that won't appeal to everyone. If you could close this issue, that'd be good.

sebjameswml avatar Apr 13 '14 21:04 sebjameswml