All the methods defined in lua-uri(3) are supported. The "userinfo" method will throw an exception if
the new userinfo would form an invalid POP URI, and will normalize the auth type part if appropriate.
The "path" method will always return empty strings for POP URIs, and will throw an exception if given a
new value which is not the empty string.
The following additional methods are provided:
uri:pop_user(...)
Get or set the POP username, which is stored in the userinfo part of the authority.
The return value will be nil if there is no user information in the URI, or a fully decoded string if
there is.
If the new value is empty, and exception is thrown. The user can be set to nil to remove the
userinfo part from the URI, but this will also throw an exception if there is an 'auth' type
specified.
uri:pop_auth(...)
Get or set the POP authentication type, which is stored in the userinfo part of the authority after
the string ';auth='.
The value returned is just the auth type, not the ';auth=' part, and will be fully decoded. The
value returned will never be nil. If there is no auth type specified then the default value of '*'
will be returned.
Setting a new value of nil or the empty string will cause an exception to be thrown.