This class acts as an abstraction layer over a collection of flat URL arguments
which supports namespaces as defined by the OpenID Auth 2.0 specification.
It also recognises when it is given OpenID 1.1 non-namespaced arguments and
acts as if the relevant namespaces were present. In this case, it only
supports the basic OpenID 1.1 arguments and the extension arguments
for Simple Registration.
This class can operate on
a normal hashref,
a CGI object or any object with a param method that behaves similarly
(Apache::Request, Apache2::Request, Mojo::Parameters,...),
an Apache object,
a Plack::Request object, or
an arbitrary CODE ref that when given a key name as its first parameter
and returns a value and if given no arguments returns a list of all keys present.
If you pass in a hashref or a coderef it is your responsibility as the caller
to check the HTTP request method and pass in the correct set of arguments.
For the other kinds of objects, this module will do the right thing automatically.