serve method

dynamic serve(
  1. DoxRequest req
)

Controller of the docs routes. The document is built and encoded on the first request, and again only when routes were added.

Implementation

dynamic serve(DoxRequest req) {
  List<RouteData> routes = Route().routes;
  OpenApiServer? server = _server;
  if (server == null || _builtFor != routes.length) {
    server = _server = OpenApiServer(
      build(routes),
      pageTitle: config.pageTitle,
      ui: config.ui,
      scalar: config.scalar,
    );
    _builtFor = routes.length;
  }
  OpenApiResponse? res = server.handle(req.uri.path);
  if (res == null) return null;
  return response(res.body).contentType(ContentType.parse(res.contentType));
}