def get_call_arguments(self, request):
        """
        Get call arguments from a request. Override this if you want to use a
        wire format different from AWS's.

        The return value is a dictionary with three keys: 'transport_args',
        'handler_args', and 'raw_args'.

        The value of 'transport_args' must be a dictionary with the following
        keys:

        - action
        - access_key_id
        - timestamp
        - expires
        - version
        - signature_method
        - signature
        - signature_version

        The value of 'handler_args' should be the application arguments that
        are meant to be passed to the action handler.

        The value of 'raw_args', the unprocessed arguments, are used for
        signature verification. This should be the same dictionary of data that
        the client used to sign the request. Note that this data must not
        contain the signature itself.
        """
        params = dict((k, v[-1]) for k, v in request.args.iteritems())
        args, rest = self.schema.extract(params)
        # Get rid of Signature so it doesn't mess with signature verification
        params.pop("Signature")
        result = {
            "transport_args": {
                "action": args.Action,
                "access_key_id": args.AWSAccessKeyId,
                "timestamp": args.Timestamp,
                "expires": args.Expires,
                "version": args.Version,
                "signature_method": args.SignatureMethod,
                "signature": args.Signature,
                "signature_version": args.SignatureVersion},
            "handler_args": rest,
            "raw_args": params
        }
        return result
Get call arguments from a request. Override this if you want to use a
        wire format different from AWS's.

        The return value is a dictionary with three keys: 'transport_args',
        'handler_args', and 'raw_args'.

        The value of 'transport_args' must be a dictionary with the following
        keys:

        - action
        - access_key_id
        - timestamp
        - expires
        - version
        - signature_method
        - signature
        - signature_version

        The value of 'handler_args' should be the application arguments that
        are meant to be passed to the action handler.

        The value of 'raw_args', the unprocessed arguments, are used for
        signature verification. This should be the same dictionary of data that
        the client used to sign the request. Note that this data must not
        contain the signature itself.