Hacker News new | ask | show | jobs
by mischanix 4251 days ago
It's simple enough to single out Heroku:

  $ cat <<EOF | nc example.herokuapp.com 80
  GET /test  HTTP/1.1
  
  EOF
  ----
  HTTP/1.1 505 HTTP Version Not Supported
2 comments

Your example fails with or without the whitespace. These work though:

Request

  printf 'GET / HTTP/1.1\r\nHost: example.herokuapp.com\r\n\r\n' |  nc example.herokuapp.com 80
Response

  HTTP/1.1 200 OK
  Connection: keep-alive
  Server: SimpleHTTP/0.6 Python/2.7.6
Request

  printf 'GET /  HTTP/1.1\r\nHost: example.herokuapp.com\r\n\r\n' |  nc example.herokuapp.com 80
Response

  HTTP/1.1 505 HTTP Version Not Supported
  Connection: close
  Server: Cowboy
Ah right, forgot about the newline specification. I guess, for reference, the smallest string I can come up with to get Cowboy to spit that error message is '\x20\x20\n'. Parsers are fun.