packages feed

servant-swagger-ui 0.1.0.2.1.4 → 0.1.1.2.1.4

raw patch · 4 files changed

+35/−29 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

+ CHANGELOG.md view
@@ -0,0 +1,3 @@+- 0.1.1.2.1.4++   - Documentation and example improvements
example/Main.hs view
@@ -67,9 +67,9 @@ type SwaggerSchemaEndpoint = "swagger.js" :> Get '[JSON] Swagger  data API-type API' = BasicAPI-    :<|> SwaggerSchemaEndpoint+type API' = SwaggerSchemaEndpoint     :<|> SwaggerUI "ui" SwaggerSchemaEndpoint API+    :<|> BasicAPI  instance HasServer API #if MIN_VERSION_servant(0,5,0)@@ -83,10 +83,9 @@  -- Implementation server :: Server API-server =-    (return "Hello World" :<|> catEndpoint :<|> catEndpoint :<|> catEndpoint)-    :<|> return swaggerDoc+server = return swaggerDoc     :<|> swaggerUIServer+    :<|> (return "Hello World" :<|> catEndpoint :<|> catEndpoint :<|> catEndpoint)   where     catEndpoint n = return $ Cat n False 
servant-swagger-ui.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           servant-swagger-ui-version:        0.1.0.2.1.4+version:        0.1.1.2.1.4 synopsis:       Servant swagger ui description:    Provide embedded swagger UI for servant and swagger (i.e. servant-swagger) category:       Web@@ -18,6 +18,7 @@ cabal-version:  >= 1.10  extra-source-files:+    CHANGELOG.md     index.html.tmpl     README.md     swagger-dist-2.1.4/css/print.css@@ -81,9 +82,9 @@     , file-embed        >=0.0.9    && <0.1     , filepath          >=1.3.0.2  && <1.5     , http-media        >=0.6.2    && <0.8-    , servant           >=0.4.4.5  && <0.8-    , servant-blaze     >=0.4.4.5  && <0.8-    , servant-server    >=0.4.4.5  && <0.8+    , servant           >=0.4.4.5  && <0.9+    , servant-blaze     >=0.4.4.5  && <0.9+    , servant-server    >=0.4.4.5  && <0.9     , servant-swagger   >=1.0.3    && <1.2     , swagger2          >=2.0.1    && <2.2     , template-haskell  >=2.9      && <2.12@@ -108,16 +109,16 @@     , file-embed        >=0.0.9    && <0.1     , filepath          >=1.3.0.2  && <1.5     , http-media        >=0.6.2    && <0.8-    , servant           >=0.4.4.5  && <0.8-    , servant-blaze     >=0.4.4.5  && <0.8-    , servant-server    >=0.4.4.5  && <0.8+    , servant           >=0.4.4.5  && <0.9+    , servant-blaze     >=0.4.4.5  && <0.9+    , servant-server    >=0.4.4.5  && <0.9     , servant-swagger   >=1.0.3    && <1.2     , swagger2          >=2.0.1    && <2.2     , template-haskell  >=2.9      && <2.12     , text              >=1.2.0.6  && <1.3     , wai-app-static    >=3.0.1.1  && <3.2     , servant-swagger-ui-    , servant-server >=0.4.4.5  && <0.8+    , servant-server >=0.4.4.5  && <0.9     , aeson          >=0.8.0.2  && <0.12     , base-compat    >=0.6.0    && <0.10     , lens           >=4.7.0.1  && <4.15
src/Servant/Swagger/UI.hs view
@@ -24,42 +24,44 @@ -- /An example:/ -- -- @--- -- | Actual API+-- -- | Actual API. -- type BasicAPI = Get '[PlainText, JSON] Text --     :\<|> "cat" :> Capture ":name" CatName :> Get '[JSON] Cat ----- -- | Swagger schema endpoint+-- -- | Swagger schema endpoint. -- type SwaggerSchemaEndpoint = "swagger.js" :> Get '[JSON] Swagger -- -- -- | Unhabitated new data type, to be able to refer to API type from the API type. -- data API ----- -- | Underlying API type--- type API' = BasicAPI---     :\<|> SwaggerSchemaEndpoint+-- -- | Underlying API type.+-- --+-- -- NOTE: place BasicAPI last for it not to override SwaggerSchemaEndpoing and SwaggerUI.+-- -- If you place BasicAPI first and it has Raw endpoint at root Swagger schema and UI won't work.+-- type API' = SwaggerSchemaEndpoint --     :\<|> 'SwaggerUI' "ui" SwaggerSchemaEndpoint API------ -- Unfortunately we have to write those trivial instances.+--     :\<|> BasicAPI -- -- -- Optionally we can do:--- -- data API'= BasicAPI--- --     :\<|> SwaggerSchemaEndpoint -- ----- -- | Underlying API type--- -- type API = API'--- --     :\<|> SwaggerUI "ui" SwaggerSchemaEndpoint API'+-- -- type API' = SwaggerSchemaEndpoint+-- --     :\<|> BasicAPI+-- --+-- -- type API = SwaggerUI "ui" SwaggerSchemaEndpoint API'+-- --     :\<|> API' ----- instance HasServer API where+-- -- Unfortunately we have to write these trivial instances.+--+-- instance HasServer API context where --   type ServerT API m = ServerT API' m --   route _ = route (Proxy :: Proxy API') -- -- type instance IsElem' e API = IsElem e API' -- -- server :: Server API--- server =---     (pure "Hello World" :\<|> catEndpoint)---     :\<|> pure swaggerDoc+-- server = pure swaggerDoc --     :\<|> 'swaggerUIServer'+--     :\<|> (pure "Hello World" :\<|> catEndpoint) --   where --     catEndpoint name = pure $ Cat name False -- @@@ -103,6 +105,7 @@         uri = safeLink (Proxy :: Proxy api) (Proxy :: Proxy endpoint) :: URI         url = T.pack $ "/" <> uriPath uri -- TODO: do we need more? +-- | Serve Swagger UI on @/<dir>@ using @endpoint@ as Swagger spec source for @api@. swaggerUIServer :: Server (SwaggerUI dir endpoint api) swaggerUIServer = return SwaggerUiHtml :<|> return SwaggerUiHtml :<|> rest   where rest = staticApp $ embeddedSettings swaggerUiFiles