code: def get_call_arguments(self, request):
          
          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
docs: 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.