code: def assemble_request(method, params=tuple(), id=0):
          
          if not isinstance(method, (str, unicode)):
              raise TypeError('"method" must be a string (or unicode string).')
          if not isinstance(params, (tuple, list)):
              raise TypeError("params must be a tuple/list.")
  
          return {
              "method": method,
              "params": params,
              "id": id
          }
docs: serialize JSON-RPC-Request
  
          :Parameters:
              - method: the method-name (str/unicode)
              - params: the parameters (list/tuple)
              - id:     if id=None, this results in a Notification
          :Returns:   | {"method": "...", "params": ..., "id": ...}
                      | "method", "params" and "id" are always in this order.
          :Raises:    TypeError if method/params is of wrong type or
                      not JSON-serializable