mirror of
https://github.com/httpie/cli.git
synced 2025-06-21 18:11:30 +02:00
parent
d84d94dd55
commit
1481749c22
@ -7,10 +7,9 @@ TODO: make the options config friendly, i.e., no mutually exclusive groups to
|
|||||||
"""
|
"""
|
||||||
from argparse import FileType, OPTIONAL, ZERO_OR_MORE, SUPPRESS
|
from argparse import FileType, OPTIONAL, ZERO_OR_MORE, SUPPRESS
|
||||||
|
|
||||||
from requests.compat import is_windows
|
|
||||||
|
|
||||||
from . import __doc__
|
from . import __doc__
|
||||||
from . import __version__
|
from . import __version__
|
||||||
|
from .compat import is_windows
|
||||||
from .sessions import DEFAULT_SESSIONS_DIR
|
from .sessions import DEFAULT_SESSIONS_DIR
|
||||||
from .manage import session_name_validator
|
from .manage import session_name_validator
|
||||||
from .output import AVAILABLE_STYLES, DEFAULT_STYLE
|
from .output import AVAILABLE_STYLES, DEFAULT_STYLE
|
||||||
|
18
httpie/compat.py
Normal file
18
httpie/compat.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
"""
|
||||||
|
Python 2/3 compatibility.
|
||||||
|
|
||||||
|
"""
|
||||||
|
#noinspection PyUnresolvedReferences
|
||||||
|
from requests.compat import (
|
||||||
|
is_windows,
|
||||||
|
bytes,
|
||||||
|
str,
|
||||||
|
is_py3,
|
||||||
|
is_py26,
|
||||||
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
from urllib.parse import urlsplit
|
||||||
|
except ImportError:
|
||||||
|
from urlparse import urlsplit
|
||||||
|
|
@ -3,7 +3,7 @@ import json
|
|||||||
import errno
|
import errno
|
||||||
|
|
||||||
from . import __version__
|
from . import __version__
|
||||||
from requests.compat import is_windows
|
from .compat import is_windows
|
||||||
|
|
||||||
|
|
||||||
DEFAULT_CONFIG_DIR = os.environ.get(
|
DEFAULT_CONFIG_DIR = os.environ.get(
|
||||||
|
@ -14,12 +14,12 @@ import sys
|
|||||||
import errno
|
import errno
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from requests.compat import str, is_py3
|
|
||||||
from httpie import __version__ as httpie_version
|
from httpie import __version__ as httpie_version
|
||||||
from requests import __version__ as requests_version
|
from requests import __version__ as requests_version
|
||||||
from pygments import __version__ as pygments_version
|
from pygments import __version__ as pygments_version
|
||||||
|
|
||||||
from .cli import parser
|
from .cli import parser
|
||||||
|
from .compat import str, is_py3
|
||||||
from .client import get_response
|
from .client import get_response
|
||||||
from .models import Environment
|
from .models import Environment
|
||||||
from .output import build_output_stream, write, write_with_colors_win_p3k
|
from .output import build_output_stream, write, write_with_colors_win_p3k
|
||||||
|
@ -16,7 +16,8 @@ except ImportError:
|
|||||||
OrderedDict = dict
|
OrderedDict = dict
|
||||||
|
|
||||||
from requests.structures import CaseInsensitiveDict
|
from requests.structures import CaseInsensitiveDict
|
||||||
from requests.compat import str, urlparse
|
|
||||||
|
from .compat import urlsplit, str
|
||||||
|
|
||||||
|
|
||||||
HTTP_POST = 'POST'
|
HTTP_POST = 'POST'
|
||||||
@ -128,7 +129,7 @@ class Parser(ArgumentParser):
|
|||||||
return args
|
return args
|
||||||
|
|
||||||
def _process_auth(self, args):
|
def _process_auth(self, args):
|
||||||
url = urlparse(args.url)
|
url = urlsplit(args.url)
|
||||||
|
|
||||||
if args.auth:
|
if args.auth:
|
||||||
if not args.auth.has_password():
|
if not args.auth.has_password():
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from requests.compat import urlparse, is_windows, bytes, str
|
from .compat import urlsplit, is_windows, bytes, str
|
||||||
|
|
||||||
from .config import DEFAULT_CONFIG_DIR, Config
|
from .config import DEFAULT_CONFIG_DIR, Config
|
||||||
|
|
||||||
@ -142,7 +142,7 @@ class HTTPRequest(HTTPMessage):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def headers(self):
|
def headers(self):
|
||||||
url = urlparse(self._orig.url)
|
url = urlsplit(self._orig.url)
|
||||||
|
|
||||||
# Querystring
|
# Querystring
|
||||||
qs = ''
|
qs = ''
|
||||||
@ -166,7 +166,7 @@ class HTTPRequest(HTTPMessage):
|
|||||||
headers = dict(self._orig.headers)
|
headers = dict(self._orig.headers)
|
||||||
|
|
||||||
if 'Host' not in headers:
|
if 'Host' not in headers:
|
||||||
headers['Host'] = urlparse(self._orig.url).netloc
|
headers['Host'] = urlsplit(self._orig.url).netloc
|
||||||
|
|
||||||
headers = ['%s: %s' % (name, value)
|
headers = ['%s: %s' % (name, value)
|
||||||
for name, value in headers.items()]
|
for name, value in headers.items()]
|
||||||
|
@ -12,8 +12,8 @@ from pygments.lexers import get_lexer_for_mimetype, get_lexer_by_name
|
|||||||
from pygments.formatters.terminal import TerminalFormatter
|
from pygments.formatters.terminal import TerminalFormatter
|
||||||
from pygments.formatters.terminal256 import Terminal256Formatter
|
from pygments.formatters.terminal256 import Terminal256Formatter
|
||||||
from pygments.util import ClassNotFound
|
from pygments.util import ClassNotFound
|
||||||
from requests.compat import is_windows
|
|
||||||
|
|
||||||
|
from .compat import is_windows
|
||||||
from .solarized import Solarized256Style
|
from .solarized import Solarized256Style
|
||||||
from .models import HTTPRequest, HTTPResponse, Environment
|
from .models import HTTPRequest, HTTPResponse, Environment
|
||||||
from .input import (OUT_REQ_BODY, OUT_REQ_HEAD,
|
from .input import (OUT_REQ_BODY, OUT_REQ_HEAD,
|
||||||
|
@ -11,10 +11,10 @@ import shutil
|
|||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from requests.compat import urlparse
|
|
||||||
from requests.cookies import RequestsCookieJar, create_cookie
|
from requests.cookies import RequestsCookieJar, create_cookie
|
||||||
from requests.auth import HTTPBasicAuth, HTTPDigestAuth
|
from requests.auth import HTTPBasicAuth, HTTPDigestAuth
|
||||||
|
|
||||||
|
from .compat import urlsplit
|
||||||
from .config import BaseConfigDict, DEFAULT_CONFIG_DIR
|
from .config import BaseConfigDict, DEFAULT_CONFIG_DIR
|
||||||
from .output import PygmentsProcessor
|
from .output import PygmentsProcessor
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ def get_response(name, request_kwargs, config_dir, read_only=False):
|
|||||||
host = Host(
|
host = Host(
|
||||||
root_dir=sessions_dir,
|
root_dir=sessions_dir,
|
||||||
name=request_kwargs['headers'].get('Host', None)
|
name=request_kwargs['headers'].get('Host', None)
|
||||||
or urlparse(request_kwargs['url']).netloc.split('@')[-1]
|
or urlsplit(request_kwargs['url']).netloc.split('@')[-1]
|
||||||
)
|
)
|
||||||
session = Session(host, name)
|
session = Session(host, name)
|
||||||
session.load()
|
session.load()
|
||||||
|
@ -45,7 +45,6 @@ except ImportError:
|
|||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
from requests import __version__ as requests_version
|
from requests import __version__ as requests_version
|
||||||
from requests.compat import is_windows, is_py26, bytes, str
|
|
||||||
|
|
||||||
|
|
||||||
#################################################################
|
#################################################################
|
||||||
@ -62,6 +61,7 @@ from httpie.models import Environment
|
|||||||
from httpie.core import main
|
from httpie.core import main
|
||||||
from httpie.output import BINARY_SUPPRESSED_NOTICE
|
from httpie.output import BINARY_SUPPRESSED_NOTICE
|
||||||
from httpie.input import ParseError
|
from httpie.input import ParseError
|
||||||
|
from httpie.compat import is_windows, is_py26, bytes, str
|
||||||
|
|
||||||
|
|
||||||
CRLF = '\r\n'
|
CRLF = '\r\n'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user