| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
Since there is no way to distinguish an empty such array from a
zero-length array. Dropping it seems like the least annoying thing to
do.
|
| |
| |
| |
| |
| |
| | |
Turns falsy values into nil instead of nothing, which ensures this
function always has 1 return value, or table.insert({}) complains. Would
still happen on some unexpected input, but that's actually a good thing.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
So the problem is that xmlns is not inherited when building a stanza,
and then :get_child(n, ns) with an explicit namespace does not find that
such child tags.
E.g.
local t = st.stanza("foo", { xmlns = "urn:example:bar" })
:text_tag("hello", "world");
assert(t:get_child("hello", "urn:example:bar"), "This fails");
Meanwhile, during parsing (util.xmppstream or util.xml) child tags do
get the parents xmlns when not overriding them.
Thus, in the above example, if the stanza is passed trough
`t = util.xml.parse(tostring(t))` then the assert succeeds.
This change makes it so that it leaves out the namespace argument to
:get_child when it is the same as the current/parent namespace, which
behaves the same for both built and parsed stanzas.
|
| |
| |
| |
| | |
Since this was the last severely duplicated code left.
|
| | |
|
| |
| |
| |
| | |
Turns out the unreachable error is reachable :D
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
So extract_value() takes an XML tag and details about which part we're
interested in and returns that.
Factoring this out will help with array implementation since this will
be common behavior.
|
| |
| |
| |
| | |
Fixes error due to attempting to index a nil value
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This code extracts the bits from the schema that determines how the data
is to be mapped to/from XML.
|
| |
| |
| |
| |
| |
| | |
Now it gets the text, attribute or name first, then turns it into
whatever the schema wants. This should be easier to further factor out
into preparation for array support.
|
| |
| |
| |
| | |
Cleaner and rules out invalid combinations.
|
| |
| |
| |
| | |
E.g. error conditions or chat states.
|
| | |
|
| |
| |
| |
| | |
More in line with the other tests
|
| |
| |
| |
| |
| | |
That whole condition stanza was shown as angry red, I think it's
something with 'enum' being a key word in Teal.
|
| |
| |
| |
| | |
This is a bit special in Lua as tables are not limited to string keys
|
| |
| |
| |
| | |
This is a bit cleaner, I think
|
| | |
|
| |
| |
| |
| | |
This may have been what got me confused about "items" being an array.
|
| |
| |
| |
| | |
And apparently I had mistaken this for an array
|
| |
| |
| |
| |
| |
| | |
Apparently a schema must be either an object or a boolean. Not sure
where I got this string shortcut from, but I think I will keep it as it
is very convenient.
|
| |
| |
| |
| |
| |
| | |
Upon re-reading the JSON Schema spec, I found that 'items' wasn't a
union of an array of schemas or a single schema, not sure where I got
that from.
|
| |
| |
| |
| |
| |
| |
| | |
attribute matters
E.g. <feature var='foo'/> in XEP-0030 and some other simple
specifications.
|
| | |
|
| |
| |
| |
| |
| | |
Useful for certain enum-like uses where the element name is the relevant
information, e.g. chat states.
|
| | |
|
| |
| |
| |
| | |
Based on the XML support in the OpenAPI specification.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
At least I think :text_tag improves readability.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Test procedure:
$ prosodyctl shell 'server:version()'
Expect:
> OK: hg:926d53af9a7a
$ prosodyctl shell 'server:version()' 'hello'
Expect:
> Only one command is supported as argument
$ prosodyctl shell 'lorem ipsum'; echo $?
Expect:
> Sorry, I couldn't understand that... console:1: syntax error near 'show'
> 1 (error code)
Thanks Menel for mentioning the feature
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Looked in the wrong table
Test procedure:
$ prosodyctl shell --quiet
Expect:
Prosody>
(No banner)
|
| |
| |
| |
| |
| |
| |
| |
| | |
The 'typ' argument to all other functions is the actual file extension,
but not here for some reason.
May need this for iterating over the .bin files created by
mod_http_file_share in the future.
|
| |
| |
| |
| | |
Backout c2d144d3f8dd
|
| |
| |
| |
| | |
Bonus: Allow use of util.error tables
|
|\| |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Having it relative to current working directory is problematic since
this depends on how Prosody was started and changes to the data
directory during startup (but after this point).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since this runs before dropping root, the directory ends up being owned
by root, resulting in luarocks failing to install anything, since by
then it would be running as the prosody user.
luarocks creates this directory if needed, so creating it during startup
is not necessary.
One potential issue is if the directory is somewhere where Prosody can't
write, but then you will simply have to create it yourself with the
appropriate permissions.
|
| | |
|
| | |
|