@@ -46,6 +46,7 @@ module Servant.Swagger.UI (
46 SwaggerSchemaUI,
46 SwaggerSchemaUI,
47 SwaggerSchemaUI',
47 SwaggerSchemaUI',
48 swaggerSchemaUIServer,
48 swaggerSchemaUIServer,
49+ swaggerSchemaUIServer',
50 -- ** Official swagger ui
51 -- ** Official swagger ui
51 swaggerUiIndexTemplate,
52 swaggerUiIndexTemplate,
@@ -71,6 +72,17 @@ swaggerSchemaUIServer
71swaggerSchemaUIServer =
72swaggerSchemaUIServer =
72 swaggerSchemaUIServerImpl swaggerUiIndexTemplate swaggerUiFiles
73 swaggerSchemaUIServerImpl swaggerUiIndexTemplate swaggerUiFiles
75+-- | Use a custom server to serve the Swagger spec source.
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
81+swaggerSchemaUIServer'
82+ :: Server api -> Server (SwaggerSchemaUI' dir api)
83+swaggerSchemaUIServer' =
84+ swaggerSchemaUIServerImpl' swaggerUiIndexTemplate swaggerUiFiles
74swaggerUiIndexTemplate :: Text
86swaggerUiIndexTemplate :: Text
75swaggerUiIndexTemplate = $(embedText "index.html.tmpl")
87swaggerUiIndexTemplate = $(embedText "index.html.tmpl")