call env

in lib/functions_framework/server.rb [488:515]


      def call env
        return notfound_response if excluded_path? env
        begin
          logger = env[::Rack::RACK_LOGGER] ||= @config.logger
          request = ::Rack::Request.new env
          logger.info "FunctionsFramework: Handling Typed #{request.request_method} request"

          begin
            req = if @function.request_class
                    request_class.decode_json request.body.read.to_s
                  else
                    JSON.parse request.body.read.to_s
                  end
          rescue JSON::ParserError => e
            return bad_request e.message
          end

          res = @function.call req, globals: @globals, logger: logger
          return string_response res.to_json, 200, content_type: "application/json" if res

          string_response "", 204
        rescue ::StandardError => e
          interpret_response e
        end
      ensure
        flush_streams
      end