"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "httpie/models.py" between
httpie-3.0.0.tar.gz and httpie-3.0.1.tar.gz

About: HTTPie is a command line HTTP client, a user-friendly cURL replacement, with the goal to make CLI interaction with web services as human-friendly as possible.

models.py  (httpie-3.0.0):models.py  (httpie-3.0.1)
from time import monotonic
import requests import requests
from enum import Enum, auto from enum import Enum, auto
from typing import Iterable, Union, NamedTuple from typing import Iterable, Union, NamedTuple
from urllib.parse import urlsplit from urllib.parse import urlsplit
from .cli.constants import ( from .cli.constants import (
OUT_REQ_BODY, OUT_REQ_BODY,
OUT_REQ_HEAD, OUT_REQ_HEAD,
OUT_RESP_BODY, OUT_RESP_BODY,
OUT_RESP_HEAD, OUT_RESP_HEAD,
OUT_RESP_META OUT_RESP_META
) )
from .compat import cached_property from .compat import cached_property
from .utils import split_cookies, parse_content_type_header from .utils import split_cookies, parse_content_type_header
ELAPSED_TIME_LABEL = 'Elapsed time'
class HTTPMessage: class HTTPMessage:
"""Abstract class for HTTP messages.""" """Abstract class for HTTP messages."""
def __init__(self, orig): def __init__(self, orig):
self._orig = orig self._orig = orig
def iter_body(self, chunk_size: int) -> Iterable[bytes]: def iter_body(self, chunk_size: int) -> Iterable[bytes]:
"""Return an iterator over the body.""" """Return an iterator over the body."""
raise NotImplementedError raise NotImplementedError
skipping to change at line 97 skipping to change at line 101
f'Set-Cookie: {cookie}' f'Set-Cookie: {cookie}'
for header, value in original.headers.items() for header, value in original.headers.items()
for cookie in split_cookies(value) for cookie in split_cookies(value)
if header == 'Set-Cookie' if header == 'Set-Cookie'
) )
return '\r\n'.join(headers) return '\r\n'.join(headers)
@property @property
def metadata(self) -> str: def metadata(self) -> str:
data = {} data = {}
data['Elapsed time'] = str(self._orig.elapsed.total_seconds()) + 's' time_to_parse_headers = self._orig.elapsed.total_seconds()
# noinspection PyProtectedMember
time_since_headers_parsed = monotonic() - self._orig._httpie_headers_par
sed_at
time_elapsed = time_to_parse_headers + time_since_headers_parsed
# data['Headers time'] = str(round(time_to_parse_headers, 5)) + 's'
# data['Body time'] = str(round(time_since_headers_parsed, 5)) + 's'
data[ELAPSED_TIME_LABEL] = str(round(time_elapsed, 10)) + 's'
return '\n'.join( return '\n'.join(
f'{key}: {value}' f'{key}: {value}'
for key, value in data.items() for key, value in data.items()
) )
class HTTPRequest(HTTPMessage): class HTTPRequest(HTTPMessage):
"""A :class:`requests.models.Request` wrapper.""" """A :class:`requests.models.Request` wrapper."""
def iter_body(self, chunk_size): def iter_body(self, chunk_size):
yield self.body yield self.body
 End of changes. 3 change blocks. 
1 lines changed or deleted 12 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)