Created
December 27, 2013 15:33
-
-
Save pjb3/8148631 to your computer and use it in GitHub Desktop.
Why don't Firefox, Chrome or Safari support passing HTTP Basic Auth user/pass in the URL the way cURL does? I am running the rack server with the rackup command. In all of these requests, I am loading the URL http://user:pass@localhost:9292. In the output, you can tell which client is used for each request from the user agent header. I tried cur…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'json' | |
run -> (env) { | |
body = JSON.pretty_generate(env) + "\n" | |
puts body | |
[ 200, { 'Content-Type' => 'application/json', | |
'Content-Length' => body.length.to_s }, [body] ] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ rackup | |
>> Thin web server (v1.5.1 codename Straight Razor) | |
>> Maximum connections set to 1024 | |
>> Listening on 0.0.0.0:9292, CTRL+C to stop | |
{ | |
"SERVER_SOFTWARE": "thin 1.5.1 codename Straight Razor", | |
"SERVER_NAME": "localhost", | |
"rack.input": "#<Rack::Lint::InputWrapper:0x007ff3826a9528>", | |
"rack.version": [ | |
1, | |
0 | |
], | |
"rack.errors": "#<Rack::Lint::ErrorWrapper:0x007ff3826a94b0>", | |
"rack.multithread": false, | |
"rack.multiprocess": false, | |
"rack.run_once": false, | |
"REQUEST_METHOD": "GET", | |
"REQUEST_PATH": "/", | |
"PATH_INFO": "/", | |
"REQUEST_URI": "/", | |
"HTTP_VERSION": "HTTP/1.1", | |
"HTTP_AUTHORIZATION": "Basic dXNlcjpwYXNz", | |
"HTTP_USER_AGENT": "curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5", | |
"HTTP_HOST": "localhost:9292", | |
"HTTP_ACCEPT": "*/*", | |
"GATEWAY_INTERFACE": "CGI/1.2", | |
"SERVER_PORT": "9292", | |
"QUERY_STRING": "", | |
"SERVER_PROTOCOL": "HTTP/1.1", | |
"rack.url_scheme": "http", | |
"SCRIPT_NAME": "", | |
"REMOTE_ADDR": "127.0.0.1", | |
"async.callback": "#<Method: Thin::Connection#post_process>", | |
"async.close": "#<EventMachine::DefaultDeferrable:0x007ff3826a0e28>" | |
} | |
127.0.0.1 - - [27/Dec/2013 10:27:46] "GET / HTTP/1.1" 200 1002 0.0009 | |
{ | |
"SERVER_SOFTWARE": "thin 1.5.1 codename Straight Razor", | |
"SERVER_NAME": "localhost", | |
"rack.input": "#<Rack::Lint::InputWrapper:0x007ff3826ba2d8>", | |
"rack.version": [ | |
1, | |
0 | |
], | |
"rack.errors": "#<Rack::Lint::ErrorWrapper:0x007ff3826ba260>", | |
"rack.multithread": false, | |
"rack.multiprocess": false, | |
"rack.run_once": false, | |
"REQUEST_METHOD": "GET", | |
"REQUEST_PATH": "/", | |
"PATH_INFO": "/", | |
"REQUEST_URI": "/", | |
"HTTP_VERSION": "HTTP/1.1", | |
"HTTP_HOST": "localhost:9292", | |
"HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0", | |
"HTTP_ACCEPT": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", | |
"HTTP_ACCEPT_LANGUAGE": "en-US,en;q=0.5", | |
"HTTP_ACCEPT_ENCODING": "gzip, deflate", | |
"HTTP_CONNECTION": "keep-alive", | |
"GATEWAY_INTERFACE": "CGI/1.2", | |
"SERVER_PORT": "9292", | |
"QUERY_STRING": "", | |
"SERVER_PROTOCOL": "HTTP/1.1", | |
"rack.url_scheme": "http", | |
"SCRIPT_NAME": "", | |
"REMOTE_ADDR": "127.0.0.1", | |
"async.callback": "#<Method: Thin::Connection#post_process>", | |
"async.close": "#<EventMachine::DefaultDeferrable:0x007ff3826b1d18>" | |
} | |
127.0.0.1 - - [27/Dec/2013 10:28:00] "GET / HTTP/1.1" 200 1141 0.0007 | |
{ | |
"SERVER_SOFTWARE": "thin 1.5.1 codename Straight Razor", | |
"SERVER_NAME": "localhost", | |
"rack.input": "#<Rack::Lint::InputWrapper:0x007ff3826cade0>", | |
"rack.version": [ | |
1, | |
0 | |
], | |
"rack.errors": "#<Rack::Lint::ErrorWrapper:0x007ff3826cad68>", | |
"rack.multithread": false, | |
"rack.multiprocess": false, | |
"rack.run_once": false, | |
"REQUEST_METHOD": "GET", | |
"REQUEST_PATH": "/", | |
"PATH_INFO": "/", | |
"REQUEST_URI": "/", | |
"HTTP_VERSION": "HTTP/1.1", | |
"HTTP_HOST": "localhost:9292", | |
"HTTP_CONNECTION": "keep-alive", | |
"HTTP_ACCEPT": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", | |
"HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36", | |
"HTTP_ACCEPT_ENCODING": "gzip,deflate,sdch", | |
"HTTP_ACCEPT_LANGUAGE": "en-US,en;q=0.8,da;q=0.6,fr;q=0.4", | |
"GATEWAY_INTERFACE": "CGI/1.2", | |
"SERVER_PORT": "9292", | |
"QUERY_STRING": "", | |
"SERVER_PROTOCOL": "HTTP/1.1", | |
"rack.url_scheme": "http", | |
"SCRIPT_NAME": "", | |
"REMOTE_ADDR": "127.0.0.1", | |
"async.callback": "#<Method: Thin::Connection#post_process>", | |
"async.close": "#<EventMachine::DefaultDeferrable:0x007ff3826c2820>" | |
} | |
127.0.0.1 - - [27/Dec/2013 10:28:17] "GET / HTTP/1.1" 200 1212 0.0007 | |
{ | |
"SERVER_SOFTWARE": "thin 1.5.1 codename Straight Razor", | |
"SERVER_NAME": "localhost", | |
"rack.input": "#<Rack::Lint::InputWrapper:0x007ff3826dbde8>", | |
"rack.version": [ | |
1, | |
0 | |
], | |
"rack.errors": "#<Rack::Lint::ErrorWrapper:0x007ff3826dbd70>", | |
"rack.multithread": false, | |
"rack.multiprocess": false, | |
"rack.run_once": false, | |
"REQUEST_METHOD": "GET", | |
"REQUEST_PATH": "/favicon.ico", | |
"PATH_INFO": "/favicon.ico", | |
"REQUEST_URI": "/favicon.ico", | |
"HTTP_VERSION": "HTTP/1.1", | |
"HTTP_HOST": "localhost:9292", | |
"HTTP_CONNECTION": "keep-alive", | |
"HTTP_ACCEPT": "*/*", | |
"HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36", | |
"HTTP_ACCEPT_ENCODING": "gzip,deflate,sdch", | |
"HTTP_ACCEPT_LANGUAGE": "en-US,en;q=0.8,da;q=0.6,fr;q=0.4", | |
"GATEWAY_INTERFACE": "CGI/1.2", | |
"SERVER_PORT": "9292", | |
"QUERY_STRING": "", | |
"SERVER_PROTOCOL": "HTTP/1.1", | |
"rack.url_scheme": "http", | |
"SCRIPT_NAME": "", | |
"REMOTE_ADDR": "127.0.0.1", | |
"async.callback": "#<Method: Thin::Connection#post_process>", | |
"async.close": "#<EventMachine::DefaultDeferrable:0x007ff3826d3828>" | |
} | |
127.0.0.1 - - [27/Dec/2013 10:28:17] "GET /favicon.ico HTTP/1.1" 200 1174 0.0006 | |
{ | |
"SERVER_SOFTWARE": "thin 1.5.1 codename Straight Razor", | |
"SERVER_NAME": "localhost", | |
"rack.input": "#<Rack::Lint::InputWrapper:0x007ff3826e0e88>", | |
"rack.version": [ | |
1, | |
0 | |
], | |
"rack.errors": "#<Rack::Lint::ErrorWrapper:0x007ff3826e0e10>", | |
"rack.multithread": false, | |
"rack.multiprocess": false, | |
"rack.run_once": false, | |
"REQUEST_METHOD": "GET", | |
"REQUEST_PATH": "/favicon.ico", | |
"PATH_INFO": "/favicon.ico", | |
"REQUEST_URI": "/favicon.ico", | |
"HTTP_VERSION": "HTTP/1.1", | |
"HTTP_HOST": "localhost:9292", | |
"HTTP_CONNECTION": "keep-alive", | |
"HTTP_ACCEPT": "*/*", | |
"HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36", | |
"HTTP_ACCEPT_ENCODING": "gzip,deflate,sdch", | |
"HTTP_ACCEPT_LANGUAGE": "en-US,en;q=0.8,da;q=0.6,fr;q=0.4", | |
"GATEWAY_INTERFACE": "CGI/1.2", | |
"SERVER_PORT": "9292", | |
"QUERY_STRING": "", | |
"SERVER_PROTOCOL": "HTTP/1.1", | |
"rack.url_scheme": "http", | |
"SCRIPT_NAME": "", | |
"REMOTE_ADDR": "127.0.0.1", | |
"async.callback": "#<Method: Thin::Connection#post_process>", | |
"async.close": "#<EventMachine::DefaultDeferrable:0x007ff3826d88c8>" | |
} | |
127.0.0.1 - - [27/Dec/2013 10:28:17] "GET /favicon.ico HTTP/1.1" 200 1174 0.0006 | |
{ | |
"SERVER_SOFTWARE": "thin 1.5.1 codename Straight Razor", | |
"SERVER_NAME": "localhost", | |
"rack.input": "#<Rack::Lint::InputWrapper:0x007ff3826f1c10>", | |
"rack.version": [ | |
1, | |
0 | |
], | |
"rack.errors": "#<Rack::Lint::ErrorWrapper:0x007ff3826f1b98>", | |
"rack.multithread": false, | |
"rack.multiprocess": false, | |
"rack.run_once": false, | |
"REQUEST_METHOD": "GET", | |
"REQUEST_PATH": "/", | |
"PATH_INFO": "/", | |
"REQUEST_URI": "/", | |
"HTTP_VERSION": "HTTP/1.1", | |
"HTTP_HOST": "localhost:9292", | |
"HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/6.1.1 Safari/537.73.11", | |
"HTTP_ACCEPT": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", | |
"HTTP_ACCEPT_LANGUAGE": "en-us", | |
"HTTP_ACCEPT_ENCODING": "gzip, deflate", | |
"HTTP_CONNECTION": "keep-alive", | |
"GATEWAY_INTERFACE": "CGI/1.2", | |
"SERVER_PORT": "9292", | |
"QUERY_STRING": "", | |
"SERVER_PROTOCOL": "HTTP/1.1", | |
"rack.url_scheme": "http", | |
"SCRIPT_NAME": "", | |
"REMOTE_ADDR": "127.0.0.1", | |
"async.callback": "#<Method: Thin::Connection#post_process>", | |
"async.close": "#<EventMachine::DefaultDeferrable:0x007ff3826e9650>" | |
} | |
127.0.0.1 - - [27/Dec/2013 10:28:36] "GET / HTTP/1.1" 200 1170 0.0010 | |
{ | |
"SERVER_SOFTWARE": "thin 1.5.1 codename Straight Razor", | |
"SERVER_NAME": "localhost", | |
"rack.input": "#<Rack::Lint::InputWrapper:0x007ff382702808>", | |
"rack.version": [ | |
1, | |
0 | |
], | |
"rack.errors": "#<Rack::Lint::ErrorWrapper:0x007ff382702790>", | |
"rack.multithread": false, | |
"rack.multiprocess": false, | |
"rack.run_once": false, | |
"REQUEST_METHOD": "GET", | |
"REQUEST_PATH": "/favicon.ico", | |
"PATH_INFO": "/favicon.ico", | |
"REQUEST_URI": "/favicon.ico", | |
"HTTP_VERSION": "HTTP/1.1", | |
"HTTP_HOST": "localhost:9292", | |
"HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/6.1.1 Safari/537.73.11", | |
"HTTP_ACCEPT": "*/*", | |
"HTTP_REFERER": "http://localhost:9292/", | |
"HTTP_ACCEPT_LANGUAGE": "en-us", | |
"HTTP_ACCEPT_ENCODING": "gzip, deflate", | |
"HTTP_CONNECTION": "keep-alive", | |
"GATEWAY_INTERFACE": "CGI/1.2", | |
"SERVER_PORT": "9292", | |
"QUERY_STRING": "", | |
"SERVER_PROTOCOL": "HTTP/1.1", | |
"rack.url_scheme": "http", | |
"SCRIPT_NAME": "", | |
"REMOTE_ADDR": "127.0.0.1", | |
"async.callback": "#<Method: Thin::Connection#post_process>", | |
"async.close": "#<EventMachine::DefaultDeferrable:0x007ff3826fa388>" | |
} | |
127.0.0.1 - - [27/Dec/2013 10:28:36] "GET /favicon.ico HTTP/1.1" 200 1187 0.0007 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment