private void handleRequest()

in invoker/core/src/main/java/com/google/cloud/functions/invoker/TypedFunctionExecutor.java [111:138]


  private void handleRequest(HttpRequest req, HttpResponse res) {
    Object reqObj;
    try {
      reqObj = format.deserialize(req, argType);
    } catch (Throwable t) {
      logger.log(Level.SEVERE, "Failed to parse request for " + function.getClass().getName(), t);
      res.setStatusCode(HttpServletResponse.SC_BAD_REQUEST);
      return;
    }

    Object resObj;
    try {
      resObj = function.apply(reqObj);
    } catch (Throwable t) {
      logger.log(Level.SEVERE, "Failed to execute " + function.getClass().getName(), t);
      res.setStatusCode(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
      return;
    }

    try {
      format.serialize(resObj, res);
    } catch (Throwable t) {
      logger.log(
          Level.SEVERE, "Failed to serialize response for " + function.getClass().getName(), t);
      res.setStatusCode(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
      return;
    }
  }