Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | net.http: Add support for streaming chunked/large responses | Matthew Wild | 2020-10-21 | 1 | -0/+18 | |
| | | ||||||
* | | net.http.parser: Expose 'partial', 'chunked' and 'body_length' on packets | Matthew Wild | 2020-10-21 | 1 | -2/+15 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-15 | 1 | -23/+7 | |
|\| | ||||||
| * | net.websocket.frames: Use C string XOR implementation | Kim Alvefur | 2020-10-14 | 1 | -23/+7 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-13 | 1 | -1/+4 | |
|\| | ||||||
| * | net.http.server: Don't send Content-Length on 1xx/204 responses, per RFC ↵ | Matthew Wild | 2020-10-13 | 1 | -1/+4 | |
| | | | | | | | | (fixes #1596) | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-10-12 | 1 | -3/+3 | |
|\| | ||||||
| * | net.websocket.frames: Read buffer length correctly in Lua 5.1 (fix #1598) | Kim Alvefur | 2020-10-12 | 1 | -3/+3 | |
| | | | | | | | | | | | | | | COMPAT: The __len metamethod does not work with tables in Lua 5.1. Both strings and util.dbuffer now expose their length as a :len() method. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-09-29 | 1 | -9/+13 | |
|\| | ||||||
| * | net.websocket.frames: Additionally return partial frame if there is one | Matthew Wild | 2020-09-29 | 1 | -1/+1 | |
| | | ||||||
| * | mod_websocket: Switch partial frame buffering to util.dbuffer | Matthew Wild | 2020-09-17 | 1 | -2/+2 | |
| | | | | | | | | | | This improves performance and enforces stanza size limits earlier in the pipeline. | |||||
| * | net.websocket.frames: Allow all methods to work on non-string objects | Matthew Wild | 2020-09-17 | 1 | -10/+15 | |
| | | | | | | | | | | | | | | | | Instead of using the string library, use methods from the passed object, which are assumed to be equivalent. This provides compatibility with objects from util.ringbuffer and util.dbuffer, for example. | |||||
* | | net.http.server: Default to HTTP result code 500 when promise is rejected | Matthew Wild | 2020-09-28 | 1 | -0/+1 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-09-15 | 1 | -0/+3 | |
|\| | ||||||
| * | net.http: Add feature discovery (currently just contains SNI) | Matthew Wild | 2020-09-15 | 1 | -0/+3 | |
| | | ||||||
| * | net.server: Backport client parts of SNI support from trunk (#409) | Kim Alvefur | 2020-08-17 | 4 | -16/+42 | |
| | | | | | | | | | | | | | | | | | | | | Partial backports of the following commits from trunk: 6c804b6b2ca2 net.http: Pass server name along for SNI (fixes #1408) 75d2874502c3 net.server_select: SNI support (#409) 9a905888b96c net.server_event: Add SNI support (#409) adc0672b700e net.server_epoll: Add support for SNI (#409) d4390c427a66 net.server: Handle server name (SNI) as extra argument | |||||
* | | net.http: http.request() promise now resolves with response (breaking change) | Matthew Wild | 2020-08-25 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | Promise mode is not (widely?) used, changing this now while we can, as it improves usability of the API. The request is now available as response.request, if needed. | |||||
* | | net.http: use new net.http.errors lib for creating error object | Matthew Wild | 2020-08-25 | 1 | -2/+2 | |
| | | ||||||
* | | net.server_select: Fix traceback (thanks eta) | Kim Alvefur | 2020-08-23 | 1 | -1/+1 | |
| | | | | | | | | | | | | The `socket` here is unreferenced on disconnect. Calling :resume_writes after that causes an error when `addsocket()` tries to use it as a table index. | |||||
* | | net.http.parser: Fix indentation | Kim Alvefur | 2020-08-20 | 1 | -2/+2 | |
| | | | | | | | | | | Probably due to a rebase/merge with a merge tool that ignores whitespace. Happens all the time to me :( | |||||
* | | net.http.errors: Add new module for converting net.http errors to util.error ↵ | Matthew Wild | 2020-08-13 | 1 | -0/+115 | |
| | | | | | | | | objects | |||||
* | | net.http.parser: Allow specifying sink for large request bodies | Kim Alvefur | 2020-08-01 | 1 | -4/+22 | |
| | | | | | | | | | | | | | | This enables uses such as saving uploaded files directly to a file on disk or streaming parsing of payloads. See #726 | |||||
* | | net.http.parser: Switch to util.dbuffer for buffering incoming data | Kim Alvefur | 2020-08-01 | 1 | -61/+49 | |
| | | | | | | | | | | | | This is primarily a step towards saving uploads directly to files, tho this should hopefully be more efficient than collapsing the entire buffer to a single string every now and then. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-08-08 | 1 | -0/+12 | |
|\| | ||||||
| * | net.http: Add request:cancel() method | Matthew Wild | 2020-08-08 | 1 | -0/+11 | |
| | | | | | | | | | | | | | | | | | | | | This is a new API that should be used in preference to http.destroy_request() when possible, as it ensures the callback is always called (with an error of course). APIs that have edge-cases where they don't call callbacks have, from experience, shown to be difficult to work with and often lead to unintentional leaks when the callback was expected to free up certain resources. | |||||
| * | net.http: Re-expose destroy_request() function | Matthew Wild | 2020-08-08 | 1 | -0/+1 | |
| | | | | | | | | | | This was accidentally turned private in 647adfd8f738 as part of refactoring for Lua 5.2+. | |||||
* | | net.server_epoll: Log debug message when a connection errors on read | Kim Alvefur | 2020-07-25 | 1 | -0/+5 | |
| | | | | | | | | | | | | It's confusingly quiet otherwise, even with maximum verboseness. Thanks perflyst | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-07-10 | 1 | -1/+2 | |
|\| | ||||||
| * | net.resolvers.basic: Default conn_type to 'tcp' consistently if unspecified ↵ | Matthew Wild | 2020-07-10 | 1 | -1/+2 | |
| | | | | | | | | | | | | (thanks marc0s) Fixes a traceback when passed an IP address with no conn_type. | |||||
* | | net.cqueues: Fix resuming after timeouts | Kim Alvefur | 2020-07-08 | 1 | -0/+14 | |
| | | | | | | | | | | | | | | net.cqueues previously relied on timers instead of fd events sometimes. Under net.server_select, it would have called cq:loop() on every iteration of the main loop, which was probably not optimal. | |||||
* | | net.cqueues: Switch to server.watchfd for main loop integration | Kim Alvefur | 2020-07-08 | 1 | -46/+2 | |
| | | | | | | | | | | | | | | Why? Just look at all that code deleted! watchfd is the prefered way to poll things that expose FDs for this purpose, altho it was added after net.cqueues. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-07-07 | 1 | -2/+3 | |
|\| | ||||||
| * | net.http: Fix traceback on invalid URL passed to request() | Matthew Wild | 2020-07-07 | 1 | -2/+3 | |
| | | ||||||
* | | net.server_epoll: Add setting for turning off callback protections | Kim Alvefur | 2020-06-30 | 1 | -0/+6 | |
| | | | | | | | | | | Might improve (CPU) performance at the risk of triggering top level errors. | |||||
* | | net.server_epoll: Allow setting a custom error handler for listener | Kim Alvefur | 2020-06-30 | 1 | -1/+2 | |
| | | | | | | | | This lets plugins handle errors in some custom way, should they wish to. | |||||
* | | net.server_epoll: ... and include a traceback | Kim Alvefur | 2020-06-30 | 1 | -1/+1 | |
| | | ||||||
* | | net.server_epoll: Report errors in timers | Kim Alvefur | 2020-06-30 | 1 | -0/+2 | |
| | | ||||||
* | | net.server_epoll: Expose way to turn monotonic time into wall clock time | Kim Alvefur | 2020-06-30 | 1 | -0/+3 | |
| | | ||||||
* | | net.server_epoll: Optimize away table allocation for timer objects | Kim Alvefur | 2020-06-29 | 1 | -15/+21 | |
| | | ||||||
* | | net.server_epoll: Remove unused time field from timer objects | Kim Alvefur | 2020-06-29 | 1 | -6/+3 | |
| | | | | | | | | Unused since the move to util.indexedbheap in c8c3f2eba898 | |||||
* | | net.server_epoll: Signal API-compatibilty with util.timer | Kim Alvefur | 2020-06-29 | 1 | -0/+6 | |
| | | | | | | | | | | Reduces the overhead of having both util.timer and the timer handling here, since they are very similar and now API-compatible. | |||||
* | | net.server_epoll: Make API-compatible with util.timer | Kim Alvefur | 2020-06-29 | 1 | -3/+3 | |
| | | ||||||
* | | net.dns: Disable jitter for default resolver (used by blocking dns.lookup() ↵ | Matthew Wild | 2020-06-28 | 1 | -0/+1 | |
| | | | | | | | | | | | | calls) This fixes 'prosodyctl check dns' being slow. | |||||
* | | util.dependencies: Tone down lua-unbound dependency for now | Kim Alvefur | 2020-06-27 | 1 | -1/+2 | |
| | | | | | | | | | | | | At least until packages are available Wording from MattJ | |||||
* | | net.resolvers: Remove FIXMEs obsoleted by switch to libunbound | Kim Alvefur | 2020-06-25 | 2 | -5/+0 | |
| | | ||||||
* | | net.unbound: Remove compat for missing promises (pre-0.11) | Kim Alvefur | 2020-06-25 | 1 | -15/+12 | |
| | | | | | | | | | | Code existed in a separate project before merged into Prosody, so util.promise was not always around. | |||||
* | | net.unbound: Strip support for legacy net.server APIs | Kim Alvefur | 2020-06-25 | 1 | -37/+3 | |
| | | | | | | | | | | These are not needed since the watchfd API is provided by all net.server backends. | |||||
* | | net.adns: Log a warning if loaded (because net.unbound wasn't) | Kim Alvefur | 2020-06-25 | 1 | -0/+2 | |
| | | ||||||
* | | net.unbound: Async DNS resolver library based on libunbound via luaunbound | Kim Alvefur | 2019-03-09 | 1 | -0/+245 | |
| | | ||||||
* | | net.dns: Reduce default timeout to 5s | Matthew Wild | 2020-06-25 | 1 | -1/+1 | |
| | | | | | | | | | | Most healthy queries will return well within this time, and the new retry logic should help spread the cost of additional retries. |