@@ -46,6 +46,7 @@ module Servant.Swagger.UI (
4646 SwaggerSchemaUI,
4747 SwaggerSchemaUI',
4848 swaggerSchemaUIServer,
49+ swaggerSchemaUIServer',
4950
5051 -- ** Official swagger ui
5152 swaggerUiIndexTemplate,
@@ -71,6 +72,17 @@ swaggerSchemaUIServer
7172swaggerSchemaUIServer =
7273 swaggerSchemaUIServerImpl swaggerUiIndexTemplate swaggerUiFiles
7374
75+-- | Use a custom server to serve the Swagger spec source.
76+--
77+-- This allows even more control over how the spec source is served.
78+-- It allows, for instance, serving the spec source with authentication,
79+-- customizing the response based on the client or serving a swagger.yaml
80+-- instead.
81+swaggerSchemaUIServer'
82+ :: Server api -> Server (SwaggerSchemaUI' dir api)
83+swaggerSchemaUIServer' =
84+ swaggerSchemaUIServerImpl' swaggerUiIndexTemplate swaggerUiFiles
85+
7486swaggerUiIndexTemplate :: Text
7587swaggerUiIndexTemplate = $(embedText "index.html.tmpl")
7688