mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-06 20:16:11 +00:00
[haskell-http-client] handle */* mimetype correctly & split api modules & allowNonUniqueOperationIds (#7254)
* [haskell-http-client] handle */* mimetype correctly * [haskell-http-client] generate separate api modules, for each child api * [haskell-http-client] add cliOption "allowNonUniqueOperationIds" When cli option "allowNonUniqueOperationIds" is true, allows *different* API modules to contain the same operationId, and then each API must be imported qualified.
This commit is contained in:
committed by
William Cheng
parent
919f867eba
commit
bca2b9fb5b
@@ -14,7 +14,7 @@ Module : SwaggerPetstore
|
||||
-}
|
||||
|
||||
module SwaggerPetstore
|
||||
( module SwaggerPetstore.API
|
||||
( module SwaggerPetstore.API
|
||||
, module SwaggerPetstore.Client
|
||||
, module SwaggerPetstore.Core
|
||||
, module SwaggerPetstore.Logging
|
||||
@@ -29,4 +29,4 @@ import SwaggerPetstore.Core
|
||||
import SwaggerPetstore.Logging
|
||||
import SwaggerPetstore.MimeTypes
|
||||
import SwaggerPetstore.Model
|
||||
import SwaggerPetstore.ModelLens
|
||||
import SwaggerPetstore.ModelLens
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,89 @@
|
||||
{-
|
||||
Swagger Petstore
|
||||
|
||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
|
||||
OpenAPI spec version: 2.0
|
||||
Swagger Petstore API version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}
|
||||
|
||||
{-|
|
||||
Module : SwaggerPetstore.API.AnotherFake
|
||||
-}
|
||||
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE MonoLocalBinds #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module SwaggerPetstore.API.AnotherFake where
|
||||
|
||||
import SwaggerPetstore.Core
|
||||
import SwaggerPetstore.MimeTypes
|
||||
import SwaggerPetstore.Model as M
|
||||
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Maybe as P
|
||||
import qualified Data.Proxy as P (Proxy(..))
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.String as P
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as T
|
||||
import qualified Data.Text.Lazy as TL
|
||||
import qualified Data.Text.Lazy.Encoding as TL
|
||||
import qualified Data.Time as TI
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
import qualified Network.HTTP.Types as NH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
import qualified Web.HttpApiData as WH
|
||||
|
||||
import Data.Text (Text)
|
||||
import GHC.Base ((<|>))
|
||||
|
||||
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
import qualified Prelude as P
|
||||
|
||||
-- * Operations
|
||||
|
||||
|
||||
-- ** AnotherFake
|
||||
|
||||
-- *** testSpecialTags
|
||||
|
||||
-- | @PATCH \/another-fake\/dummy@
|
||||
--
|
||||
-- To test special tags
|
||||
--
|
||||
-- To test special tags
|
||||
--
|
||||
testSpecialTags
|
||||
:: (Consumes TestSpecialTags contentType, MimeRender contentType Client)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Client -- ^ "body" - client model
|
||||
-> SwaggerPetstoreRequest TestSpecialTags contentType Client accept
|
||||
testSpecialTags _ _ body =
|
||||
_mkRequest "PATCH" ["/another-fake/dummy"]
|
||||
`setBodyParam` body
|
||||
|
||||
data TestSpecialTags
|
||||
|
||||
-- | /Body Param/ "body" - client model
|
||||
instance HasBodyParam TestSpecialTags Client
|
||||
|
||||
-- | @application/json@
|
||||
instance Consumes TestSpecialTags MimeJSON
|
||||
|
||||
-- | @application/json@
|
||||
instance Produces TestSpecialTags MimeJSON
|
||||
|
||||
@@ -0,0 +1,375 @@
|
||||
{-
|
||||
Swagger Petstore
|
||||
|
||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
|
||||
OpenAPI spec version: 2.0
|
||||
Swagger Petstore API version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}
|
||||
|
||||
{-|
|
||||
Module : SwaggerPetstore.API.Fake
|
||||
-}
|
||||
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE MonoLocalBinds #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module SwaggerPetstore.API.Fake where
|
||||
|
||||
import SwaggerPetstore.Core
|
||||
import SwaggerPetstore.MimeTypes
|
||||
import SwaggerPetstore.Model as M
|
||||
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Maybe as P
|
||||
import qualified Data.Proxy as P (Proxy(..))
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.String as P
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as T
|
||||
import qualified Data.Text.Lazy as TL
|
||||
import qualified Data.Text.Lazy.Encoding as TL
|
||||
import qualified Data.Time as TI
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
import qualified Network.HTTP.Types as NH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
import qualified Web.HttpApiData as WH
|
||||
|
||||
import Data.Text (Text)
|
||||
import GHC.Base ((<|>))
|
||||
|
||||
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
import qualified Prelude as P
|
||||
|
||||
-- * Operations
|
||||
|
||||
|
||||
-- ** Fake
|
||||
|
||||
-- *** fakeOuterBooleanSerialize
|
||||
|
||||
-- | @POST \/fake\/outer\/boolean@
|
||||
--
|
||||
-- Test serialization of outer boolean types
|
||||
--
|
||||
fakeOuterBooleanSerialize
|
||||
:: (Consumes FakeOuterBooleanSerialize contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> SwaggerPetstoreRequest FakeOuterBooleanSerialize contentType OuterBoolean accept
|
||||
fakeOuterBooleanSerialize _ _ =
|
||||
_mkRequest "POST" ["/fake/outer/boolean"]
|
||||
|
||||
data FakeOuterBooleanSerialize
|
||||
|
||||
-- | /Body Param/ "body" - Input boolean as post body
|
||||
instance HasBodyParam FakeOuterBooleanSerialize OuterBoolean
|
||||
|
||||
-- *** fakeOuterCompositeSerialize
|
||||
|
||||
-- | @POST \/fake\/outer\/composite@
|
||||
--
|
||||
-- Test serialization of object with outer number type
|
||||
--
|
||||
fakeOuterCompositeSerialize
|
||||
:: (Consumes FakeOuterCompositeSerialize contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> SwaggerPetstoreRequest FakeOuterCompositeSerialize contentType OuterComposite accept
|
||||
fakeOuterCompositeSerialize _ _ =
|
||||
_mkRequest "POST" ["/fake/outer/composite"]
|
||||
|
||||
data FakeOuterCompositeSerialize
|
||||
|
||||
-- | /Body Param/ "body" - Input composite as post body
|
||||
instance HasBodyParam FakeOuterCompositeSerialize OuterComposite
|
||||
|
||||
-- *** fakeOuterNumberSerialize
|
||||
|
||||
-- | @POST \/fake\/outer\/number@
|
||||
--
|
||||
-- Test serialization of outer number types
|
||||
--
|
||||
fakeOuterNumberSerialize
|
||||
:: (Consumes FakeOuterNumberSerialize contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> SwaggerPetstoreRequest FakeOuterNumberSerialize contentType OuterNumber accept
|
||||
fakeOuterNumberSerialize _ _ =
|
||||
_mkRequest "POST" ["/fake/outer/number"]
|
||||
|
||||
data FakeOuterNumberSerialize
|
||||
|
||||
-- | /Body Param/ "body" - Input number as post body
|
||||
instance HasBodyParam FakeOuterNumberSerialize OuterNumber
|
||||
|
||||
-- *** fakeOuterStringSerialize
|
||||
|
||||
-- | @POST \/fake\/outer\/string@
|
||||
--
|
||||
-- Test serialization of outer string types
|
||||
--
|
||||
fakeOuterStringSerialize
|
||||
:: (Consumes FakeOuterStringSerialize contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> SwaggerPetstoreRequest FakeOuterStringSerialize contentType OuterString accept
|
||||
fakeOuterStringSerialize _ _ =
|
||||
_mkRequest "POST" ["/fake/outer/string"]
|
||||
|
||||
data FakeOuterStringSerialize
|
||||
|
||||
-- | /Body Param/ "body" - Input string as post body
|
||||
instance HasBodyParam FakeOuterStringSerialize OuterString
|
||||
|
||||
-- *** testClientModel
|
||||
|
||||
-- | @PATCH \/fake@
|
||||
--
|
||||
-- To test \"client\" model
|
||||
--
|
||||
-- To test \"client\" model
|
||||
--
|
||||
testClientModel
|
||||
:: (Consumes TestClientModel contentType, MimeRender contentType Client)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Client -- ^ "body" - client model
|
||||
-> SwaggerPetstoreRequest TestClientModel contentType Client accept
|
||||
testClientModel _ _ body =
|
||||
_mkRequest "PATCH" ["/fake"]
|
||||
`setBodyParam` body
|
||||
|
||||
data TestClientModel
|
||||
|
||||
-- | /Body Param/ "body" - client model
|
||||
instance HasBodyParam TestClientModel Client
|
||||
|
||||
-- | @application/json@
|
||||
instance Consumes TestClientModel MimeJSON
|
||||
|
||||
-- | @application/json@
|
||||
instance Produces TestClientModel MimeJSON
|
||||
|
||||
|
||||
-- *** testEndpointParameters
|
||||
|
||||
-- | @POST \/fake@
|
||||
--
|
||||
-- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
|
||||
--
|
||||
-- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
|
||||
--
|
||||
-- AuthMethod: 'AuthBasicHttpBasicTest'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
testEndpointParameters
|
||||
:: (Consumes TestEndpointParameters contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Number -- ^ "number" - None
|
||||
-> ParamDouble -- ^ "double" - None
|
||||
-> PatternWithoutDelimiter -- ^ "patternWithoutDelimiter" - None
|
||||
-> Byte -- ^ "byte" - None
|
||||
-> SwaggerPetstoreRequest TestEndpointParameters contentType res accept
|
||||
testEndpointParameters _ _ (Number number) (ParamDouble double) (PatternWithoutDelimiter patternWithoutDelimiter) (Byte byte) =
|
||||
_mkRequest "POST" ["/fake"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicHttpBasicTest)
|
||||
`addForm` toForm ("number", number)
|
||||
`addForm` toForm ("double", double)
|
||||
`addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter)
|
||||
`addForm` toForm ("byte", byte)
|
||||
|
||||
data TestEndpointParameters
|
||||
|
||||
-- | /Optional Param/ "integer" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamInteger where
|
||||
applyOptionalParam req (ParamInteger xs) =
|
||||
req `addForm` toForm ("integer", xs)
|
||||
|
||||
-- | /Optional Param/ "int32" - None
|
||||
instance HasOptionalParam TestEndpointParameters Int32 where
|
||||
applyOptionalParam req (Int32 xs) =
|
||||
req `addForm` toForm ("int32", xs)
|
||||
|
||||
-- | /Optional Param/ "int64" - None
|
||||
instance HasOptionalParam TestEndpointParameters Int64 where
|
||||
applyOptionalParam req (Int64 xs) =
|
||||
req `addForm` toForm ("int64", xs)
|
||||
|
||||
-- | /Optional Param/ "float" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamFloat where
|
||||
applyOptionalParam req (ParamFloat xs) =
|
||||
req `addForm` toForm ("float", xs)
|
||||
|
||||
-- | /Optional Param/ "string" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamString where
|
||||
applyOptionalParam req (ParamString xs) =
|
||||
req `addForm` toForm ("string", xs)
|
||||
|
||||
-- | /Optional Param/ "binary" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamBinary where
|
||||
applyOptionalParam req (ParamBinary xs) =
|
||||
req `addForm` toForm ("binary", xs)
|
||||
|
||||
-- | /Optional Param/ "date" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamDate where
|
||||
applyOptionalParam req (ParamDate xs) =
|
||||
req `addForm` toForm ("date", xs)
|
||||
|
||||
-- | /Optional Param/ "dateTime" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamDateTime where
|
||||
applyOptionalParam req (ParamDateTime xs) =
|
||||
req `addForm` toForm ("dateTime", xs)
|
||||
|
||||
-- | /Optional Param/ "password" - None
|
||||
instance HasOptionalParam TestEndpointParameters Password where
|
||||
applyOptionalParam req (Password xs) =
|
||||
req `addForm` toForm ("password", xs)
|
||||
|
||||
-- | /Optional Param/ "callback" - None
|
||||
instance HasOptionalParam TestEndpointParameters Callback where
|
||||
applyOptionalParam req (Callback xs) =
|
||||
req `addForm` toForm ("callback", xs)
|
||||
|
||||
-- | @application/xml; charset=utf-8@
|
||||
instance Consumes TestEndpointParameters MimeXmlCharsetutf8
|
||||
-- | @application/json; charset=utf-8@
|
||||
instance Consumes TestEndpointParameters MimeJsonCharsetutf8
|
||||
|
||||
-- | @application/xml; charset=utf-8@
|
||||
instance Produces TestEndpointParameters MimeXmlCharsetutf8
|
||||
-- | @application/json; charset=utf-8@
|
||||
instance Produces TestEndpointParameters MimeJsonCharsetutf8
|
||||
|
||||
|
||||
-- *** testEnumParameters
|
||||
|
||||
-- | @GET \/fake@
|
||||
--
|
||||
-- To test enum parameters
|
||||
--
|
||||
-- To test enum parameters
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
testEnumParameters
|
||||
:: (Consumes TestEnumParameters contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> SwaggerPetstoreRequest TestEnumParameters contentType res accept
|
||||
testEnumParameters _ _ =
|
||||
_mkRequest "GET" ["/fake"]
|
||||
|
||||
data TestEnumParameters
|
||||
|
||||
-- | /Optional Param/ "enum_form_string_array" - Form parameter enum test (string array)
|
||||
instance HasOptionalParam TestEnumParameters EnumFormStringArray where
|
||||
applyOptionalParam req (EnumFormStringArray xs) =
|
||||
req `addForm` toFormColl CommaSeparated ("enum_form_string_array", xs)
|
||||
|
||||
-- | /Optional Param/ "enum_form_string" - Form parameter enum test (string)
|
||||
instance HasOptionalParam TestEnumParameters EnumFormString where
|
||||
applyOptionalParam req (EnumFormString xs) =
|
||||
req `addForm` toForm ("enum_form_string", xs)
|
||||
|
||||
-- | /Optional Param/ "enum_header_string_array" - Header parameter enum test (string array)
|
||||
instance HasOptionalParam TestEnumParameters EnumHeaderStringArray where
|
||||
applyOptionalParam req (EnumHeaderStringArray xs) =
|
||||
req `setHeader` toHeaderColl CommaSeparated ("enum_header_string_array", xs)
|
||||
|
||||
-- | /Optional Param/ "enum_header_string" - Header parameter enum test (string)
|
||||
instance HasOptionalParam TestEnumParameters EnumHeaderString where
|
||||
applyOptionalParam req (EnumHeaderString xs) =
|
||||
req `setHeader` toHeader ("enum_header_string", xs)
|
||||
|
||||
-- | /Optional Param/ "enum_query_string_array" - Query parameter enum test (string array)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryStringArray where
|
||||
applyOptionalParam req (EnumQueryStringArray xs) =
|
||||
req `setQuery` toQueryColl CommaSeparated ("enum_query_string_array", Just xs)
|
||||
|
||||
-- | /Optional Param/ "enum_query_string" - Query parameter enum test (string)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryString where
|
||||
applyOptionalParam req (EnumQueryString xs) =
|
||||
req `setQuery` toQuery ("enum_query_string", Just xs)
|
||||
|
||||
-- | /Optional Param/ "enum_query_integer" - Query parameter enum test (double)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryInteger where
|
||||
applyOptionalParam req (EnumQueryInteger xs) =
|
||||
req `setQuery` toQuery ("enum_query_integer", Just xs)
|
||||
|
||||
-- | /Optional Param/ "enum_query_double" - Query parameter enum test (double)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryDouble where
|
||||
applyOptionalParam req (EnumQueryDouble xs) =
|
||||
req `addForm` toForm ("enum_query_double", xs)
|
||||
|
||||
-- | @*/*@
|
||||
instance MimeType mtype => Consumes TestEnumParameters mtype
|
||||
|
||||
-- | @*/*@
|
||||
instance MimeType mtype => Produces TestEnumParameters mtype
|
||||
|
||||
|
||||
-- *** testInlineAdditionalProperties
|
||||
|
||||
-- | @POST \/fake\/inline-additionalProperties@
|
||||
--
|
||||
-- test inline additionalProperties
|
||||
--
|
||||
--
|
||||
--
|
||||
testInlineAdditionalProperties
|
||||
:: (Consumes TestInlineAdditionalProperties contentType, MimeRender contentType A.Value)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> A.Value -- ^ "param" - request body
|
||||
-> SwaggerPetstoreRequest TestInlineAdditionalProperties contentType NoContent MimeNoContent
|
||||
testInlineAdditionalProperties _ param =
|
||||
_mkRequest "POST" ["/fake/inline-additionalProperties"]
|
||||
`setBodyParam` param
|
||||
|
||||
data TestInlineAdditionalProperties
|
||||
|
||||
-- | /Body Param/ "param" - request body
|
||||
instance HasBodyParam TestInlineAdditionalProperties A.Value
|
||||
|
||||
-- | @application/json@
|
||||
instance Consumes TestInlineAdditionalProperties MimeJSON
|
||||
|
||||
|
||||
-- *** testJsonFormData
|
||||
|
||||
-- | @GET \/fake\/jsonFormData@
|
||||
--
|
||||
-- test json serialization of form data
|
||||
--
|
||||
--
|
||||
--
|
||||
testJsonFormData
|
||||
:: (Consumes TestJsonFormData contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Param -- ^ "param" - field1
|
||||
-> Param2 -- ^ "param2" - field2
|
||||
-> SwaggerPetstoreRequest TestJsonFormData contentType NoContent MimeNoContent
|
||||
testJsonFormData _ (Param param) (Param2 param2) =
|
||||
_mkRequest "GET" ["/fake/jsonFormData"]
|
||||
`addForm` toForm ("param", param)
|
||||
`addForm` toForm ("param2", param2)
|
||||
|
||||
data TestJsonFormData
|
||||
|
||||
-- | @application/json@
|
||||
instance Consumes TestJsonFormData MimeJSON
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
{-
|
||||
Swagger Petstore
|
||||
|
||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
|
||||
OpenAPI spec version: 2.0
|
||||
Swagger Petstore API version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}
|
||||
|
||||
{-|
|
||||
Module : SwaggerPetstore.API.FakeClassnameTags123
|
||||
-}
|
||||
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE MonoLocalBinds #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module SwaggerPetstore.API.FakeClassnameTags123 where
|
||||
|
||||
import SwaggerPetstore.Core
|
||||
import SwaggerPetstore.MimeTypes
|
||||
import SwaggerPetstore.Model as M
|
||||
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Maybe as P
|
||||
import qualified Data.Proxy as P (Proxy(..))
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.String as P
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as T
|
||||
import qualified Data.Text.Lazy as TL
|
||||
import qualified Data.Text.Lazy.Encoding as TL
|
||||
import qualified Data.Time as TI
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
import qualified Network.HTTP.Types as NH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
import qualified Web.HttpApiData as WH
|
||||
|
||||
import Data.Text (Text)
|
||||
import GHC.Base ((<|>))
|
||||
|
||||
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
import qualified Prelude as P
|
||||
|
||||
-- * Operations
|
||||
|
||||
|
||||
-- ** FakeClassnameTags123
|
||||
|
||||
-- *** testClassname
|
||||
|
||||
-- | @PATCH \/fake_classname_test@
|
||||
--
|
||||
-- To test class name in snake case
|
||||
--
|
||||
-- AuthMethod: 'AuthApiKeyApiKeyQuery'
|
||||
--
|
||||
testClassname
|
||||
:: (Consumes TestClassname contentType, MimeRender contentType Client)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Client -- ^ "body" - client model
|
||||
-> SwaggerPetstoreRequest TestClassname contentType Client accept
|
||||
testClassname _ _ body =
|
||||
_mkRequest "PATCH" ["/fake_classname_test"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKeyQuery)
|
||||
`setBodyParam` body
|
||||
|
||||
data TestClassname
|
||||
|
||||
-- | /Body Param/ "body" - client model
|
||||
instance HasBodyParam TestClassname Client
|
||||
|
||||
-- | @application/json@
|
||||
instance Consumes TestClassname MimeJSON
|
||||
|
||||
-- | @application/json@
|
||||
instance Produces TestClassname MimeJSON
|
||||
|
||||
@@ -0,0 +1,328 @@
|
||||
{-
|
||||
Swagger Petstore
|
||||
|
||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
|
||||
OpenAPI spec version: 2.0
|
||||
Swagger Petstore API version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}
|
||||
|
||||
{-|
|
||||
Module : SwaggerPetstore.API.Pet
|
||||
-}
|
||||
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE MonoLocalBinds #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module SwaggerPetstore.API.Pet where
|
||||
|
||||
import SwaggerPetstore.Core
|
||||
import SwaggerPetstore.MimeTypes
|
||||
import SwaggerPetstore.Model as M
|
||||
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Maybe as P
|
||||
import qualified Data.Proxy as P (Proxy(..))
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.String as P
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as T
|
||||
import qualified Data.Text.Lazy as TL
|
||||
import qualified Data.Text.Lazy.Encoding as TL
|
||||
import qualified Data.Time as TI
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
import qualified Network.HTTP.Types as NH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
import qualified Web.HttpApiData as WH
|
||||
|
||||
import Data.Text (Text)
|
||||
import GHC.Base ((<|>))
|
||||
|
||||
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
import qualified Prelude as P
|
||||
|
||||
-- * Operations
|
||||
|
||||
|
||||
-- ** Pet
|
||||
|
||||
-- *** addPet
|
||||
|
||||
-- | @POST \/pet@
|
||||
--
|
||||
-- Add a new pet to the store
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
addPet
|
||||
:: (Consumes AddPet contentType, MimeRender contentType Pet)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Pet -- ^ "body" - Pet object that needs to be added to the store
|
||||
-> SwaggerPetstoreRequest AddPet contentType res accept
|
||||
addPet _ _ body =
|
||||
_mkRequest "POST" ["/pet"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
`setBodyParam` body
|
||||
|
||||
data AddPet
|
||||
|
||||
-- | /Body Param/ "body" - Pet object that needs to be added to the store
|
||||
instance HasBodyParam AddPet Pet
|
||||
|
||||
-- | @application/json@
|
||||
instance Consumes AddPet MimeJSON
|
||||
-- | @application/xml@
|
||||
instance Consumes AddPet MimeXML
|
||||
|
||||
-- | @application/xml@
|
||||
instance Produces AddPet MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces AddPet MimeJSON
|
||||
|
||||
|
||||
-- *** deletePet
|
||||
|
||||
-- | @DELETE \/pet\/{petId}@
|
||||
--
|
||||
-- Deletes a pet
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
deletePet
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> PetId -- ^ "petId" - Pet id to delete
|
||||
-> SwaggerPetstoreRequest DeletePet MimeNoContent res accept
|
||||
deletePet _ (PetId petId) =
|
||||
_mkRequest "DELETE" ["/pet/",toPath petId]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data DeletePet
|
||||
instance HasOptionalParam DeletePet ApiKey where
|
||||
applyOptionalParam req (ApiKey xs) =
|
||||
req `setHeader` toHeader ("api_key", xs)
|
||||
-- | @application/xml@
|
||||
instance Produces DeletePet MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces DeletePet MimeJSON
|
||||
|
||||
|
||||
-- *** findPetsByStatus
|
||||
|
||||
-- | @GET \/pet\/findByStatus@
|
||||
--
|
||||
-- Finds Pets by status
|
||||
--
|
||||
-- Multiple status values can be provided with comma separated strings
|
||||
--
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
findPetsByStatus
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> Status -- ^ "status" - Status values that need to be considered for filter
|
||||
-> SwaggerPetstoreRequest FindPetsByStatus MimeNoContent [Pet] accept
|
||||
findPetsByStatus _ (Status status) =
|
||||
_mkRequest "GET" ["/pet/findByStatus"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
`setQuery` toQueryColl CommaSeparated ("status", Just status)
|
||||
|
||||
data FindPetsByStatus
|
||||
-- | @application/xml@
|
||||
instance Produces FindPetsByStatus MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces FindPetsByStatus MimeJSON
|
||||
|
||||
|
||||
-- *** findPetsByTags
|
||||
|
||||
-- | @GET \/pet\/findByTags@
|
||||
--
|
||||
-- Finds Pets by tags
|
||||
--
|
||||
-- Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
--
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
findPetsByTags
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> Tags -- ^ "tags" - Tags to filter by
|
||||
-> SwaggerPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
|
||||
findPetsByTags _ (Tags tags) =
|
||||
_mkRequest "GET" ["/pet/findByTags"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
`setQuery` toQueryColl CommaSeparated ("tags", Just tags)
|
||||
|
||||
{-# DEPRECATED findPetsByTags "" #-}
|
||||
|
||||
data FindPetsByTags
|
||||
-- | @application/xml@
|
||||
instance Produces FindPetsByTags MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces FindPetsByTags MimeJSON
|
||||
|
||||
|
||||
-- *** getPetById
|
||||
|
||||
-- | @GET \/pet\/{petId}@
|
||||
--
|
||||
-- Find pet by ID
|
||||
--
|
||||
-- Returns a single pet
|
||||
--
|
||||
-- AuthMethod: 'AuthApiKeyApiKey'
|
||||
--
|
||||
getPetById
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> PetId -- ^ "petId" - ID of pet to return
|
||||
-> SwaggerPetstoreRequest GetPetById MimeNoContent Pet accept
|
||||
getPetById _ (PetId petId) =
|
||||
_mkRequest "GET" ["/pet/",toPath petId]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
|
||||
|
||||
data GetPetById
|
||||
-- | @application/xml@
|
||||
instance Produces GetPetById MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces GetPetById MimeJSON
|
||||
|
||||
|
||||
-- *** updatePet
|
||||
|
||||
-- | @PUT \/pet@
|
||||
--
|
||||
-- Update an existing pet
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
updatePet
|
||||
:: (Consumes UpdatePet contentType, MimeRender contentType Pet)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Pet -- ^ "body" - Pet object that needs to be added to the store
|
||||
-> SwaggerPetstoreRequest UpdatePet contentType res accept
|
||||
updatePet _ _ body =
|
||||
_mkRequest "PUT" ["/pet"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
`setBodyParam` body
|
||||
|
||||
data UpdatePet
|
||||
|
||||
-- | /Body Param/ "body" - Pet object that needs to be added to the store
|
||||
instance HasBodyParam UpdatePet Pet
|
||||
|
||||
-- | @application/json@
|
||||
instance Consumes UpdatePet MimeJSON
|
||||
-- | @application/xml@
|
||||
instance Consumes UpdatePet MimeXML
|
||||
|
||||
-- | @application/xml@
|
||||
instance Produces UpdatePet MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces UpdatePet MimeJSON
|
||||
|
||||
|
||||
-- *** updatePetWithForm
|
||||
|
||||
-- | @POST \/pet\/{petId}@
|
||||
--
|
||||
-- Updates a pet in the store with form data
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
updatePetWithForm
|
||||
:: (Consumes UpdatePetWithForm contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> PetId -- ^ "petId" - ID of pet that needs to be updated
|
||||
-> SwaggerPetstoreRequest UpdatePetWithForm contentType res accept
|
||||
updatePetWithForm _ _ (PetId petId) =
|
||||
_mkRequest "POST" ["/pet/",toPath petId]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data UpdatePetWithForm
|
||||
|
||||
-- | /Optional Param/ "name" - Updated name of the pet
|
||||
instance HasOptionalParam UpdatePetWithForm Name2 where
|
||||
applyOptionalParam req (Name2 xs) =
|
||||
req `addForm` toForm ("name", xs)
|
||||
|
||||
-- | /Optional Param/ "status" - Updated status of the pet
|
||||
instance HasOptionalParam UpdatePetWithForm StatusText where
|
||||
applyOptionalParam req (StatusText xs) =
|
||||
req `addForm` toForm ("status", xs)
|
||||
|
||||
-- | @application/x-www-form-urlencoded@
|
||||
instance Consumes UpdatePetWithForm MimeFormUrlEncoded
|
||||
|
||||
-- | @application/xml@
|
||||
instance Produces UpdatePetWithForm MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces UpdatePetWithForm MimeJSON
|
||||
|
||||
|
||||
-- *** uploadFile
|
||||
|
||||
-- | @POST \/pet\/{petId}\/uploadImage@
|
||||
--
|
||||
-- uploads an image
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
uploadFile
|
||||
:: (Consumes UploadFile contentType)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> PetId -- ^ "petId" - ID of pet to update
|
||||
-> SwaggerPetstoreRequest UploadFile contentType ApiResponse accept
|
||||
uploadFile _ _ (PetId petId) =
|
||||
_mkRequest "POST" ["/pet/",toPath petId,"/uploadImage"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data UploadFile
|
||||
|
||||
-- | /Optional Param/ "additionalMetadata" - Additional data to pass to server
|
||||
instance HasOptionalParam UploadFile AdditionalMetadata where
|
||||
applyOptionalParam req (AdditionalMetadata xs) =
|
||||
req `_addMultiFormPart` NH.partLBS "additionalMetadata" (mimeRender' MimeMultipartFormData xs)
|
||||
|
||||
-- | /Optional Param/ "file" - file to upload
|
||||
instance HasOptionalParam UploadFile File where
|
||||
applyOptionalParam req (File xs) =
|
||||
req `_addMultiFormPart` NH.partFileSource "file" xs
|
||||
|
||||
-- | @multipart/form-data@
|
||||
instance Consumes UploadFile MimeMultipartFormData
|
||||
|
||||
-- | @application/json@
|
||||
instance Produces UploadFile MimeJSON
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
{-
|
||||
Swagger Petstore
|
||||
|
||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
|
||||
OpenAPI spec version: 2.0
|
||||
Swagger Petstore API version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}
|
||||
|
||||
{-|
|
||||
Module : SwaggerPetstore.API.Store
|
||||
-}
|
||||
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE MonoLocalBinds #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module SwaggerPetstore.API.Store where
|
||||
|
||||
import SwaggerPetstore.Core
|
||||
import SwaggerPetstore.MimeTypes
|
||||
import SwaggerPetstore.Model as M
|
||||
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Maybe as P
|
||||
import qualified Data.Proxy as P (Proxy(..))
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.String as P
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as T
|
||||
import qualified Data.Text.Lazy as TL
|
||||
import qualified Data.Text.Lazy.Encoding as TL
|
||||
import qualified Data.Time as TI
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
import qualified Network.HTTP.Types as NH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
import qualified Web.HttpApiData as WH
|
||||
|
||||
import Data.Text (Text)
|
||||
import GHC.Base ((<|>))
|
||||
|
||||
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
import qualified Prelude as P
|
||||
|
||||
-- * Operations
|
||||
|
||||
|
||||
-- ** Store
|
||||
|
||||
-- *** deleteOrder
|
||||
|
||||
-- | @DELETE \/store\/order\/{order_id}@
|
||||
--
|
||||
-- Delete purchase order by ID
|
||||
--
|
||||
-- For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
deleteOrder
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> OrderIdText -- ^ "orderId" - ID of the order that needs to be deleted
|
||||
-> SwaggerPetstoreRequest DeleteOrder MimeNoContent res accept
|
||||
deleteOrder _ (OrderIdText orderId) =
|
||||
_mkRequest "DELETE" ["/store/order/",toPath orderId]
|
||||
|
||||
data DeleteOrder
|
||||
-- | @application/xml@
|
||||
instance Produces DeleteOrder MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces DeleteOrder MimeJSON
|
||||
|
||||
|
||||
-- *** getInventory
|
||||
|
||||
-- | @GET \/store\/inventory@
|
||||
--
|
||||
-- Returns pet inventories by status
|
||||
--
|
||||
-- Returns a map of status codes to quantities
|
||||
--
|
||||
-- AuthMethod: 'AuthApiKeyApiKey'
|
||||
--
|
||||
getInventory
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> SwaggerPetstoreRequest GetInventory MimeNoContent ((Map.Map String Int)) accept
|
||||
getInventory _ =
|
||||
_mkRequest "GET" ["/store/inventory"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
|
||||
|
||||
data GetInventory
|
||||
-- | @application/json@
|
||||
instance Produces GetInventory MimeJSON
|
||||
|
||||
|
||||
-- *** getOrderById
|
||||
|
||||
-- | @GET \/store\/order\/{order_id}@
|
||||
--
|
||||
-- Find purchase order by ID
|
||||
--
|
||||
-- For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||
--
|
||||
getOrderById
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> OrderId -- ^ "orderId" - ID of pet that needs to be fetched
|
||||
-> SwaggerPetstoreRequest GetOrderById MimeNoContent Order accept
|
||||
getOrderById _ (OrderId orderId) =
|
||||
_mkRequest "GET" ["/store/order/",toPath orderId]
|
||||
|
||||
data GetOrderById
|
||||
-- | @application/xml@
|
||||
instance Produces GetOrderById MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces GetOrderById MimeJSON
|
||||
|
||||
|
||||
-- *** placeOrder
|
||||
|
||||
-- | @POST \/store\/order@
|
||||
--
|
||||
-- Place an order for a pet
|
||||
--
|
||||
--
|
||||
--
|
||||
placeOrder
|
||||
:: (Consumes PlaceOrder contentType, MimeRender contentType Order)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Order -- ^ "body" - order placed for purchasing the pet
|
||||
-> SwaggerPetstoreRequest PlaceOrder contentType Order accept
|
||||
placeOrder _ _ body =
|
||||
_mkRequest "POST" ["/store/order"]
|
||||
`setBodyParam` body
|
||||
|
||||
data PlaceOrder
|
||||
|
||||
-- | /Body Param/ "body" - order placed for purchasing the pet
|
||||
instance HasBodyParam PlaceOrder Order
|
||||
-- | @application/xml@
|
||||
instance Produces PlaceOrder MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces PlaceOrder MimeJSON
|
||||
|
||||
@@ -0,0 +1,274 @@
|
||||
{-
|
||||
Swagger Petstore
|
||||
|
||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
|
||||
OpenAPI spec version: 2.0
|
||||
Swagger Petstore API version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}
|
||||
|
||||
{-|
|
||||
Module : SwaggerPetstore.API.User
|
||||
-}
|
||||
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE MonoLocalBinds #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module SwaggerPetstore.API.User where
|
||||
|
||||
import SwaggerPetstore.Core
|
||||
import SwaggerPetstore.MimeTypes
|
||||
import SwaggerPetstore.Model as M
|
||||
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Maybe as P
|
||||
import qualified Data.Proxy as P (Proxy(..))
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.String as P
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as T
|
||||
import qualified Data.Text.Lazy as TL
|
||||
import qualified Data.Text.Lazy.Encoding as TL
|
||||
import qualified Data.Time as TI
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
import qualified Network.HTTP.Types as NH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
import qualified Web.HttpApiData as WH
|
||||
|
||||
import Data.Text (Text)
|
||||
import GHC.Base ((<|>))
|
||||
|
||||
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
import qualified Prelude as P
|
||||
|
||||
-- * Operations
|
||||
|
||||
|
||||
-- ** User
|
||||
|
||||
-- *** createUser
|
||||
|
||||
-- | @POST \/user@
|
||||
--
|
||||
-- Create user
|
||||
--
|
||||
-- This can only be done by the logged in user.
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
createUser
|
||||
:: (Consumes CreateUser contentType, MimeRender contentType User)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> User -- ^ "body" - Created user object
|
||||
-> SwaggerPetstoreRequest CreateUser contentType res accept
|
||||
createUser _ _ body =
|
||||
_mkRequest "POST" ["/user"]
|
||||
`setBodyParam` body
|
||||
|
||||
data CreateUser
|
||||
|
||||
-- | /Body Param/ "body" - Created user object
|
||||
instance HasBodyParam CreateUser User
|
||||
-- | @application/xml@
|
||||
instance Produces CreateUser MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces CreateUser MimeJSON
|
||||
|
||||
|
||||
-- *** createUsersWithArrayInput
|
||||
|
||||
-- | @POST \/user\/createWithArray@
|
||||
--
|
||||
-- Creates list of users with given input array
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
createUsersWithArrayInput
|
||||
:: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType Body)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Body -- ^ "body" - List of user object
|
||||
-> SwaggerPetstoreRequest CreateUsersWithArrayInput contentType res accept
|
||||
createUsersWithArrayInput _ _ body =
|
||||
_mkRequest "POST" ["/user/createWithArray"]
|
||||
`setBodyParam` body
|
||||
|
||||
data CreateUsersWithArrayInput
|
||||
|
||||
-- | /Body Param/ "body" - List of user object
|
||||
instance HasBodyParam CreateUsersWithArrayInput Body
|
||||
-- | @application/xml@
|
||||
instance Produces CreateUsersWithArrayInput MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces CreateUsersWithArrayInput MimeJSON
|
||||
|
||||
|
||||
-- *** createUsersWithListInput
|
||||
|
||||
-- | @POST \/user\/createWithList@
|
||||
--
|
||||
-- Creates list of users with given input array
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
createUsersWithListInput
|
||||
:: (Consumes CreateUsersWithListInput contentType, MimeRender contentType Body)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Body -- ^ "body" - List of user object
|
||||
-> SwaggerPetstoreRequest CreateUsersWithListInput contentType res accept
|
||||
createUsersWithListInput _ _ body =
|
||||
_mkRequest "POST" ["/user/createWithList"]
|
||||
`setBodyParam` body
|
||||
|
||||
data CreateUsersWithListInput
|
||||
|
||||
-- | /Body Param/ "body" - List of user object
|
||||
instance HasBodyParam CreateUsersWithListInput Body
|
||||
-- | @application/xml@
|
||||
instance Produces CreateUsersWithListInput MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces CreateUsersWithListInput MimeJSON
|
||||
|
||||
|
||||
-- *** deleteUser
|
||||
|
||||
-- | @DELETE \/user\/{username}@
|
||||
--
|
||||
-- Delete user
|
||||
--
|
||||
-- This can only be done by the logged in user.
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
deleteUser
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> Username -- ^ "username" - The name that needs to be deleted
|
||||
-> SwaggerPetstoreRequest DeleteUser MimeNoContent res accept
|
||||
deleteUser _ (Username username) =
|
||||
_mkRequest "DELETE" ["/user/",toPath username]
|
||||
|
||||
data DeleteUser
|
||||
-- | @application/xml@
|
||||
instance Produces DeleteUser MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces DeleteUser MimeJSON
|
||||
|
||||
|
||||
-- *** getUserByName
|
||||
|
||||
-- | @GET \/user\/{username}@
|
||||
--
|
||||
-- Get user by user name
|
||||
--
|
||||
--
|
||||
--
|
||||
getUserByName
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> Username -- ^ "username" - The name that needs to be fetched. Use user1 for testing.
|
||||
-> SwaggerPetstoreRequest GetUserByName MimeNoContent User accept
|
||||
getUserByName _ (Username username) =
|
||||
_mkRequest "GET" ["/user/",toPath username]
|
||||
|
||||
data GetUserByName
|
||||
-- | @application/xml@
|
||||
instance Produces GetUserByName MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces GetUserByName MimeJSON
|
||||
|
||||
|
||||
-- *** loginUser
|
||||
|
||||
-- | @GET \/user\/login@
|
||||
--
|
||||
-- Logs user into the system
|
||||
--
|
||||
--
|
||||
--
|
||||
loginUser
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> Username -- ^ "username" - The user name for login
|
||||
-> Password -- ^ "password" - The password for login in clear text
|
||||
-> SwaggerPetstoreRequest LoginUser MimeNoContent Text accept
|
||||
loginUser _ (Username username) (Password password) =
|
||||
_mkRequest "GET" ["/user/login"]
|
||||
`setQuery` toQuery ("username", Just username)
|
||||
`setQuery` toQuery ("password", Just password)
|
||||
|
||||
data LoginUser
|
||||
-- | @application/xml@
|
||||
instance Produces LoginUser MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces LoginUser MimeJSON
|
||||
|
||||
|
||||
-- *** logoutUser
|
||||
|
||||
-- | @GET \/user\/logout@
|
||||
--
|
||||
-- Logs out current logged in user session
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
logoutUser
|
||||
:: Accept accept -- ^ request accept ('MimeType')
|
||||
-> SwaggerPetstoreRequest LogoutUser MimeNoContent res accept
|
||||
logoutUser _ =
|
||||
_mkRequest "GET" ["/user/logout"]
|
||||
|
||||
data LogoutUser
|
||||
-- | @application/xml@
|
||||
instance Produces LogoutUser MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces LogoutUser MimeJSON
|
||||
|
||||
|
||||
-- *** updateUser
|
||||
|
||||
-- | @PUT \/user\/{username}@
|
||||
--
|
||||
-- Updated user
|
||||
--
|
||||
-- This can only be done by the logged in user.
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
updateUser
|
||||
:: (Consumes UpdateUser contentType, MimeRender contentType User)
|
||||
=> ContentType contentType -- ^ request content-type ('MimeType')
|
||||
-> Accept accept -- ^ request accept ('MimeType')
|
||||
-> Username -- ^ "username" - name that need to be deleted
|
||||
-> User -- ^ "body" - Updated user object
|
||||
-> SwaggerPetstoreRequest UpdateUser contentType res accept
|
||||
updateUser _ _ (Username username) body =
|
||||
_mkRequest "PUT" ["/user/",toPath username]
|
||||
`setBodyParam` body
|
||||
|
||||
data UpdateUser
|
||||
|
||||
-- | /Body Param/ "body" - Updated user object
|
||||
instance HasBodyParam UpdateUser User
|
||||
-- | @application/xml@
|
||||
instance Produces UpdateUser MimeXML
|
||||
-- | @application/json@
|
||||
instance Produces UpdateUser MimeJSON
|
||||
|
||||
@@ -200,3 +200,29 @@ instance MimeUnrender MimeOctetStream String where mimeUnrender _ = P.Right . BC
|
||||
|
||||
-- | @P.Right . P.const NoContent@
|
||||
instance MimeUnrender MimeNoContent NoContent where mimeUnrender _ = P.Right . P.const NoContent
|
||||
|
||||
|
||||
-- * Custom Mime Types
|
||||
|
||||
-- ** MimeJsonCharsetutf8
|
||||
|
||||
data MimeJsonCharsetutf8 = MimeJsonCharsetutf8 deriving (P.Typeable)
|
||||
|
||||
-- | @application/json; charset=utf-8@
|
||||
instance MimeType MimeJsonCharsetutf8 where
|
||||
mimeType _ = Just $ P.fromString "application/json; charset=utf-8"
|
||||
instance A.ToJSON a => MimeRender MimeJsonCharsetutf8 a where mimeRender _ = A.encode
|
||||
instance A.FromJSON a => MimeUnrender MimeJsonCharsetutf8 a where mimeUnrender _ = A.eitherDecode
|
||||
-- instance MimeRender MimeJsonCharsetutf8 T.Text where mimeRender _ = undefined
|
||||
-- instance MimeUnrender MimeJsonCharsetutf8 T.Text where mimeUnrender _ = undefined
|
||||
|
||||
-- ** MimeXmlCharsetutf8
|
||||
|
||||
data MimeXmlCharsetutf8 = MimeXmlCharsetutf8 deriving (P.Typeable)
|
||||
|
||||
-- | @application/xml; charset=utf-8@
|
||||
instance MimeType MimeXmlCharsetutf8 where
|
||||
mimeType _ = Just $ P.fromString "application/xml; charset=utf-8"
|
||||
-- instance MimeRender MimeXmlCharsetutf8 T.Text where mimeRender _ = undefined
|
||||
-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined
|
||||
|
||||
|
||||
@@ -37,8 +37,10 @@ import Data.Aeson ((.:),(.:!),(.:?),(.=))
|
||||
import qualified Control.Arrow as P (left)
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Base64 as B64
|
||||
import qualified Data.ByteString.Char8 as BC
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Data as P (Data, Typeable)
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.HashMap.Lazy as HM
|
||||
import qualified Data.Map as Map
|
||||
@@ -47,18 +49,132 @@ import qualified Data.Set as Set
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as T
|
||||
import qualified Data.Time as TI
|
||||
import qualified Lens.Micro as L
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
import qualified Web.HttpApiData as WH
|
||||
|
||||
import Control.Applicative ((<|>))
|
||||
import Control.Applicative (Alternative)
|
||||
import Data.Function ((&))
|
||||
import Data.Monoid ((<>))
|
||||
import Data.Text (Text)
|
||||
import Prelude (($), (.),(<$>),(<*>),(>>=),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
import Prelude (($),(/=),(.),(<$>),(<*>),(>>=),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
|
||||
|
||||
import qualified Prelude as P
|
||||
|
||||
|
||||
|
||||
-- * Parameter newtypes
|
||||
|
||||
|
||||
-- ** AdditionalMetadata
|
||||
newtype AdditionalMetadata = AdditionalMetadata { unAdditionalMetadata :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ApiKey
|
||||
newtype ApiKey = ApiKey { unApiKey :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Body
|
||||
newtype Body = Body { unBody :: [User] } deriving (P.Eq, P.Show, A.ToJSON)
|
||||
|
||||
-- ** Byte
|
||||
newtype Byte = Byte { unByte :: ByteArray } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Callback
|
||||
newtype Callback = Callback { unCallback :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumFormString
|
||||
newtype EnumFormString = EnumFormString { unEnumFormString :: E'EnumFormString } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumFormStringArray
|
||||
newtype EnumFormStringArray = EnumFormStringArray { unEnumFormStringArray :: [E'Inner2] } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumHeaderString
|
||||
newtype EnumHeaderString = EnumHeaderString { unEnumHeaderString :: E'EnumFormString } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumHeaderStringArray
|
||||
newtype EnumHeaderStringArray = EnumHeaderStringArray { unEnumHeaderStringArray :: [E'Inner2] } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumQueryDouble
|
||||
newtype EnumQueryDouble = EnumQueryDouble { unEnumQueryDouble :: E'EnumNumber } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumQueryInteger
|
||||
newtype EnumQueryInteger = EnumQueryInteger { unEnumQueryInteger :: E'EnumQueryInteger } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumQueryString
|
||||
newtype EnumQueryString = EnumQueryString { unEnumQueryString :: E'EnumFormString } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** EnumQueryStringArray
|
||||
newtype EnumQueryStringArray = EnumQueryStringArray { unEnumQueryStringArray :: [E'Inner2] } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** File
|
||||
newtype File = File { unFile :: FilePath } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Int32
|
||||
newtype Int32 = Int32 { unInt32 :: Int } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Int64
|
||||
newtype Int64 = Int64 { unInt64 :: Integer } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Name2
|
||||
newtype Name2 = Name2 { unName2 :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Number
|
||||
newtype Number = Number { unNumber :: Double } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** OrderId
|
||||
newtype OrderId = OrderId { unOrderId :: Integer } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** OrderIdText
|
||||
newtype OrderIdText = OrderIdText { unOrderIdText :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Param
|
||||
newtype Param = Param { unParam :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Param2
|
||||
newtype Param2 = Param2 { unParam2 :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ParamBinary
|
||||
newtype ParamBinary = ParamBinary { unParamBinary :: Binary } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ParamDate
|
||||
newtype ParamDate = ParamDate { unParamDate :: Date } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ParamDateTime
|
||||
newtype ParamDateTime = ParamDateTime { unParamDateTime :: DateTime } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ParamDouble
|
||||
newtype ParamDouble = ParamDouble { unParamDouble :: Double } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ParamFloat
|
||||
newtype ParamFloat = ParamFloat { unParamFloat :: Float } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ParamInteger
|
||||
newtype ParamInteger = ParamInteger { unParamInteger :: Int } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** ParamString
|
||||
newtype ParamString = ParamString { unParamString :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Password
|
||||
newtype Password = Password { unPassword :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** PatternWithoutDelimiter
|
||||
newtype PatternWithoutDelimiter = PatternWithoutDelimiter { unPatternWithoutDelimiter :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** PetId
|
||||
newtype PetId = PetId { unPetId :: Integer } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Status
|
||||
newtype Status = Status { unStatus :: [E'Status2] } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** StatusText
|
||||
newtype StatusText = StatusText { unStatusText :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Tags
|
||||
newtype Tags = Tags { unTags :: [Text] } deriving (P.Eq, P.Show)
|
||||
|
||||
-- ** Username
|
||||
newtype Username = Username { unUsername :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- * Models
|
||||
|
||||
|
||||
@@ -1595,3 +1711,60 @@ toOuterEnum = \case
|
||||
"approved" -> P.Right OuterEnum'Approved
|
||||
"delivered" -> P.Right OuterEnum'Delivered
|
||||
s -> P.Left $ "toOuterEnum: enum parse failure: " P.++ P.show s
|
||||
|
||||
|
||||
-- * Auth Methods
|
||||
|
||||
-- ** AuthApiKeyApiKey
|
||||
data AuthApiKeyApiKey =
|
||||
AuthApiKeyApiKey Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthApiKeyApiKey where
|
||||
applyAuthMethod _ a@(AuthApiKeyApiKey secret) req =
|
||||
P.pure $
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("api_key", secret)
|
||||
& L.over rAuthTypesL (P.filter (/= P.typeOf a))
|
||||
else req
|
||||
|
||||
-- ** AuthApiKeyApiKeyQuery
|
||||
data AuthApiKeyApiKeyQuery =
|
||||
AuthApiKeyApiKeyQuery Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthApiKeyApiKeyQuery where
|
||||
applyAuthMethod _ a@(AuthApiKeyApiKeyQuery secret) req =
|
||||
P.pure $
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setQuery` toQuery ("api_key_query", Just secret)
|
||||
& L.over rAuthTypesL (P.filter (/= P.typeOf a))
|
||||
else req
|
||||
|
||||
-- ** AuthBasicHttpBasicTest
|
||||
data AuthBasicHttpBasicTest =
|
||||
AuthBasicHttpBasicTest B.ByteString B.ByteString -- ^ username password
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthBasicHttpBasicTest where
|
||||
applyAuthMethod _ a@(AuthBasicHttpBasicTest user pw) req =
|
||||
P.pure $
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)
|
||||
& L.over rAuthTypesL (P.filter (/= P.typeOf a))
|
||||
else req
|
||||
where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])
|
||||
|
||||
-- ** AuthOAuthPetstoreAuth
|
||||
data AuthOAuthPetstoreAuth =
|
||||
AuthOAuthPetstoreAuth Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthOAuthPetstoreAuth where
|
||||
applyAuthMethod _ a@(AuthOAuthPetstoreAuth secret) req =
|
||||
P.pure $
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("Authorization", "Bearer " <> secret)
|
||||
& L.over rAuthTypesL (P.filter (/= P.typeOf a))
|
||||
else req
|
||||
|
||||
|
||||
Reference in New Issue
Block a user