18 Commits

Author SHA1 Message Date
Nameless
93e1f8c8e5
std.http.Client: documentaion fixes 2023-10-21 20:53:00 -05:00
Nameless
363d0ee5e1
std.http: rename start->send and request->open to be more inline with operation 2023-10-21 20:52:59 -05:00
Nameless
544ed34d99
std.http.Server: improve documentation, do -> start
Response.do was renamed to Response.start to mimic the
naming scheme in http.Client
2023-10-21 20:52:59 -05:00
Nameless
0eef21d8ec
std.http.Client: add option to disable https
std_options.http_connection_pool_size removed in favor of

```
client.connection_pool.resize(client.allocator, size);
```

std_options.http_disable_tls will remove all https capability from
std.http when true. Any https request will error with
`error.TlsInitializationFailed`.

Solves #17051.
2023-10-21 20:52:58 -05:00
Nameless
e1c37f70d4
std.http.Client: store *Connection instead of a pool node, buffer writes 2023-10-21 20:52:58 -05:00
Nameless
1afeada2d9
std.http.Client: enhance proxy support
adds connectTunnel to form a HTTP CONNECT tunnel to the desired host.
Primarily implemented for proxies, but like connectUnix may be called by
any user.

adds loadDefaultProxies to load proxy information from common
environment variables (http_proxy, HTTP_PROXY, https_proxy, HTTPS_PROXY,
all_proxy, ALL_PROXY).
- no_proxy and NO_PROXY are currently unsupported.

splits proxy into http_proxy and https_proxy, adds headers field for
arbitrary headers to each proxy.
2023-10-21 20:52:58 -05:00
Emil Lerch
fcca3cd1a3
std.http: introduce options to http client to allow for raw uris
Addresses #17015 by introducing a new startWithOptions. The only option is currently is a flag
to use the provided URI as is, without modification when passed to the server. Normally, this
is not needed nor desired. However, some REST APIs may have requirements that cannot be satisfied
with the default handling.
2023-09-28 14:16:39 +03:00
Nameless
4689d93cb2
std.http: allow for arbitrary http methods 2023-08-30 13:05:45 -05:00
Nameless
ddef683fcb
std.http.Server: responses to HEAD not allowed to have a payload 2023-08-29 21:42:54 -05:00
Nameless
aa090a49d9
std.http: handle expect:100-continue and continue responses 2023-08-29 21:42:53 -05:00
Nameless
5d40338f21
std.http: add Client.fetch and improve redirect logic 2023-08-29 21:42:53 -05:00
Nameless
b9fc0d2908
std.http: fix leaked connections (#16341)
The early return in pool release was causing leaked connections.
Closes #16282.
2023-07-07 20:08:19 +00:00
Mizuochi Keita
729a051e9e std.http: Fix segfault while redirecting
Make to avoid releasing request's connection twice.
Change the `Request.connection` field optional. This field is null while the connection is released.

Fixes #15965
2023-06-17 21:58:33 -07:00
Nameless
23ccff9cce
std.http.Server: collapse BufferedConnection into Connection 2023-06-01 13:44:00 -05:00
Nameless
1b3ebfefd8
fix keepalive and large buffered writes 2023-05-06 21:35:16 -05:00
Nameless
5f219a2d11
std.http.Server: give Response access to their own allocator
* This makes it easier for threaded servers to use a different allocator
  for each request.
2023-05-06 21:35:16 -05:00
Nameless
533049fdd8
std.http.Server: use enum for reset state instead of bool 2023-05-06 21:35:15 -05:00
Nameless
71c228fe65
std.http: add simple standalone http tests, add state check for http server 2023-05-06 21:35:15 -05:00