Issue #54 Method suggestion proposal

This commit is contained in:
Vladimir Berkutov 2012-06-16 20:08:31 +04:00
parent e06c448a75
commit 78fff98712
3 changed files with 15 additions and 0 deletions

View File

@ -1,4 +1,5 @@
#!/usr/bin/env python
import re
import sys
import json
@ -40,6 +41,12 @@ def _get_response(parser, args, stdin, stdin_isatty):
# Form
args.headers['Content-Type'] = TYPE_FORM
if args.method is None and not args.items:
args.method = 'GET'
elif not re.match('^[a-zA-Z]+$', args.method):
args.items.insert(0, args.url)
args.method, args.url = 'POST', args.method
# Fire the request.
try:
credentials = None

View File

@ -171,6 +171,8 @@ parser.add_argument(
parser.add_argument(
'method', metavar='METHOD',
nargs='?',
default=None,
help=_('''
The HTTP method to be used for the request
(GET, POST, PUT, DELETE, PATCH, ...).

View File

@ -144,6 +144,12 @@ class TestHTTPie(BaseTest):
self.assertIn('"User-Agent": "HTTPie', response)
self.assertIn('"Foo": "bar"', response)
def test_get_suggestion(self):
http('http://httpbin.org/get')
def test_post_suggestion(self):
http('http://httpbin.org/post', 'hello=world')
class TestPrettyFlag(BaseTest):
"""Test the --pretty / --ugly flag handling."""