mirror of
https://github.com/httpie/cli.git
synced 2025-08-13 23:49:57 +02:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
deeb7cbbac | |||
12f2fb4a92 | |||
489bd64295 | |||
2036337a53 | |||
36de166b28 |
@ -225,7 +225,7 @@ Before a pull requests is submitted, it's a good idea to run the existing suite
|
|||||||
Changelog
|
Changelog
|
||||||
---------
|
---------
|
||||||
|
|
||||||
* `0.2.3 <https://github.com/jkbr/httpie/compare/0.2.2...0.2.3>`_ (2012-06-24)
|
* `0.2.4 <https://github.com/jkbr/httpie/compare/0.2.2...0.2.4>`_ (2012-06-24)
|
||||||
* Unicode characters in prettified JSON now don't get escaped to improve readability.
|
* Unicode characters in prettified JSON now don't get escaped to improve readability.
|
||||||
* --auth now prompts for a password if only a username provided.
|
* --auth now prompts for a password if only a username provided.
|
||||||
* Added support for request payloads from a file path with automatic ``Content-Type`` (``http URL @/path``).
|
* Added support for request payloads from a file path with automatic ``Content-Type`` (``http URL @/path``).
|
||||||
|
@ -3,5 +3,5 @@ HTTPie - cURL for humans.
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
__author__ = 'Jakub Roztocil'
|
__author__ = 'Jakub Roztocil'
|
||||||
__version__ = '0.2.3'
|
__version__ = '0.2.4'
|
||||||
__licence__ = 'BSD'
|
__licence__ = 'BSD'
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import json
|
import json
|
||||||
|
|
||||||
import pygments
|
import pygments
|
||||||
@ -18,6 +19,8 @@ FORMATTER = (Terminal256Formatter
|
|||||||
if '256color' in os.environ.get('TERM', '')
|
if '256color' in os.environ.get('TERM', '')
|
||||||
else TerminalFormatter)
|
else TerminalFormatter)
|
||||||
|
|
||||||
|
application_content_type_re = re.compile(r'application/(.+\+)?(json|xml)$')
|
||||||
|
|
||||||
|
|
||||||
class PrettyHttp(object):
|
class PrettyHttp(object):
|
||||||
|
|
||||||
@ -33,12 +36,18 @@ class PrettyHttp(object):
|
|||||||
|
|
||||||
def body(self, content, content_type):
|
def body(self, content, content_type):
|
||||||
content_type = content_type.split(';')[0]
|
content_type = content_type.split(';')[0]
|
||||||
|
application_match = re.match(application_content_type_re, content_type)
|
||||||
|
if application_match:
|
||||||
|
# Strip vendor and extensions from Content-Type
|
||||||
|
vendor, extension = application_match.groups()
|
||||||
|
content_type = content_type.replace(vendor, u"")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
lexer = get_lexer_for_mimetype(content_type)
|
lexer = get_lexer_for_mimetype(content_type)
|
||||||
except ClassNotFound:
|
except ClassNotFound:
|
||||||
return content
|
return content
|
||||||
|
|
||||||
if content_type == 'application/json':
|
if content_type == "application/json":
|
||||||
try:
|
try:
|
||||||
# Indent and sort the JSON data.
|
# Indent and sort the JSON data.
|
||||||
content = json.dumps(json.loads(content),
|
content = json.dumps(json.loads(content),
|
||||||
|
Reference in New Issue
Block a user