aboutsummaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* util.prosodyctl: Allow passing path to Lua runtime to the start() functionKim Alvefur2019-01-101-3/+4
| | | | | By default the shebang is used. Being able to override it is useful in cases where the shebang does not match the configured runtime.
* Merge 0.11->trunkKim Alvefur2019-01-061-0/+3
|\
| * util.startup: Always reload logging after config (fixes #1284)Kim Alvefur2019-01-061-0/+3
| | | | | | | | | | This chancged in 6e24a69b03af likely because of confusion about the `reopen-log-files` event which was fired but never hooked.
* | util.http: Pre-generate urlencoding mappings (optimization)Kim Alvefur2019-01-061-10/+11
| | | | | | | | Function calls are more expensive than table lookups
* | util.error: Add a function for creating an error object from an error stanzaKim Alvefur2018-12-301-0/+12
| |
* | util.error: Add new util library for structured errorsMatthew Wild2018-12-301-0/+40
| |
* | util.promise: Remove references to callbacks after settling promiseKim Alvefur2018-12-301-0/+3
| | | | | | | | This is to help the garbage collector.
* | Merge 0.11->trunkKim Alvefur2018-12-291-0/+14
|\|
| * util.pubsub: Restore subscription index from stored data (fixes #1281)Kim Alvefur2018-12-291-0/+14
| |
* | util.stanza: Require a type attribute for iq stanzasKim Alvefur2018-12-281-1/+7
| |
* | Merge 0.11->trunkKim Alvefur2018-12-091-1/+2
|\|
| * util.datetime: Make sure timezone difference is calculated correctly (fixes ↵Kim Alvefur2018-12-091-1/+2
| | | | | | | | | | | | | | #1262) If the two os.date() calls happen at either side of a second ticking over there would be a one second error in the calculation.
* | util.format: Serialize values for the %q formatKim Alvefur2018-10-121-1/+5
| | | | | | | | Improves eg debug logs
* | lint: Remove use of the 143 error codeKim Alvefur2018-12-083-3/+2
| | | | | | | | Does not appear to be invoked by anything
* | util.iterators: Use pack from table.packKim Alvefur2018-12-081-3/+3
| |
* | util.format: Use pack from util.tableKim Alvefur2018-12-081-2/+3
| |
* | Merge 0.11->trunkKim Alvefur2018-12-021-27/+17
|\|
| * util.stanza: Deserialize stanza without mutating input (fixes #711)Kim Alvefur2018-12-011-27/+17
| |
* | util.format: Tweak how nil values are handledKim Alvefur2018-11-281-5/+4
|/ | | | Because [<nil>] seems exsessive
* util.stanza: Validate input to clone() (with brief tests)Kim Alvefur2018-11-171-2/+9
|
* util.sql: Switch from hacky multi-arg xpcall implementation to util.xpcallKim Alvefur2018-11-111-5/+4
|
* util.sslconfig: Recognise TLS 1.3 as a protocol versionKim Alvefur2018-10-281-1/+1
| | | | This enables it to understand protocol = "tlsv1_3+"
* util.serialization: Encode non-fatal error in way that can be restoredKim Alvefur2018-10-271-1/+1
| | | | It could previously encode to eg `{ [nil] = ... }` which doesn't get decoded
* util.serialization: Rename non-fatal fallback handler for clarityKim Alvefur2018-10-271-3/+3
|
* util.serialization: Disable use of unquoted table keys by defaultKim Alvefur2018-10-271-1/+3
| | | | For safety against future new keywords
* util.serialization: Add option for allowing multiple references to the same ↵Kim Alvefur2018-10-271-0/+10
| | | | table (but not cycles)
* util.serialization: Separate errors for multiple table references and max depthKim Alvefur2018-10-271-2/+5
|
* util.serialization: Make maximum table depth configurableKim Alvefur2018-10-271-1/+2
|
* Many things: switch from hacky multi-arg xpcall implementations to a ↵Matthew Wild2018-10-263-13/+12
| | | | standard util.xpcall
* util.xpcall, util.compat: Add non-hacky multi-argument xpcall() for Lua 5.1Matthew Wild2018-10-261-0/+9
|
* util.dependencies: Remove ztact compatability warningMatthew Wild2018-10-261-13/+0
|
* util.promise: Switch from pcall to xpcall to get tracebacks on exceptionsMatthew Wild2018-10-261-1/+1
|
* util.promise: Remove the non-standard ability to pass a promise to reject()Matthew Wild2018-10-261-3/+1
|
* util.promise: Fix missing parametersMatthew Wild2018-10-251-2/+2
|
* util.promise: Ensure chained promises always receive a value/rejection even ↵Matthew Wild2018-10-251-22/+23
| | | | if an intermediate promise has no handlers
* util.promise: Export is_promise()Matthew Wild2018-10-251-0/+1
|
* util.promise: Remove debug print and assertMatthew Wild2018-10-251-1/+0
|
* util.pubsub: Clarify comment about return valueKim Alvefur2018-10-211-1/+1
|
* util.array: Add __div for parity with util.setMatthew Wild2018-10-211-0/+19
|
* util.array: Break long lineMatthew Wild2018-10-191-1/+5
|
* util.promise: Add promise.try()Matthew Wild2018-10-181-0/+6
|
* util.pubsub: Allow publishing with a config that should be used as defaults onlyMatthew Wild2018-10-181-4/+7
|
* util.promise: Add a string representationKim Alvefur2018-10-181-0/+4
|
* util.promise: Add promise:finally()Matthew Wild2018-10-181-0/+6
|
* util.promise: Some code relocationMatthew Wild2018-10-181-23/+23
|
* util.promise: Also support automatic resolution by returning a promise from ↵Matthew Wild2018-10-181-1/+3
| | | | | | | an on_reject handler Originally unimplemented because it wasn't clear to me what the correct behaviour was, but the A+ spec is clear that both onFulfilled and onRejected may return a promise.
* util.promise: Fix promise.reject() to return a rejected promise, and fix ↵Matthew Wild2018-10-181-1/+1
| | | | buggy test for it
* mod_http: Move normalize_path to util.httpKim Alvefur2018-10-141-0/+11
|
* util.dependencies: Add compat code for normalization of socket constructorsKim Alvefur2018-10-121-0/+4
| | | | | | Old LuaSocket had only tcp() which was IPv4-only. LuaSocket ~3.0 adds a tcp6() that creates a IPv6 socket. Some version moves tcp() to tcp4() and adds an IP-version-agnostic tcp() constructor.
* util.stanza: Set preserialize as freeze metamethodKim Alvefur2018-10-121-0/+2
|