-
-
Notifications
You must be signed in to change notification settings - Fork 857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 1.0, working notes. #1092
Comments
Gonna put in another request for built-in retries, though I understand if the answer is still "no" or "not for 1.0". |
Went ahead and created #1102 to better track the "Drop HSTS" item - also updated the description here. |
@StephenBrown2 Fair question yup, seems to me that it's absolutely a 1.1 item. It's a great feature that we should look at, but I don't think there's any pressing need for it to block a release marked as 1.0, with the API stability that implies. |
@StephenBrown2 Want to open an issue for retries so we can start discussing the API, and finer details of the expected behaviours? Even tho it's not strictly a 1.0 blocker, perhaps it's feasible it might still land in time for that. Useful initial points to discuss:
|
Also I think there’s lots of useful context and ideas already starting from #784 :-) No adapter required - the idea was to loop around send_single_request() (I think?) in case of connection failures. The PR stopped at handling network errors only (so no retries on HTTP status errors or stuff like that) and I think there was a rationale behind that, but don’t have the exact thing off the top of my mind. |
The original issue is #108 (gosh, over 900 Issues/PRs ago). I can try to summarize in a bit, but @florimondmanca is right, the interface is just a parameter to the client or requester, similar to the |
Closing this one off, since I think everything we need to track is appropriately milestoned now. |
Here are my current working notes on our remaining 1.0 items...
HTTPX 1.0
ASGITransport
#998 (comment) tho I need to explain this one more thoroughly.Minor:
httpx.StatusCodes
in favour ofhttpx.codes
. See Single consistent name for status codes #1088PoolLimits
->Limits
,pool_limits
->limits
..call_next
might need to be private..timer
might need looking at.httpx.create_ssl_context(...)
- See Standalonecreate_ssl_context()
function? #983Not strictly required, but worth looking at:
rfc3986
vs.irl
vs.urlcore
. - See Can't handle URLs with @ character in userinfo section #328 (comment)httpcore
API required to support them.API Reference
Here's a high-level API reference...
Helper functions
request
,stream
,get
,options
,head
,post
,put
,patch
,delete
Clients
Client
,AsyncClient
Models
Response
,Request
,URL
,QueryParams
,Headers
,Cookies
Configuration
Limits
,Proxy
,Timeout
Authentication
Auth
,BasicAuth
,DigestAuth
Transports
ASGITransport
,WSGITransport
Status Codes
codes
Exceptions
RequestError
All exceptions that can occur during a.request()
TransportError
These all have counterparts inhttpcore
TimeoutException
ConnectTimeout
ReadTimeout
WriteTimeout
PoolTimeout
NetworkError
ConnectError
ReadError
WriteError
CloseError
ProxyError
ProtocolError
DecodingError
ContentDecodingError
TextDecodingError
TooManyRedirects
RequestBodyUnavailable
InvalidURL
HTTPStatusError
- Occurs during.raise_for_status
NotRedirectResponse
- Occurs if calling.next()
without properly checking.is_redirect_response
CookieConflict
- Can occur withresponse.cookies.get(...)
StreamError
StreamConsumed
- Occurs if attempting to iterate over the stream twiceResponseNotRead
- Occurs if accessing.content
without having.read()
the streamRequestNotRead
- Occurs if accessing.content
without having.read()
the streamResponseClosed
- Occurs if attempting to read the stream after response is already closedDependencies
Here's how our lovely & minimal core non-optional dependancies would look...
Depending on our assessment of #328 (comment)
httpcore
h11
sniffio
rfc3986
idna
certifi
The text was updated successfully, but these errors were encountered: