aboutsummaryrefslogtreecommitdiffstats
path: root/net/http
Commit message (Collapse)AuthorAgeFilesLines
* net.http.server: Set request.ip so mod_http doesn't have toKim Alvefur2021-02-271-0/+2
| | | | | | | | Because it already sets request.secure, which depends on the connection, just like the IP, so it makes sense to do both in the same place. Dealing with proxies can be left to mod_http for now, but maybe it could move into some util some day?
* net.http.server: Don't pause early streaming uploadsKim Alvefur2021-02-131-1/+10
| | | | | | | Fixes that otherwise it would wait for the request to be done after receiving the head of the request, when it's meant to select a target for where to store the data, instead of waiting after receiving the request for when the request has been handled.
* net.http.server: Allow storing more than the parser in the sessionKim Alvefur2021-02-121-10/+11
| | | | Storing the async thread on the connection was weird.
* net.http.server: Enable async during HTTP request handling (fixes #1487)Kim Alvefur2020-07-121-28/+23
|
* net.http.errors: Add error class for DNS resolution failures (thanks SouL)Matthew Wild2020-12-111-0/+4
|
* net.http.parser: Expose 'partial', 'chunked' and 'body_length' on packetsMatthew Wild2020-10-211-2/+15
|
* Merge 0.11->trunkMatthew Wild2020-10-131-1/+4
|\
| * net.http.server: Don't send Content-Length on 1xx/204 responses, per RFC ↵Matthew Wild2020-10-131-1/+4
| | | | | | | | (fixes #1596)
* | net.http.server: Default to HTTP result code 500 when promise is rejectedMatthew Wild2020-09-281-0/+1
| |
* | net.http.parser: Fix indentationKim Alvefur2020-08-201-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 Wild2020-08-131-0/+115
| | | | | | | | objects
* | net.http.parser: Allow specifying sink for large request bodiesKim Alvefur2020-08-011-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 dataKim Alvefur2020-08-011-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->trunkKim Alvefur2020-06-231-1/+2
|\|
| * net.http.server: Fix reporting of missing Host headerKim Alvefur2020-06-231-1/+2
| | | | | | | | | | The "Missing or invalid 'Host' header" case was dead code previously because `host` was always at least an empty string.
| * net.http.server: Strip port from Host header in IPv6 friendly way (fix #1302)Kim Alvefur2020-06-231-1/+1
| | | | | | | | | | E.g. given `[::1]:5280` it would previously result in only `[` instead of the correct `[::1]`
* | Merge 0.11->trunkKim Alvefur2020-04-261-1/+1
|\|
* | net.http.server: Use error code from util.error (fixes #1502)Kim Alvefur2020-04-121-0/+1
| | | | | | | | Oversight in 955e54e451dc when this was added.
* | net.http.parser: Add TODO related to #726Kim Alvefur2020-01-011-0/+1
| |
* | net.http.parser: Silence warning about unused variable [luacheck]Kim Alvefur2019-12-231-1/+2
| |
* | util.error: Move default for numeric error code to net.http.serverKim Alvefur2019-12-141-1/+1
| | | | | | | | | | | | Stanza errors can also have numbers but these are a legacy thing and rarely used, except in MUC. HTTP errors on the other hand always have a number.
* | net.http.server: Treat promise rejection without value as a HTTP 500 errorKim Alvefur2019-11-051-1/+1
| |
* | net.http.server: Handle promises from http handlersKim Alvefur2019-11-011-0/+8
| |
* | net.http.server: Handle util.error objects from http handlersKim Alvefur2019-11-011-0/+3
| |
* | net.http.server: Tail call because tail call!Kim Alvefur2019-11-011-1/+1
| |
* | net.http.server: Factor out handling of event response for easier reuseKim Alvefur2019-11-011-31/+34
| |
* | net.http.codes: Avoid implicit number -> string coercionKim Alvefur2019-11-011-1/+1
| |
* | net.http.files: Explicitly convert number to string, avoiding implicit coercionKim Alvefur2019-10-121-1/+1
| |
* | net.http.server: Explicitly convert number to string, avoiding implicit coercionKim Alvefur2019-10-121-1/+1
| |
* | net.http.server: Re-fire unhandled HEAD requsts as GET events (fixes #1447)Kim Alvefur2019-10-121-0/+11
| | | | | | | | | | | | BC: This overloads the GET event. Previous commit ensures HEAD requests are sent without a body.
* | net.http.server: Ensure HEAD requests are sent with empty bodyKim Alvefur2019-10-121-0/+16
| |
* | net.http.files: Fix cache handlingKim Alvefur2019-06-291-1/+1
| | | | | | | | Typo that broke the LRU-ness of the caching
* | net.http.files: Bump cache hits so they stay cachedKim Alvefur2019-05-041-0/+1
| | | | | | | | It's not an LRU cache unless this is done.
* | net.http.files: Make into standalone libraryKim Alvefur2019-04-051-64/+14
| |
* | net.http.files: Copy of mod_http_filesKim Alvefur2019-04-051-0/+198
|/ | | | | | | | | The intent is to make it easier to reuse and simplify mod_http_files. Currently modules will use the serve() function exported by mod_http_files in order to serve their own files. This makes it unclear whether mod_http_files should be doing anything on its own. Moving the logic into a separate module should help here, as well as make re-use outside of prosody easier.
* net.http.server: Move event formation to avoid traceback on missing Host headerMatthew Wild2018-11-131-1/+1
|
* Many things: switch from hacky multi-arg xpcall implementations to a ↵Matthew Wild2018-10-261-6/+2
| | | | standard util.xpcall
* net.http.server: Delay host checks until after host-less eventKim Alvefur2018-09-231-9/+18
| | | | This allows handling events without any hosts enabled.
* net.http.server: Fire an event without hostKim Alvefur2018-09-211-3/+8
|
* Revert 2dc7490899ae::5d6b252bc36f: Unfinished and brokenKim Alvefur2018-09-211-2/+2
|
* net.http.server: Fix default host logicKim Alvefur2018-09-211-1/+1
| | | | This was used to construct the event name previously
* net.http.server: Move handling of hosts to mod_httpKim Alvefur2018-09-211-1/+1
| | | | | Now an event like `GET /path` is fired at first, and mod\_http dispatches the old `GET host/path` events.
* net.http.codes: "Correct" range of unassigned codes (thanks pep.)Kim Alvefur2018-08-121-1/+1
|
* net.http.codes: Regenerate from IANA registry with toolKim Alvefur2018-08-111-47/+59
|
* net.http.server: Include response object in most http-error eventsKim Alvefur2017-10-271-3/+5
|
* net.http: Pass error all the way to callbackKim Alvefur2017-04-021-1/+1
|
* net.http.parser: Don't collapse buffer when expecting a chunk and not enough ↵Kim Alvefur2016-08-261-0/+3
| | | | data has been received
* net.http.parser: Fix missing buffer length adjustment when parsing chunked ↵Kim Alvefur2016-08-261-0/+1
| | | | streams
* net.http.server: Add luacheck annotationsKim Alvefur2016-08-181-2/+2
|
* Merge 0.9->0.10Kim Alvefur2016-08-182-8/+34
|\