def METHOD_NAME(self, request, quiet=False, **kwargs):
    deadline = datetime.utcnow() + timedelta(milliseconds=self.timeout * 1000)
    request.deadline = deadline.strftime('%Y%m%dT%H%M%S,%f')
    if 'request_id' in kwargs and kwargs['request_id']:
        request.request_id = kwargs['request_id']
    else:
        try:
            request.request_id = flask.request.id
        except RuntimeError:
            # we aren't in a flask context, so there is no request
            if 'flask_request_id' in kwargs and kwargs['flask_request_id']:
                request.request_id = kwargs['flask_request_id']
    pb = self.call(
        request.SerializeToString(), self.timeout, debug_cb=lambda: six.text_type(request), quiet=quiet
    )
    resp = response_pb2.Response()
    resp.ParseFromString(pb)
    return resp