Skip to content

Commit 3fd3d83

Browse files
enobayramphadej
authored andcommitted
Allow custom servers for the Swagger spec file
1 parent b442c67 commit 3fd3d83

File tree

11 files changed

+55
-11
lines changed

11 files changed

+55
-11
lines changed

servant-swagger-ui-core/Changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.3.3
2+
3+
- Add `swaggerSchemaUIServerImpl'`
4+
15
# 0.3.1
26

37
- Support `servant-0.14`

servant-swagger-ui-core/servant-swagger-ui-core.cabal

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
cabal-version: 1.12
22
name: servant-swagger-ui-core
3-
version: 0.3.2
4-
x-revision: 5
3+
version: 0.3.3
54
synopsis: Servant swagger ui core components
65
category: Web, Servant, Swagger
76
description:

servant-swagger-ui-core/src/Servant/Swagger/UI/Core.hs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ module Servant.Swagger.UI.Core (
4242
-- * Implementation details
4343
SwaggerUiHtml(..),
4444
swaggerSchemaUIServerImpl,
45+
swaggerSchemaUIServerImpl',
4546
Handler,
4647
) where
4748

@@ -103,7 +104,15 @@ swaggerSchemaUIServerImpl
103104
:: (Server api ~ Handler Swagger)
104105
=> T.Text -> [(FilePath, ByteString)]
105106
-> Swagger -> Server (SwaggerSchemaUI' dir api)
106-
swaggerSchemaUIServerImpl indexTemplate files swagger = return swagger
107+
swaggerSchemaUIServerImpl indexTemplate files swagger
108+
= swaggerSchemaUIServerImpl' indexTemplate files $ return swagger
109+
110+
-- | Use a custom server to serve the Swagger spec source.
111+
swaggerSchemaUIServerImpl'
112+
:: T.Text -> [(FilePath, ByteString)]
113+
-> Server api -> Server (SwaggerSchemaUI' dir api)
114+
swaggerSchemaUIServerImpl' indexTemplate files server
115+
= server
107116
:<|> return (SwaggerUiHtml indexTemplate)
108117
:<|> return (SwaggerUiHtml indexTemplate)
109118
:<|> rest

servant-swagger-ui-jensoleg/servant-swagger-ui-jensoleg.cabal

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
cabal-version: 1.12
22
name: servant-swagger-ui-jensoleg
3-
version: 0.3.2
4-
x-revision: 3
3+
version: 0.3.3
54
synopsis: Servant swagger ui: Jens-Ole Graulund theme
65
category: Web, Servant, Swagger
76
description:
@@ -79,7 +78,7 @@ source-repository head
7978
library
8079
hs-source-dirs: src
8180
ghc-options: -Wall
82-
build-depends: servant-swagger-ui-core >=0.3.2 && <0.4
81+
build-depends: servant-swagger-ui-core >=0.3.3 && <0.4
8382
build-depends:
8483
base >=4.7 && <4.13
8584
, bytestring >=0.10.4.0 && <0.11

servant-swagger-ui-jensoleg/src/Servant/Swagger/UI/JensOleG.hs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ module Servant.Swagger.UI.JensOleG (
4646
SwaggerSchemaUI,
4747
SwaggerSchemaUI',
4848
jensolegSwaggerSchemaUIServer,
49+
jensolegSwaggerSchemaUIServer',
4950

5051
-- ** ReDoc theme
5152
jensolegIndexTemplate,
@@ -71,6 +72,12 @@ jensolegSwaggerSchemaUIServer
7172
jensolegSwaggerSchemaUIServer =
7273
swaggerSchemaUIServerImpl jensolegIndexTemplate jensolegFiles
7374

75+
-- | Use a custom server to serve the Swagger spec source.
76+
jensolegSwaggerSchemaUIServer'
77+
:: Server api -> Server (SwaggerSchemaUI' dir api)
78+
jensolegSwaggerSchemaUIServer' =
79+
swaggerSchemaUIServerImpl' jensolegIndexTemplate jensolegFiles
80+
7481
jensolegIndexTemplate :: Text
7582
jensolegIndexTemplate = $(embedText "jensoleg.index.html.tmpl")
7683

servant-swagger-ui-redoc/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
- 0.3.3.1.22.2
2+
- Add `swaggerSchemaUIServer'`
3+
14
- 0.3.2.1.22.2
25
- Update to ReDoc-1.22.2
36
- Add GHC-8.6 support

servant-swagger-ui-redoc/servant-swagger-ui-redoc.cabal

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
cabal-version: 1.12
22
name: servant-swagger-ui-redoc
3-
version: 0.3.2.1.22.2
4-
x-revision: 3
3+
version: 0.3.3.1.22.2
54
synopsis: Servant swagger ui: ReDoc theme
65
category: Web, Servant, Swagger
76
description:
@@ -33,7 +32,7 @@ source-repository head
3332
library
3433
hs-source-dirs: src
3534
ghc-options: -Wall
36-
build-depends: servant-swagger-ui-core >=0.3.2 && <0.4
35+
build-depends: servant-swagger-ui-core >=0.3.3 && <0.4
3736
build-depends:
3837
base >=4.7 && <4.13
3938
, bytestring >=0.10.4.0 && <0.11

servant-swagger-ui-redoc/src/Servant/Swagger/UI/ReDoc.hs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ module Servant.Swagger.UI.ReDoc (
4646
SwaggerSchemaUI,
4747
SwaggerSchemaUI',
4848
redocSchemaUIServer,
49+
redocSchemaUIServer',
4950

5051
-- ** ReDoc theme
5152
redocIndexTemplate,
@@ -69,6 +70,13 @@ redocSchemaUIServer
6970
redocSchemaUIServer =
7071
swaggerSchemaUIServerImpl redocIndexTemplate redocFiles
7172

73+
-- | Use a custom server to serve the Swagger spec source.
74+
redocSchemaUIServer'
75+
:: Server api -> Server (SwaggerSchemaUI' dir api)
76+
redocSchemaUIServer' =
77+
swaggerSchemaUIServerImpl' redocIndexTemplate redocFiles
78+
79+
7280
redocIndexTemplate :: Text
7381
redocIndexTemplate = $(embedText "redoc.index.html.tmpl")
7482

servant-swagger-ui/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
- 0.3.3.3.22.2
2+
- Update to `swagger-ui-3.22.2`
3+
- Add `swaggerSchemaUIServer'`
4+
15
- 0.3.2.3.19.3
26
- Update to `swagger-ui-3.19.3`
37
- Add GHC-8.6 support

servant-swagger-ui/servant-swagger-ui.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 1.12
22
name: servant-swagger-ui
3-
version: 0.3.2.3.22.2
3+
version: 0.3.3.3.22.2
44
synopsis: Servant swagger ui
55
category: Web, Servant, Swagger
66
description:
@@ -37,7 +37,7 @@ source-repository head
3737
library
3838
hs-source-dirs: src
3939
ghc-options: -Wall
40-
build-depends: servant-swagger-ui-core ==0.3.*
40+
build-depends: servant-swagger-ui-core >=0.3.3 && <0.4
4141
build-depends:
4242
base >=4.7 && <4.13
4343
, bytestring >=0.10.4.0 && <0.11

0 commit comments

Comments
 (0)