docs: def server(self, default_not_found=True, base_url=None):
          """Returns a WSGI compatible API server for the given Hug API module"""
          falcon_api = falcon.API(middleware=self.middleware)
          default_not_found = self.documentation_404() if default_not_found is True else None
          base_url = self.base_url if base_url is None else base_url
  
          not_found_handler = default_not_found
          self.api._ensure_started()
          if self.not_found_handlers:
              if len(self.not_found_handlers) == 1 and None in self.not_found_handlers:
                  not_found_handler = self.not_found_handlers[None]
              else:
                  not_found_handler = partial(self.version_router, api_version=False,
                                              versions=self.not_found_handlers, not_found=default_not_found)
                  not_found_handler.interface = True
  
          if not_found_handler:
              falcon_api.add_sink(not_found_handler)
              self._not_found = not_found_handler
  
          for sink_base_url, sinks in self.sinks.items():
              for url, extra_sink in sinks.items():
                  falcon_api.add_sink(extra_sink, sink_base_url + url + '(?P<path>.*)')
  
          for router_base_url, routes in self.routes.items():
              for url, methods in routes.items():
                  router = {}
                  for method, versions in methods.items():
                      method_function = "on_{0}".format(method.lower())
                      if len(versions) == 1 and None in versions.keys():
                          router[method_function] = versions[None]
                      else:
                          router[method_function] = partial(self.version_router, versions=versions,
                                                            not_found=not_found_handler)
  
                  router = namedtuple('Router', router.keys())(**router)
                  falcon_api.add_route(router_base_url + url, router)
                  if self.versions and self.versions != (None, ):
                      falcon_api.add_route(router_base_url + '/v{api_version}' + url, router)
  
          def error_serializer(request, response, error):
              response.content_type = self.output_format.content_type
              response.body = self.output_format({"errors": {error.title: error.description}},
                                                 request, response)
  
          falcon_api.set_error_serializer(error_serializer)
          return falcon_api