code: def furnish(app: web.Application):
      
      app_name = app['config']['name']
      prefix = '/' + app_name.lstrip('/')
      app.router.add_routes(routes)
      cors_middleware.enable_cors(app)
  
      # Configure CORS and prefixes on all endpoints.
      known_resources = set()
      for route in list(app.router.routes()):
          if route.resource in known_resources:
              continue
          known_resources.add(route.resource)
          route.resource.add_prefix(prefix)
  
      # Configure swagger settings
      # We set prefix explicitly here
      aiohttp_swagger.setup_swagger(app,
                                    swagger_url=prefix + '/api/doc',
                                    description='',
                                    title=f'Brewblox Service "{app_name}"',
                                    api_version='0.0',
                                    contact='development@brewpi.com')
  
      LOGGER.info('Service info: ' + getenv('SERVICE_INFO', 'UNKNOWN'))
  
      for route in app.router.routes():
          LOGGER.info(f'Endpoint [{route.method}] {route.resource}')
  
      for name, impl in app.get(features.FEATURES_KEY, {}).items():
          LOGGER.info(f'Feature [{name}] {impl}')
docs: Configures Application routes, readying it for running.
  
      This function modifies routes and resources that were added by calling code,
      and must be called immediately prior to `run(app)`.
  
      Args:
          app (web.Application):
              The Aiohttp Application as created by `create_app()`