class_docstr: HTTPApp creates a REST API server based on APIs defined with a BentoService
  via BentoService#apis. Each InferenceAPI will become one
  endpoint exposed on the REST server, and the RequestHandler defined on each
  InferenceAPI object will be used to handle Request object before feeding the
  request data into a Service API function
class_docstr_tok: ["HTTPApp","creates","a","REST","API","server","based","on","APIs","defined","with","a","BentoService","via","BentoService","#","apis",".","Each","InferenceAPI","will","become","one","endpoint","exposed","on","the","REST","server",",","and","the","RequestHandler","defined","on","each","InferenceAPI","object","will","be","used","to","handle","Request","object","before","feeding","the","request","data","into","a","Service","API","function"]
code: def __init__(
      self,
      bento_service: Service,
      enable_access_control: bool = Provide[
          BentoMLContainer.http.cors.enabled
      ],
      access_control_options: dict[
          str, list[str] | str | int
      ] = Provide[BentoMLContainer.access_control_options],
      enable_metrics: bool = Provide[
          BentoMLContainer.api_server_config.metrics.enabled
      ],
      max_concurrency: int
      | None = Provide[
          BentoMLContainer.api_server_config.traffic.max_concurrency
      ],
  ):
      self.bento_service = bento_service
      self.enable_access_control = enable_access_control
      self.access_control_options = access_control_options
      self.enable_metrics = enable_metrics
      timeout = BentoMLContainer.api_server_config.traffic.timeout.get()
      super().__init__(timeout=timeout, max_concurrency=max_concurrency)
  
imports: from __future__ import annotations
  import asyncio
  import functools
  import logging
  import os
  import sys
  import typing
  from simple_di import Provide
  from simple_di import inject
  from starlette.exceptions import HTTPException
  from starlette.responses import PlainTextResponse
  from ...exceptions import BentoMLException
  from ..configuration.containers import BentoMLContainer
  from ..context import trace_context
  from ..server.base_app import BaseAppFactory
  from ..service.service import Service
label_desc: Use image node_id 1 to create a new HTTPAppFactory object from inherited base classes: BaseAppFactory with example: obj = HTTPAppFactory(bento_service, enable_access_control, access_control_options, enable_metrics, max_concurrency)