Skip to content
This repository has been archived by the owner on Jan 13, 2021. It is now read-only.

Commit

Permalink
Merge pull request #205 from pkrolikowski/development
Browse files Browse the repository at this point in the history
Enable override default headers from CLI
  • Loading branch information
Lukasa committed Feb 22, 2016
2 parents 6be7831 + e509c7a commit 7aa2201
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
9 changes: 8 additions & 1 deletion hyper/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,14 @@ def set_request_data(args):
body, headers, params = {}, {}, {}
for i in args.items:
if i.sep == SEP_HEADERS:
headers[i.key] = i.value
if i.key:
headers[i.key] = i.value
else:
# when overriding a HTTP/2 special header there will be a leading
# colon, which tricks the command line parser into thinking
# the header is empty
k, v = i.value.split(':', 1)
headers[':' + k] = v
elif i.sep == SEP_QUERY:
params[i.key] = i.value
elif i.sep == SEP_DATA:
Expand Down
9 changes: 9 additions & 0 deletions test/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,20 @@ def test_cli_with_system_exit(argv):
{'method': 'GET', 'url.path': '/?param=test'}),
(['POST', 'example.com', 'data=test'],
{'method': 'POST', 'body': '{"data": "test"}'}),
(['GET', 'example.com', ':authority:example.org'],
{'method': 'GET', 'headers': {
':authority': 'example.org'}}),
(['GET', 'example.com', ':authority:example.org', 'x-test:header'],
{'method': 'GET', 'headers': {
':authority': 'example.org',
'x-test':'header'}}),
], ids=[
'specified "--debug" option',
'specified host and additional header',
'specified host and get parameter',
'specified host and post data',
'specified host and override default header',
'specified host and override default header and additional header',
])
def test_parse_argument(argv, expected):
args = parse_argument(argv)
Expand Down

0 comments on commit 7aa2201

Please sign in to comment.