decode (OpenID::Server::Decoder)

    # File lib/openid/server.rb, line 1218
          def decode(query)
            if query.nil? or query.length == 0
              return nil
            end

            message = Message.from_post_args(query)

            mode = message.get_arg(OPENID_NS, 'mode')
            if !mode
              msg = sprintf("No mode value in message %s", message)
              raise ProtocolError.new(message, msg)
            end

            handler = @@handlers.fetch(mode, self.method('default_decoder'))
            return handler.call(message, @server.op_endpoint)
          end