@classmethod
  def unserialize(cls, file, length=-1, encoding=None):
    # return (list args, dict params)
    params, method_name = loads(file.read(length))
    
    # Override request path with mathodName. i.e. method.name -> /method/name
    if cls.respect_method_name:
      if method_name is None:
        raise http.InternalServerError(
          'respect_method_name is enabled but request did not include methodName')
      Application.current.request.url.path = '/'+'/'.join(method_name.split('.'))
    
    args = []
    kwargs = {}
    if len(params) > 0:
      for o in params:
        if isinstance(o, dict):
          kwargs.update(o)
        else:
          args.append(o)
    
    return (args, kwargs)
dataset/ETHPy150Open rsms/smisk/lib/smisk/serialization/xmlrpc.py/XMLRPCSerializer.unserialize/original