[haskell-http-client] add support for auth methods (#6622)

* add support for auth methods

* use newtypes for required params

* fix duplicate operationId issues

* prevent aliasing of vendorextension references in fromOperation

* add --fast to stack ci build
This commit is contained in:
Jon Schoning 2017-10-07 04:12:48 -05:00 committed by wing328
parent 0db4b32384
commit 5b32e886f4
47 changed files with 4923 additions and 4097 deletions

View File

@ -5,15 +5,14 @@ import io.swagger.models.Model;
import io.swagger.models.ModelImpl;
import io.swagger.models.Operation;
import io.swagger.models.Swagger;
import io.swagger.models.properties.ArrayProperty;
import io.swagger.models.properties.MapProperty;
import io.swagger.models.properties.Property;
import io.swagger.models.properties.*;
import java.util.*;
import java.util.regex.Pattern;
import org.apache.commons.io.FileUtils;
import io.swagger.models.auth.SecuritySchemeDefinition;
import io.swagger.codegen.CliOption;
import io.swagger.codegen.CodegenConstants;
import io.swagger.codegen.CodegenModel;
@ -26,6 +25,7 @@ import java.io.IOException;
import java.io.File;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.text.WordUtils;
import java.util.regex.Matcher;
@ -65,8 +65,8 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
static final String MEDIA_IS_JSON = "x-mediaIsJson";
protected Map<String, CodegenParameter> uniqueOptionalParamsByName = new HashMap<String, CodegenParameter>();
protected Map<String, CodegenModel> modelNames = new HashMap<String, CodegenModel>();
protected Map<String, CodegenParameter> uniqueParamsByName = new HashMap<String, CodegenParameter>();
protected Set<String> typeNames = new HashSet<String>();
protected Map<String, Map<String,String>> allMimeTypes = new HashMap<String, Map<String,String>>();
protected Map<String, String> knownMimeDataTypes = new HashMap<String, String>();
protected Map<String, Set<String>> modelMimeTypes = new HashMap<String, Set<String>>();
@ -466,42 +466,49 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
public CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map<String, Model> definitions, Swagger swagger) {
CodegenOperation op = super.fromOperation(resourcePath, httpMethod, operation, definitions, swagger);
op.vendorExtensions.put("x-baseOperationId", op.operationId);
// prevent aliasing/sharing of operation.vendorExtensions reference
op.vendorExtensions = new LinkedHashMap();
String operationType = toTypeName("Op", op.operationId);
op.vendorExtensions.put("x-operationType", operationType);
typeNames.add(operationType);
op.vendorExtensions.put("x-haddockPath", String.format("%s %s", op.httpMethod, op.path.replace("/", "\\/")));
op.operationId = toVarName(op.operationId);
op.vendorExtensions.put("x-operationType", toTypeName("Op", op.operationId));
op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams());
for (CodegenParameter param : op.allParams) {
param.vendorExtensions.put("x-operationType", WordUtils.capitalize(op.operationId));
param.vendorExtensions = new LinkedHashMap(); // prevent aliasing/sharing
param.vendorExtensions.put("x-operationType", operationType);
param.vendorExtensions.put("x-isBodyOrFormParam", param.isBodyParam || param.isFormParam);
if (!StringUtils.isBlank(param.collectionFormat)) {
param.vendorExtensions.put("x-collectionFormat", mapCollectionFormat(param.collectionFormat));
}
if (!param.required) {
if(!param.required) {
op.vendorExtensions.put("x-hasOptionalParams", true);
}
if (typeMapping.containsKey(param.dataType) || param.isPrimitiveType || param.isListContainer || param.isMapContainer || param.isFile) {
String paramNameType = toTypeName("Param", param.paramName);
if (uniqueOptionalParamsByName.containsKey(paramNameType)) {
CodegenParameter lastParam = this.uniqueOptionalParamsByName.get(paramNameType);
if (uniqueParamsByName.containsKey(paramNameType)) {
CodegenParameter lastParam = this.uniqueParamsByName.get(paramNameType);
if (lastParam.dataType != null && lastParam.dataType.equals(param.dataType)) {
param.vendorExtensions.put("x-duplicate", true);
} else {
paramNameType = paramNameType + param.dataType;
while (modelNames.containsKey(paramNameType)) {
while (typeNames.contains(paramNameType)) {
paramNameType = generateNextName(paramNameType);
}
uniqueParamsByName.put(paramNameType, param);
}
} else {
while (modelNames.containsKey(paramNameType)) {
while (typeNames.contains(paramNameType)) {
paramNameType = generateNextName(paramNameType);
}
uniqueOptionalParamsByName.put(paramNameType, param);
uniqueParamsByName.put(paramNameType, param);
}
param.vendorExtensions.put("x-paramNameType", paramNameType);
op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams());
typeNames.add(paramNameType);
}
}
if (op.getHasPathParams()) {
@ -572,7 +579,18 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
return op;
}
public List<CodegenSecurity> fromSecurity(Map<String, SecuritySchemeDefinition> schemes) {
List<CodegenSecurity> secs = super.fromSecurity(schemes);
for(CodegenSecurity sec : secs) {
String prefix = "";
if(sec.isBasic) prefix = "AuthBasic";
if(sec.isApiKey) prefix = "AuthApiKey";
if(sec.isOAuth) prefix = "AuthOAuth";
sec.name = prefix + toTypeName("",sec.name);
}
return secs;
}
@Override
public Map<String, Object> postProcessOperations(Map<String, Object> objs) {
@ -586,6 +604,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
additionalProperties.put("x-hasUnknownMimeTypes", !unknownMimeTypes.isEmpty());
additionalProperties.put("x-unknownMimeTypes", unknownMimeTypes);
additionalProperties.put("x-allUniqueParams", uniqueParamsByName.values());
return ret;
}
@ -619,12 +638,13 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
public CodegenModel fromModel(String name, Model mod, Map<String, Model> allDefinitions) {
CodegenModel model = super.fromModel(name, mod, allDefinitions);
while (uniqueOptionalParamsByName.containsKey(model.classname)) {
while (typeNames.contains(model.classname)) {
model.classname = generateNextName(model.classname);
}
typeNames.add(model.classname);
// From the model name, compute the prefix for the fields.
String prefix = WordUtils.uncapitalize(model.classname);
String prefix = StringUtils.uncapitalize(model.classname);
for (CodegenProperty prop : model.vars) {
prop.name = toVarName(prefix, prop.name);
}
@ -635,7 +655,6 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
return model;
}
modelNames.put(model.classname, model);
return model;
}
@ -674,6 +693,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
if(StringUtils.isBlank(mediaType)) return;
String mimeType = getMimeDataType(mediaType);
typeNames.add(mimeType);
m.put(MEDIA_DATA_TYPE, mimeType);
if (isJsonMimeType(mediaType)) {
m.put(MEDIA_IS_JSON, "true");
@ -761,6 +781,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
}
return false;
}
@Override
public String toVarName(String name) {
return toVarName("", name);
@ -794,8 +815,28 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
return toTypeName("Model", name);
}
public String toTypeName(String prefix, String name) {
name = camelize(underscore(sanitizeName(name)));
name = escapeIdentifier(prefix, camelize(sanitizeName(name)));
return name;
}
@Override
public String toOperationId(String operationId) {
if (StringUtils.isEmpty(operationId)) {
throw new RuntimeException("Empty method/operation name (operationId) not allowed");
}
operationId = escapeIdentifier("op",camelize(sanitizeName(operationId), true));
String uniqueName = operationId;
String uniqueNameType = toTypeName("Op", operationId);
while (typeNames.contains(uniqueNameType)) {
uniqueName = generateNextName(uniqueName);
uniqueNameType = toTypeName("Op", uniqueName);
}
typeNames.add(uniqueNameType);
if(!operationId.equals(uniqueName)) {
LOGGER.warn("generated unique operationId `" + uniqueName + "`");
}
return uniqueName;
}
public String escapeIdentifier(String prefix, String name) {
if(StringUtils.isBlank(prefix)) return name;
if (isReservedWord(name)) {
@ -815,4 +856,65 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
static boolean isJsonMimeType(String mime) {
return mime != null && JSON_MIME_PATTERN.matcher(mime).matches();
}
@Override
public String toDefaultValue(Property p) {
if (p instanceof StringProperty) {
StringProperty dp = (StringProperty) p;
if (dp.getDefault() != null) {
return "\"" + escapeText(dp.getDefault()) + "\"";
}
} else if (p instanceof BooleanProperty) {
BooleanProperty dp = (BooleanProperty) p;
if (dp.getDefault() != null) {
if (dp.getDefault().toString().equalsIgnoreCase("false"))
return "False";
else
return "True";
}
} else if (p instanceof DoubleProperty) {
DoubleProperty dp = (DoubleProperty) p;
if (dp.getDefault() != null) {
return dp.getDefault().toString();
}
} else if (p instanceof FloatProperty) {
FloatProperty dp = (FloatProperty) p;
if (dp.getDefault() != null) {
return dp.getDefault().toString();
}
} else if (p instanceof IntegerProperty) {
IntegerProperty dp = (IntegerProperty) p;
if (dp.getDefault() != null) {
return dp.getDefault().toString();
}
} else if (p instanceof LongProperty) {
LongProperty dp = (LongProperty) p;
if (dp.getDefault() != null) {
return dp.getDefault().toString();
}
}
return null;
}
// override with any special text escaping logic
@SuppressWarnings("static-method")
public String escapeText(String input) {
if (input == null) {
return input;
}
// remove \t, \n, \r
// replace \ with \\
// replace " with \"
// outter unescape to retain the original multi-byte characters
// finally escalate characters avoiding code injection
return escapeUnsafeCharacters(
StringEscapeUtils.unescapeJava(
StringEscapeUtils.escapeJava(input)
.replace("\\/", "/"))
.replaceAll("[\\t\\n\\r]"," ")
.replace("\\", "\\\\")
.replace("\"", "\\\""));
}
}

View File

@ -3,16 +3,17 @@
Module : {{title}}.API
-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{title}}.API where
@ -31,6 +32,7 @@ import qualified Data.ByteString.Lazy as BL
import qualified Data.ByteString.Builder as BB
import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL
import qualified Data.ByteString.Base64 as B64
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
@ -40,7 +42,7 @@ import qualified Web.HttpApiData as WH
import qualified Web.FormUrlEncoded as WH
import qualified Data.CaseInsensitive as CI
import qualified Data.Data as P (Typeable)
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.Set as Set
@ -76,30 +78,31 @@ import qualified Prelude as P
-- {{/summary}}{{#notes}}
-- {{{.}}}
-- {{/notes}}{{#hasAuthMethods}}
-- AuthMethod: {{#authMethods}}{{{name}}}{{#hasMore}}, {{/hasMore}}{{/authMethods}}
-- AuthMethod: {{#authMethods}}'{{{name}}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}
-- {{/hasAuthMethods}}{{#vendorExtensions.x-hasUnknownReturn}}
-- Note: Has 'Produces' instances, but no response schema
-- {{/vendorExtensions.x-hasUnknownReturn}}
{{operationId}}
:: {{#vendorExtensions.x-hasBodyOrFormParam}}(Consumes {{{vendorExtensions.x-operationType}}} contentType{{#allParams}}{{#isBodyParam}}{{#required}}, MimeRender contentType {{dataType}}{{/required}}{{/isBodyParam}}{{/allParams}})
:: {{#vendorExtensions.x-hasBodyOrFormParam}}(Consumes {{{vendorExtensions.x-operationType}}} contentType{{#allParams}}{{#isBodyParam}}{{#required}}, MimeRender contentType {{#vendorExtensions.x-paramNameType}}{{{.}}}{{/vendorExtensions.x-paramNameType}}{{^vendorExtensions.x-paramNameType}}{{{dataType}}}{{/vendorExtensions.x-paramNameType}}{{/required}}{{/isBodyParam}}{{/allParams}})
=> contentType -- ^ request content-type ('MimeType')
-> {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{dataType}} -- ^ "{{{paramName}}}"{{#description}} - {{/description}} {{{description}}}
-> {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{#vendorExtensions.x-paramNameType}}{{{.}}}{{/vendorExtensions.x-paramNameType}}{{^vendorExtensions.x-paramNameType}}{{{dataType}}}{{/vendorExtensions.x-paramNameType}} -- ^ "{{{paramName}}}"{{#description}} - {{/description}} {{{description}}}
-> {{/required}}{{/allParams}}{{requestType}} {{{vendorExtensions.x-operationType}}} {{#vendorExtensions.x-hasBodyOrFormParam}}contentType{{/vendorExtensions.x-hasBodyOrFormParam}}{{^vendorExtensions.x-hasBodyOrFormParam}}MimeNoContent{{/vendorExtensions.x-hasBodyOrFormParam}} {{vendorExtensions.x-returnType}}
{{operationId}} {{#vendorExtensions.x-hasBodyOrFormParam}}_ {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{{paramName}}} {{/required}}{{/allParams}}=
{{operationId}} {{#vendorExtensions.x-hasBodyOrFormParam}}_ {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{#isBodyParam}}{{{paramName}}}{{/isBodyParam}}{{^isBodyParam}}({{{vendorExtensions.x-paramNameType}}} {{{paramName}}}){{/isBodyParam}} {{/required}}{{/allParams}}=
_mkRequest "{{httpMethod}}" [{{#pathParams}}{{#vendorExtensions.x-pathPrefix}}"{{.}}",{{/vendorExtensions.x-pathPrefix}}toPath {{{paramName}}}{{#hasMore}},{{/hasMore}}{{/pathParams}}{{#vendorExtensions.x-pathSuffix}}{{#vendorExtensions.x-hasPathParams}},{{/vendorExtensions.x-hasPathParams}}"{{.}}"{{/vendorExtensions.x-pathSuffix}}]{{#allParams}}{{#required}}
{{#isHeaderParam}}`setHeader` {{>_headerColl}} ("{{{baseName}}}", {{{paramName}}}){{/isHeaderParam}}{{#isQueryParam}}`_setQuery` {{>_queryColl}} ("{{{baseName}}}", Just {{{paramName}}}){{/isQueryParam}}{{#isFormParam}}{{#isFile}}`_addMultiFormPart` NH.partFileSource "{{{baseName}}}" {{{paramName}}}{{/isFile}}{{^isFile}}{{#isMultipart}}`_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData {{{paramName}}}){{/isMultipart}}{{^isMultipart}}`_addForm` {{>_formColl}} ("{{{baseName}}}", {{{paramName}}}){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{#isBodyParam}}`setBodyParam` {{{paramName}}}{{/isBodyParam}}{{/required}}{{/allParams}}{{#isDeprecated}}
{{#isHeaderParam}}`setHeader` {{>_headerColl}} ("{{{baseName}}}", {{{paramName}}}){{/isHeaderParam}}{{#isQueryParam}}`setQuery` {{>_queryColl}} ("{{{baseName}}}", Just {{{paramName}}}){{/isQueryParam}}{{#isFormParam}}{{#isFile}}`_addMultiFormPart` NH.partFileSource "{{{baseName}}}" {{{paramName}}}{{/isFile}}{{^isFile}}{{#isMultipart}}`_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData {{{paramName}}}){{/isMultipart}}{{^isMultipart}}`addForm` {{>_formColl}} ("{{{baseName}}}", {{{paramName}}}){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{#isBodyParam}}`setBodyParam` {{{paramName}}}{{/isBodyParam}}{{/required}}{{/allParams}}{{#authMethods}}
`_hasAuthType` (P.Proxy :: P.Proxy {{name}}){{/authMethods}}{{#isDeprecated}}
{-# DEPRECATED {{operationId}} "" #-}{{/isDeprecated}}
data {{{vendorExtensions.x-operationType}}} {{#allParams}}{{#isBodyParam}}{{#description}}
-- | /Body Param/ "{{{baseName}}}" - {{{description}}}{{/description}}
instance HasBodyParam {{{vendorExtensions.x-operationType}}} {{{dataType}}}{{/isBodyParam}}{{/allParams}} {{#vendorExtensions.x-hasOptionalParams}}{{#allParams}}{{^isBodyParam}}{{^required}}{{#description}}
instance HasBodyParam {{{vendorExtensions.x-operationType}}} {{#vendorExtensions.x-paramNameType}}{{{.}}}{{/vendorExtensions.x-paramNameType}}{{^vendorExtensions.x-paramNameType}}{{{dataType}}}{{/vendorExtensions.x-paramNameType}}{{/isBodyParam}}{{/allParams}} {{#vendorExtensions.x-hasOptionalParams}}{{#allParams}}{{^isBodyParam}}{{^required}}{{#description}}
-- | /Optional Param/ "{{{baseName}}}" - {{{description}}}{{/description}}
instance HasOptionalParam {{{vendorExtensions.x-operationType}}} {{{vendorExtensions.x-paramNameType}}} where
applyOptionalParam req ({{{vendorExtensions.x-paramNameType}}} xs) =
{{#isHeaderParam}}req `setHeader` {{>_headerColl}} ("{{{baseName}}}", xs){{/isHeaderParam}}{{#isQueryParam}}req `_setQuery` {{>_queryColl}} ("{{{baseName}}}", Just xs){{/isQueryParam}}{{#isFormParam}}{{#isFile}}req `_addMultiFormPart` NH.partFileSource "{{{baseName}}}" xs{{/isFile}}{{^isFile}}{{#isMultipart}}req `_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData xs){{/isMultipart}}{{^isMultipart}}req `_addForm` {{>_formColl}} ("{{{baseName}}}", xs){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{/required}}{{/isBodyParam}}{{/allParams}}{{/vendorExtensions.x-hasOptionalParams}}{{#hasConsumes}}
{{#isHeaderParam}}req `setHeader` {{>_headerColl}} ("{{{baseName}}}", xs){{/isHeaderParam}}{{#isQueryParam}}req `setQuery` {{>_queryColl}} ("{{{baseName}}}", Just xs){{/isQueryParam}}{{#isFormParam}}{{#isFile}}req `_addMultiFormPart` NH.partFileSource "{{{baseName}}}" xs{{/isFile}}{{^isFile}}{{#isMultipart}}req `_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData xs){{/isMultipart}}{{^isMultipart}}req `addForm` {{>_formColl}} ("{{{baseName}}}", xs){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{/required}}{{/isBodyParam}}{{/allParams}}{{/vendorExtensions.x-hasOptionalParams}}{{#hasConsumes}}
{{#consumes}}-- | @{{{mediaType}}}@
instance Consumes {{{vendorExtensions.x-operationType}}} {{{x-mediaDataType}}}
@ -135,11 +138,12 @@ class HasOptionalParam req param where
infixl 2 -&-
-- * Optional Request Parameter Types
-- * Request Parameter Types
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}{{#vendorExtensions.x-hasOptionalParams}}{{#allParams}}{{^required}}{{^vendorExtensions.x-duplicate}}
newtype {{{vendorExtensions.x-paramNameType}}} = {{{vendorExtensions.x-paramNameType}}} { un{{{vendorExtensions.x-paramNameType}}} :: {{{dataType}}} } deriving (P.Eq, P.Show)
{{/vendorExtensions.x-duplicate}}{{/required}}{{/allParams}}{{/vendorExtensions.x-hasOptionalParams}}{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
{{#x-allUniqueParams}}
-- | {{{vendorExtensions.x-paramNameType}}}
newtype {{{vendorExtensions.x-paramNameType}}} = {{{vendorExtensions.x-paramNameType}}} { un{{{vendorExtensions.x-paramNameType}}} :: {{{dataType}}} } deriving (P.Eq, P.Show{{#isBodyParam}}, A.ToJSON{{/isBodyParam}})
{{/x-allUniqueParams}}
-- * {{requestType}}
@ -148,6 +152,7 @@ data {{requestType}} req contentType res = {{requestType}}
{ rMethod :: NH.Method -- ^ Method of {{requestType}}
, rUrlPath :: [BCL.ByteString] -- ^ Endpoint of {{requestType}}
, rParams :: Params -- ^ params of {{requestType}}
, rAuthTypes :: [P.TypeRep] -- ^ types of auth methods
}
deriving (P.Show)
@ -166,6 +171,11 @@ rParamsL :: Lens_' ({{requestType}} req contentType res) Params
rParamsL f {{requestType}}{..} = (\rParams -> {{requestType}} { rParams, ..} ) <$> f rParams
{-# INLINE rParamsL #-}
-- | 'rParams' Lens
rAuthTypesL :: Lens_' ({{requestType}} req contentType res) [P.TypeRep]
rAuthTypesL f {{requestType}}{..} = (\rAuthTypes -> {{requestType}} { rAuthTypes, ..} ) <$> f rAuthTypes
{-# INLINE rAuthTypesL #-}
-- | Request Params
data Params = Params
{ paramsQuery :: NH.Query
@ -203,7 +213,7 @@ data ParamBody
_mkRequest :: NH.Method -- ^ Method
-> [BCL.ByteString] -- ^ Endpoint
-> {{requestType}} req contentType res -- ^ req: Request Type, res: Response Type
_mkRequest m u = {{requestType}} m u _mkParams
_mkRequest m u = {{requestType}} m u _mkParams []
_mkParams :: Params
_mkParams = Params [] [] ParamBodyNone
@ -235,8 +245,8 @@ _setAcceptHeader req accept =
Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]
Nothing -> req `removeHeader` ["accept"]
_setQuery :: {{requestType}} req contentType res -> [NH.QueryItem] -> {{requestType}} req contentType res
_setQuery req query =
setQuery :: {{requestType}} req contentType res -> [NH.QueryItem] -> {{requestType}} req contentType res
setQuery req query =
req &
L.over
(rParamsL . paramsQueryL)
@ -244,8 +254,8 @@ _setQuery req query =
where
cifst = CI.mk . P.fst
_addForm :: {{requestType}} req contentType res -> WH.Form -> {{requestType}} req contentType res
_addForm req newform =
addForm :: {{requestType}} req contentType res -> WH.Form -> {{requestType}} req contentType res
addForm req newform =
let form = case paramsBody (rParams req) of
ParamBodyFormUrlEncoded _form -> _form
_ -> mempty
@ -266,6 +276,9 @@ _setBodyLBS :: {{requestType}} req contentType res -> BL.ByteString -> {{request
_setBodyLBS req body =
req & L.set (rParamsL . paramsBodyL) (ParamBodyBL body)
_hasAuthType :: AuthMethod authMethod => {{requestType}} req contentType res -> P.Proxy authMethod -> {{requestType}} req contentType res
_hasAuthType req proxy =
req & L.over rAuthTypesL (P.typeRep proxy :)
-- ** Params Utils
@ -330,3 +343,49 @@ _toCollA' c encode one xs = case c of
{-# INLINE expandList #-}
{-# INLINE combine #-}
-- * AuthMethods
-- | Provides a method to apply auth methods to requests
class P.Typeable a => AuthMethod a where
applyAuthMethod :: {{requestType}} req contentType res -> a -> {{requestType}} req contentType res
-- | An existential wrapper for any AuthMethod
data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable)
instance AuthMethod AnyAuthMethod where applyAuthMethod req (AnyAuthMethod a) = applyAuthMethod req a
{{#authMethods}}{{#isBasic}}-- ** {{name}}
data {{name}} =
{{name}} B.ByteString B.ByteString -- ^ username password
deriving (P.Eq, P.Show, P.Typeable)
instance AuthMethod {{name}} where
applyAuthMethod req a@({{name}} user pw) =
if (P.typeOf a `P.elem` rAuthTypes req)
then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)
else req
where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])
{{/isBasic}}{{#isApiKey}}-- ** {{name}}
data {{name}} =
{{name}} Text -- ^ secret
deriving (P.Eq, P.Show, P.Typeable)
instance AuthMethod {{name}} where
applyAuthMethod req a@({{name}} secret) =
if (P.typeOf a `P.elem` rAuthTypes req)
then req {{#isKeyInHeader}}`setHeader` toHeader ("{{keyParamName}}", secret){{/isKeyInHeader}}{{^isKeyInHeader}}`setQuery` toQuery ("{{keyParamName}}", Just secret){{/isKeyInHeader}}
else req
{{/isApiKey}}{{#isOAuth}}-- ** {{name}}
data {{name}} =
{{name}} Text -- ^ secret
deriving (P.Eq, P.Show, P.Typeable)
instance AuthMethod {{name}} where
applyAuthMethod req a@({{name}} secret) =
if (P.typeOf a `P.elem` rAuthTypes req)
then req `setHeader` toHeader ("Authorization", "Bearer " <> secret)
else req
{{/isOAuth}}{{/authMethods}}

View File

@ -59,6 +59,7 @@ data {{configType}} = {{configType}}
, configUserAgent :: Text -- ^ user-agent supplied in the Request
, configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance
, configLogContext :: LogContext -- ^ Configures the logger
, configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods
}
-- | display the config
@ -87,13 +88,21 @@ newConfig = do
, configUserAgent = "{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}{{{artifactId}}}/{{{artifactVersion}}}{{/httpUserAgent}}"
, configLogExecWithContext = runDefaultLogExecWithContext
, configLogContext = logCxt
, configAuthMethods = []
}
-- | updates config use AuthMethod on matching requests
addAuthMethod :: AuthMethod auth => {{configType}} -> auth -> {{configType}}
addAuthMethod config@{{configType}} {configAuthMethods = as} a =
config { configAuthMethods = AnyAuthMethod a : as}
-- | updates the config to use stdout logging
withStdoutLogging :: {{configType}} -> IO {{configType}}
withStdoutLogging p = do
logCxt <- stdoutLoggingContext (configLogContext p)
return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }
-- | updates the config to use stderr logging
withStderrLogging :: {{configType}} -> IO {{configType}}
withStderrLogging p = do
logCxt <- stderrLoggingContext (configLogContext p)
@ -226,7 +235,9 @@ _toInitRequest
-> IO (InitRequest req contentType res accept) -- ^ initialized request
_toInitRequest config req0 accept = do
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0))
let req1 = _setAcceptHeader req0 accept & _setContentTypeHeader
let req1 = _applyAuthMethods req0 config
& _setContentTypeHeader
& flip _setAcceptHeader accept
reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (rParams req1)
reqQuery = NH.renderQuery True (paramsQuery (rParams req1))
pReq = parsedReq { NH.method = (rMethod req1)
@ -242,6 +253,16 @@ _toInitRequest config req0 accept = do
pure (InitRequest outReq)
-- | apply all matching AuthMethods in config to request
_applyAuthMethods
:: {{requestType}} req contentType res
-> {{configType}}
-> {{requestType}} req contentType res
_applyAuthMethods req {{configType}} {configAuthMethods = as} =
foldl go req as
where
go r (AnyAuthMethod a) = r `applyAuthMethod` a
-- | modify the underlying Request
modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept
modifyInitRequest (InitRequest req) f = InitRequest (f req)

View File

@ -56,7 +56,7 @@ import qualified Prelude as P
{{#model}}
-- ** {{classname}}
-- |{{#title}}
-- | {{classname}}{{#title}}
-- {{{.}}}
-- {{/title}}{{#description}}
-- {{{.}}}{{/description}}
@ -65,12 +65,15 @@ data {{classname}} = {{classname}}
, {{/hasMore}}{{/vars}}
} deriving (P.Show,P.Eq,P.Typeable{{#modelDeriving}},{{modelDeriving}}{{/modelDeriving}})
-- | FromJSON {{classname}}
instance A.FromJSON {{classname}} where
parseJSON = A.withObject "{{classname}}" $ \o ->
{{^hasVars}}pure {{/hasVars}}{{classname}}
{{#hasVars}}<$>{{/hasVars}}{{#vars}} (o {{#required}}.: {{/required}}{{^required}}{{^allowFromJsonNulls}}.:!{{/allowFromJsonNulls}}{{#allowFromJsonNulls}}.:?{{/allowFromJsonNulls}}{{/required}} "{{baseName}}"){{#hasMore}}
<*>{{/hasMore}}{{/vars}}
-- | ToJSON {{classname}}
instance A.ToJSON {{classname}} where
toJSON {{classname}} {{#hasVars}}{..}{{/hasVars}} =
{{^allowToJsonNulls}}_omitNulls{{/allowToJsonNulls}}{{#allowToJsonNulls}}A.object{{/allowToJsonNulls}}
@ -79,12 +82,14 @@ instance A.ToJSON {{classname}} where
]
{{#vendorExtensions.x-hasMimeFormUrlEncoded}}
-- | FromForm {{classname}}
instance WH.FromForm {{classname}} where
fromForm f =
{{^hasVars}}pure {{/hasVars}}{{classname}}
{{#hasVars}}<$>{{/hasVars}}{{#vars}} ({{#required}}WH.parseUnique {{/required}}{{^required}}WH.parseMaybe {{/required}}"{{baseName}}" f){{#hasMore}}
<*>{{/hasMore}}{{/vars}}
-- | ToForm {{classname}}
instance WH.ToForm {{classname}} where
toForm {{classname}} {{#hasVars}}{..}{{/hasVars}} =
WH.Form $ HM.fromList $ P.catMaybes $
@ -111,21 +116,23 @@ mk{{classname}} {{#requiredVars}}{{name}} {{/requiredVars}}=
-- * Utils
-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)
_omitNulls :: [(Text, A.Value)] -> A.Value
_omitNulls = A.object . P.filter notNull
where
notNull (_, A.Null) = False
notNull _ = True
-- | Encodes fields using WH.toQueryParam
_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])
_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x
-- | Collapse (Just "") to Nothing
_emptyToNothing :: Maybe String -> Maybe String
_emptyToNothing (Just "") = Nothing
_emptyToNothing x = x
{-# INLINE _emptyToNothing #-}
-- | Collapse (Just mempty) to Nothing
_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a
_memptyToNothing (Just x) | x P.== P.mempty = Nothing
_memptyToNothing x = x
@ -158,6 +165,7 @@ _showDateTime =
{{^dateTimeFormat}}TI.formatISO8601Millis{{/dateTimeFormat}}{{#dateTimeFormat}}TI.formatTime TI.defaultTimeLocale "{{{dateTimeFormat}}}"{{/dateTimeFormat}}
{-# INLINE _showDateTime #-}
-- | parse an ISO8601 date-time string
_parseISO8601 :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t
_parseISO8601 t =
P.asum $

View File

@ -46,10 +46,6 @@ haskell-http-client
### Unsupported Swagger Features
* Auth Methods (https://swagger.io/docs/specification/2-0/authentication/)
- use `setHeader` to add any required headers to requests
* Model Inheritance
* Default Parameter Values
@ -92,6 +88,7 @@ View the full list of Codegen "config option" parameters with the command:
java -jar swagger-codegen-cli.jar config-help -l haskell-http-client
```
## Usage Notes
### Example SwaggerPetstore Haddock documentation
@ -103,12 +100,12 @@ An example of the generated haddock documentation targeting the server http://pe
An example application using the auto-generated haskell-http-client bindings for the server http://petstore.swagger.io/ can be found [here][3]
[3]: https://github.com/swagger-api/swagger-codegen/tree/c7d145a4ba3c0627e04ece9eb97e354ac91be821/samples/client/petstore/haskell-http-client/example-app
### Usage Notes
[3]: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/haskell-http-client/example-app
This library is intended to be imported qualified.
### Modules
| MODULE | NOTES |
| ------------------- | --------------------------------------------------- |
| {{title}}.Client | use the "dispatch" functions to send requests |
@ -118,6 +115,9 @@ This library is intended to be imported qualified.
| {{title}}.Lens | lenses for model fields |
| {{title}}.Logging | logging functions and utils |
### MimeTypes
This library adds type safety around what swagger specifies as
Produces and Consumes for each Operation (e.g. the list of MIME types an
Operation can Produce (using 'accept' headers) and Consume (using 'content-type' headers).
@ -151,16 +151,6 @@ this would indicate that:
* the _addFoo_ operation can set it's body param of _FooModel_ via `setBodyParam`
* the _addFoo_ operation can set 2 different optional parameters via `applyOptionalParam`
putting this together:
```haskell
let addFooRequest = addFoo MimeJSON foomodel requiredparam1 requiredparam2
`applyOptionalParam` FooId 1
`applyOptionalParam` FooName "name"
`setHeader` [("api_key","xxyy")]
addFooResult <- dispatchMime mgr config addFooRequest MimeXML
```
If the swagger spec doesn't declare it can accept or produce a certain
MIME type for a given Operation, you should either add a Produces or
Consumes instance for the desired MIME types (assuming the server
@ -174,4 +164,29 @@ x-www-form-urlencoded instances (FromFrom, ToForm) will also be
generated if the model fields are primitive types, and there are
Operations using x-www-form-urlencoded which use those models.
See the example app and the haddocks for details.
### Authentication
A haskell data type will be generated for each swagger authentication type.
If for example the AuthMethod `AuthOAuthFoo` is generated for OAuth operations, then
`addAuthMethod` should be used to add the AuthMethod config.
When a request is dispatched, if a matching auth method is found in
the config, it will be applied to the request.
### Example
```haskell
mgr <- newManager defaultManagerSettings
config0 <- withStdoutLogging =<< newConfig
let config = config0
`addAuthMethod` AuthOAuthFoo "secret-key"
let addFooRequest = addFoo MimeJSON foomodel requiredparam1 requiredparam2
`applyOptionalParam` FooId 1
`applyOptionalParam` FooName "name"
`setHeader` [("qux_header","xxyy")]
addFooResult <- dispatchMime mgr config addFooRequest MimeXML
```
See the example app and the haddocks for details.

View File

@ -94,6 +94,7 @@ test-suite tests
, time
, iso8601-time
, aeson
, vector
, semigroups
, QuickCheck
other-modules:

View File

@ -2,20 +2,23 @@
module Instances where
import Data.Text (Text, pack)
import Control.Monad
import Data.Char (isSpace)
import Data.List (sort)
import qualified Data.Time as TI
import Test.QuickCheck
import qualified Data.Aeson as A
import qualified Data.ByteString.Lazy as BL
import qualified Data.HashMap.Strict as HM
import qualified Data.Set as Set
import qualified Data.ByteString.Lazy as BL
import qualified Data.Text as T
import qualified Data.Time as TI
import qualified Data.Vector as V
import ApproxEq
import {{title}}.Model
instance Arbitrary Text where
arbitrary = pack <$> arbitrary
instance Arbitrary T.Text where
arbitrary = T.pack <$> arbitrary
instance Arbitrary TI.Day where
arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary
@ -45,6 +48,27 @@ instance Arbitrary Date where
arbitrary = Date <$> arbitrary
shrink (Date xs) = Date <$> shrink xs
-- | A naive Arbitrary instance for A.Value:
instance Arbitrary A.Value where
arbitrary = frequency [(3, simpleTypes), (1, arrayTypes), (1, objectTypes)]
where
simpleTypes :: Gen A.Value
simpleTypes =
frequency
[ (1, return A.Null)
, (2, liftM A.Bool (arbitrary :: Gen Bool))
, (2, liftM (A.Number . fromIntegral) (arbitrary :: Gen Int))
, (2, liftM (A.String . T.pack) (arbitrary :: Gen String))
]
mapF (k, v) = (T.pack k, v)
simpleAndArrays = frequency [(1, sized sizedArray), (4, simpleTypes)]
arrayTypes = sized sizedArray
objectTypes = sized sizedObject
sizedArray n = liftM (A.Array . V.fromList) $ replicateM n simpleTypes
sizedObject n =
liftM (A.object . map mapF) $
replicateM n $ (,) <$> (arbitrary :: Gen String) <*> simpleAndArrays
-- | Checks if a given list has no duplicates in _O(n log n)_.
hasNoDups
:: (Ord a)

View File

@ -17,7 +17,8 @@ import {{title}}.MimeTypes
main :: IO ()
main =
hspec $ modifyMaxSize (const 10) $
do describe "JSON instances" $
do {{#models}}{{#model}}propMimeEq MimeJSON (Proxy :: Proxy {{classname}})
{{/model}}{{/models}}
hspec $ modifyMaxSize (const 10) $ do
describe "JSON instances" $ do
pure ()
{{#models}}{{#model}}propMimeEq MimeJSON (Proxy :: Proxy {{classname}})
{{/model}}{{/models}}

View File

@ -2,9 +2,9 @@ STACKCMD := stack --install-ghc
.PHONY: all clean build test test-integration build-example build-integration
all: clean build test build-example build-integration
clean: ; (rm -Rf ./.stack-work ./example-app/.stack-work ./tests-integration/.stack-work);
build: ; ($(STACKCMD) haddock);
test: ; ($(STACKCMD) test);
build-example: build ; (cd ./example-app; $(STACKCMD) build);
build: ; ($(STACKCMD) haddock --fast);
test: ; ($(STACKCMD) test --fast);
build-example: build ; (cd ./example-app; $(STACKCMD) build --fast);
# a test-only project may exit with ExitFailure, despite building successfully
build-integration: build ; (cd ./tests-integration; $(STACKCMD) build --no-run-tests);
test-integration: build-integration ; (cd ./tests-integration; $(STACKCMD) test);
build-integration: build ; (cd ./tests-integration; $(STACKCMD) build --no-run-tests --fast);
test-integration: build-integration ; (cd ./tests-integration; $(STACKCMD) test --fast);

View File

@ -46,10 +46,6 @@ haskell-http-client
### Unsupported Swagger Features
* Auth Methods (https://swagger.io/docs/specification/2-0/authentication/)
- use `setHeader` to add any required headers to requests
* Model Inheritance
* Default Parameter Values
@ -92,6 +88,7 @@ View the full list of Codegen "config option" parameters with the command:
java -jar swagger-codegen-cli.jar config-help -l haskell-http-client
```
## Usage Notes
### Example SwaggerPetstore Haddock documentation
@ -103,12 +100,12 @@ An example of the generated haddock documentation targeting the server http://pe
An example application using the auto-generated haskell-http-client bindings for the server http://petstore.swagger.io/ can be found [here][3]
[3]: https://github.com/swagger-api/swagger-codegen/tree/c7d145a4ba3c0627e04ece9eb97e354ac91be821/samples/client/petstore/haskell-http-client/example-app
### Usage Notes
[3]: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/haskell-http-client/example-app
This library is intended to be imported qualified.
### Modules
| MODULE | NOTES |
| ------------------- | --------------------------------------------------- |
| SwaggerPetstore.Client | use the "dispatch" functions to send requests |
@ -118,6 +115,9 @@ This library is intended to be imported qualified.
| SwaggerPetstore.Lens | lenses for model fields |
| SwaggerPetstore.Logging | logging functions and utils |
### MimeTypes
This library adds type safety around what swagger specifies as
Produces and Consumes for each Operation (e.g. the list of MIME types an
Operation can Produce (using 'accept' headers) and Consume (using 'content-type' headers).
@ -151,16 +151,6 @@ this would indicate that:
* the _addFoo_ operation can set it's body param of _FooModel_ via `setBodyParam`
* the _addFoo_ operation can set 2 different optional parameters via `applyOptionalParam`
putting this together:
```haskell
let addFooRequest = addFoo MimeJSON foomodel requiredparam1 requiredparam2
`applyOptionalParam` FooId 1
`applyOptionalParam` FooName "name"
`setHeader` [("api_key","xxyy")]
addFooResult <- dispatchMime mgr config addFooRequest MimeXML
```
If the swagger spec doesn't declare it can accept or produce a certain
MIME type for a given Operation, you should either add a Produces or
Consumes instance for the desired MIME types (assuming the server
@ -174,4 +164,29 @@ x-www-form-urlencoded instances (FromFrom, ToForm) will also be
generated if the model fields are primitive types, and there are
Operations using x-www-form-urlencoded which use those models.
See the example app and the haddocks for details.
### Authentication
A haskell data type will be generated for each swagger authentication type.
If for example the AuthMethod `AuthOAuthFoo` is generated for OAuth operations, then
`addAuthMethod` should be used to add the AuthMethod config.
When a request is dispatched, if a matching auth method is found in
the config, it will be applied to the request.
### Example
```haskell
mgr <- newManager defaultManagerSettings
config0 <- withStdoutLogging =<< newConfig
let config = config0
`addAuthMethod` AuthOAuthFoo "secret-key"
let addFooRequest = addFoo MimeJSON foomodel requiredparam1 requiredparam2
`applyOptionalParam` FooId 1
`applyOptionalParam` FooName "name"
`setHeader` [("qux_header","xxyy")]
addFooResult <- dispatchMime mgr config addFooRequest MimeXML
```
See the example app and the haddocks for details.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - B)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - B</p><table><tr><td class="src">Binary</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:Binary">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:Binary">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">Body</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:Body">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:Body">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">Byte</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:Byte">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:Byte">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">ByteArray</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:ByteArray">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:ByteArray">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - R)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - R</p><table><tr><td class="src">ReadOnlyFirst</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:ReadOnlyFirst">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:ReadOnlyFirst">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBar</td><td class="module"><a href="SwaggerPetstore-Model.html#v:readOnlyFirstBar">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBarL</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:readOnlyFirstBarL">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBaz</td><td class="module"><a href="SwaggerPetstore-Model.html#v:readOnlyFirstBaz">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBazL</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:readOnlyFirstBazL">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">removeHeader</td><td class="module"><a href="SwaggerPetstore-API.html#v:removeHeader">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rMethod</td><td class="module"><a href="SwaggerPetstore-API.html#v:rMethod">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rMethodL</td><td class="module"><a href="SwaggerPetstore-API.html#v:rMethodL">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rParams</td><td class="module"><a href="SwaggerPetstore-API.html#v:rParams">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rParamsL</td><td class="module"><a href="SwaggerPetstore-API.html#v:rParamsL">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">runConfigLog</td><td class="module"><a href="SwaggerPetstore-Client.html#v:runConfigLog">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">runConfigLogWithExceptions</td><td class="module"><a href="SwaggerPetstore-Client.html#v:runConfigLogWithExceptions">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">runDefaultLogExecWithContext</td><td class="module"><a href="SwaggerPetstore-Logging.html#v:runDefaultLogExecWithContext">SwaggerPetstore.Logging</a>, SwaggerPetstore</td></tr><tr><td class="src">runNullLogExec</td><td class="module"><a href="SwaggerPetstore-Logging.html#v:runNullLogExec">SwaggerPetstore.Logging</a>, SwaggerPetstore</td></tr><tr><td class="src">rUrlPath</td><td class="module"><a href="SwaggerPetstore-API.html#v:rUrlPath">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rUrlPathL</td><td class="module"><a href="SwaggerPetstore-API.html#v:rUrlPathL">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - R</p><table><tr><td class="src">rAuthTypes</td><td class="module"><a href="SwaggerPetstore-API.html#v:rAuthTypes">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rAuthTypesL</td><td class="module"><a href="SwaggerPetstore-API.html#v:rAuthTypesL">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">ReadOnlyFirst</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:ReadOnlyFirst">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:ReadOnlyFirst">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBar</td><td class="module"><a href="SwaggerPetstore-Model.html#v:readOnlyFirstBar">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBarL</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:readOnlyFirstBarL">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBaz</td><td class="module"><a href="SwaggerPetstore-Model.html#v:readOnlyFirstBaz">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">readOnlyFirstBazL</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:readOnlyFirstBazL">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">removeHeader</td><td class="module"><a href="SwaggerPetstore-API.html#v:removeHeader">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rMethod</td><td class="module"><a href="SwaggerPetstore-API.html#v:rMethod">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rMethodL</td><td class="module"><a href="SwaggerPetstore-API.html#v:rMethodL">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rParams</td><td class="module"><a href="SwaggerPetstore-API.html#v:rParams">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rParamsL</td><td class="module"><a href="SwaggerPetstore-API.html#v:rParamsL">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">runConfigLog</td><td class="module"><a href="SwaggerPetstore-Client.html#v:runConfigLog">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">runConfigLogWithExceptions</td><td class="module"><a href="SwaggerPetstore-Client.html#v:runConfigLogWithExceptions">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">runDefaultLogExecWithContext</td><td class="module"><a href="SwaggerPetstore-Logging.html#v:runDefaultLogExecWithContext">SwaggerPetstore.Logging</a>, SwaggerPetstore</td></tr><tr><td class="src">runNullLogExec</td><td class="module"><a href="SwaggerPetstore-Logging.html#v:runNullLogExec">SwaggerPetstore.Logging</a>, SwaggerPetstore</td></tr><tr><td class="src">rUrlPath</td><td class="module"><a href="SwaggerPetstore-API.html#v:rUrlPath">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">rUrlPathL</td><td class="module"><a href="SwaggerPetstore-API.html#v:rUrlPathL">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SwaggerPetstore.Client</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();};
//]]>
</script></head><body id="mini"><div id="module-header"><p class="caption">SwaggerPetstore.Client</p></div><div id="interface"><h1>Config</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:SwaggerPetstoreConfig" target="main">SwaggerPetstoreConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:newConfig" target="main">newConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStdoutLogging" target="main">withStdoutLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStderrLogging" target="main">withStderrLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withNoLogging" target="main">withNoLogging</a></p></div><h1>Dispatch</h1><h2>Lbs</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbs" target="main">dispatchLbs</a></p></div><h2>Mime</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeResult" target="main">MimeResult</a> res</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeError" target="main">MimeError</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime" target="main">dispatchMime</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime-39-" target="main">dispatchMime'</a></p></div><h2>Unsafe</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbsUnsafe" target="main">dispatchLbsUnsafe</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchInitUnsafe" target="main">dispatchInitUnsafe</a></p></div><h1>InitRequest</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:InitRequest" target="main">InitRequest</a> req contentType res accept</p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:_toInitRequest" target="main">_toInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequest" target="main">modifyInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequestM" target="main">modifyInitRequestM</a></p></div><h2>Logging </h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLog" target="main">runConfigLog</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLogWithExceptions" target="main">runConfigLogWithExceptions</a></p></div></div></body></html>
</script></head><body id="mini"><div id="module-header"><p class="caption">SwaggerPetstore.Client</p></div><div id="interface"><h1>Config</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:SwaggerPetstoreConfig" target="main">SwaggerPetstoreConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:newConfig" target="main">newConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:addAuthMethod" target="main">addAuthMethod</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStdoutLogging" target="main">withStdoutLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStderrLogging" target="main">withStderrLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withNoLogging" target="main">withNoLogging</a></p></div><h1>Dispatch</h1><h2>Lbs</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbs" target="main">dispatchLbs</a></p></div><h2>Mime</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeResult" target="main">MimeResult</a> res</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeError" target="main">MimeError</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime" target="main">dispatchMime</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime-39-" target="main">dispatchMime'</a></p></div><h2>Unsafe</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbsUnsafe" target="main">dispatchLbsUnsafe</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchInitUnsafe" target="main">dispatchInitUnsafe</a></p></div><h1>InitRequest</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:InitRequest" target="main">InitRequest</a> req contentType res accept</p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:_toInitRequest" target="main">_toInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:_applyAuthMethods" target="main">_applyAuthMethods</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequest" target="main">modifyInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequestM" target="main">modifyInitRequestM</a></p></div><h2>Logging </h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLog" target="main">runConfigLog</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLogWithExceptions" target="main">runConfigLogWithExceptions</a></p></div></div></body></html>

View File

@ -15,7 +15,7 @@
</span><a name="line-15"></a><span class="hs-cpp">#if defined(VERSION_base)</span><span>
</span><a name="line-16"></a><span>
</span><a name="line-17"></a><span class="hs-cpp">#if MIN_VERSION_base(4,0,0)</span><span>
</span><a name="line-18"></a><span class="hs-identifier">catchIO</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679168393"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Exception</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">IOException</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679168393"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679168393"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-18"></a><span class="hs-identifier">catchIO</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679170528"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Exception</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">IOException</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679170528"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679170528"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-19"></a><span class="hs-cpp">#else</span><span>
</span><a name="line-20"></a><span class="hs-identifier">catchIO</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span>
</span><a name="line-21"></a><span class="hs-cpp">#endif</span><span>
@ -45,7 +45,7 @@
</span><a name="line-45"></a><a name="getSysconfDir"><a href="Paths_swagger_petstore.html#getSysconfDir"><span class="hs-identifier">getSysconfDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">&quot;swagger_petstore_sysconfdir&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#sysconfdir"><span class="hs-identifier hs-var">sysconfdir</span></a><span class="hs-special">)</span><span>
</span><a name="line-46"></a><span>
</span><a name="line-47"></a><span class="hs-identifier">getDataFileName</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">FilePath</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-identifier hs-type">FilePath</span><span>
</span><a name="line-48"></a><a name="getDataFileName"><a href="Paths_swagger_petstore.html#getDataFileName"><span class="hs-identifier">getDataFileName</span></a></a><span> </span><a name="local-6989586621679168719"><a href="#local-6989586621679168719"><span class="hs-identifier">name</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-49"></a><span> </span><a name="local-6989586621679168720"><a href="#local-6989586621679168720"><span class="hs-identifier">dir</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="Paths_swagger_petstore.html#getDataDir"><span class="hs-identifier hs-var">getDataDir</span></a><span>
</span><a name="line-50"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679168720"><span class="hs-identifier hs-var">dir</span></a><span> </span><span class="hs-operator hs-var">++</span><span> </span><span class="hs-string">&quot;/&quot;</span><span> </span><span class="hs-operator hs-var">++</span><span> </span><a href="#local-6989586621679168719"><span class="hs-identifier hs-var">name</span></a><span class="hs-special">)</span><span>
</span><a name="line-48"></a><a name="getDataFileName"><a href="Paths_swagger_petstore.html#getDataFileName"><span class="hs-identifier">getDataFileName</span></a></a><span> </span><a name="local-6989586621679170854"><a href="#local-6989586621679170854"><span class="hs-identifier">name</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-49"></a><span> </span><a name="local-6989586621679170855"><a href="#local-6989586621679170855"><span class="hs-identifier">dir</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="Paths_swagger_petstore.html#getDataDir"><span class="hs-identifier hs-var">getDataDir</span></a><span>
</span><a name="line-50"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679170855"><span class="hs-identifier hs-var">dir</span></a><span> </span><span class="hs-operator hs-var">++</span><span> </span><span class="hs-string">&quot;/&quot;</span><span> </span><span class="hs-operator hs-var">++</span><span> </span><a href="#local-6989586621679170854"><span class="hs-identifier hs-var">name</span></a><span class="hs-special">)</span><span>
</span><a name="line-51"></a></pre></body></html>

View File

@ -1,265 +1,296 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-
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: \&quot; \\
OpenAPI spec version: 1.0.0
Contact: apiteam@swagger.io
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
-}</span><span>
</span><a name="line-10"></a><span>
</span><a name="line-11"></a><span class="hs-comment">{-|
Module : SwaggerPetstore.Client
-}</span><span>
</span><a name="line-4"></a><span>
</span><a name="line-5"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><a name="line-9"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-10"></a><span class="hs-pragma">{-# LANGUAGE DeriveFunctor #-}</span><span>
</span><a name="line-11"></a><span class="hs-pragma">{-# LANGUAGE DeriveFoldable #-}</span><span>
</span><a name="line-12"></a><span class="hs-pragma">{-# LANGUAGE DeriveTraversable #-}</span><span>
</span><a name="line-13"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
</span><a name="line-14"></a><span>
</span><a name="line-15"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-16"></a><span>
</span><a name="line-17"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
</span><a name="line-19"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
</span><a name="line-20"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
</span><a name="line-21"></a><span>
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-23"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-24"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-26"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Function</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&amp;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-31"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Catch</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">MonadThrow</span><span class="hs-special">)</span><span>
</span><a name="line-33"></a><span>
</span><a name="line-34"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Time</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</span><span>
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Map</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Map</span><span>
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-37"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-38"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Printf</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-39"></a><span>
</span><a name="line-40"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
</span><a name="line-41"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
</span><a name="line-42"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
</span><a name="line-43"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
</span><a name="line-44"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
</span><a name="line-45"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-46"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">TLS</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-47"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">MultipartFormData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-48"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">Method</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-49"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-50"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">URI</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-51"></a><span>
</span><a name="line-52"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
</span><a name="line-53"></a><span class="hs-comment">-- * Config</span><span>
</span><a name="line-54"></a><span>
</span><a name="line-55"></a><span class="hs-comment">-- | </span><span>
</span><a name="line-56"></a><span class="hs-keyword">data</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span>
</span><a name="line-57"></a><span> </span><span class="hs-special">{</span><span> </span><a name="configHost"><a href="SwaggerPetstore.Client.html#configHost"><span class="hs-identifier">configHost</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ host supplied in the Request</span><span>
</span><a name="line-58"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configUserAgent"><a href="SwaggerPetstore.Client.html#configUserAgent"><span class="hs-identifier">configUserAgent</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ user-agent supplied in the Request</span><span>
</span><a name="line-59"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogExecWithContext"><a href="SwaggerPetstore.Client.html#configLogExecWithContext"><span class="hs-identifier">configLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span> </span><span class="hs-comment">-- ^ Run a block using a Logger instance</span><span>
</span><a name="line-60"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogContext"><a href="SwaggerPetstore.Client.html#configLogContext"><span class="hs-identifier">configLogContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-comment">-- ^ Configures the logger</span><span>
</span><a name="line-61"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-62"></a><span>
</span><a name="line-63"></a><span class="hs-comment">-- | display the config</span><span>
</span><a name="line-64"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">Show</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-65"></a><span> </span><a name="local-8214565720323792830"><span class="hs-identifier">show</span></a><span> </span><a name="local-6989586621679159198"><a href="#local-6989586621679159198"><span class="hs-identifier">c</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-66"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">printf</span><span>
</span><a name="line-67"></a><span> </span><span class="hs-string">&quot;{ configHost = %v, configUserAgent = %v, ..}&quot;</span><span>
</span><a name="line-68"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679159198"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-69"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679159198"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-70"></a><span>
</span><a name="line-71"></a><span class="hs-comment">-- | constructs a default SwaggerPetstoreConfig</span><span>
</span><a name="line-72"></a><span class="hs-comment">--</span><span>
</span><a name="line-73"></a><span class="hs-comment">-- configHost:</span><span>
</span><a name="line-74"></a><span class="hs-comment">--</span><span>
</span><a name="line-75"></a><span class="hs-comment">-- @http://petstore.swagger.io:80/v2@</span><span>
</span><a name="line-76"></a><span class="hs-comment">--</span><span>
</span><a name="line-77"></a><span class="hs-comment">-- configUserAgent:</span><span>
</span><a name="line-78"></a><span class="hs-comment">--</span><span>
</span><a name="line-79"></a><span class="hs-comment">-- @&quot;swagger-haskell-http-client/1.0.0&quot;@</span><span>
</span><a name="line-80"></a><span class="hs-comment">--</span><span>
</span><a name="line-81"></a><span class="hs-identifier">newConfig</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-82"></a><a name="newConfig"><a href="SwaggerPetstore.Client.html#newConfig"><span class="hs-identifier">newConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-83"></a><span> </span><a name="local-6989586621679158710"><a href="#local-6989586621679158710"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier hs-var">initLogContext</span></a><span>
</span><a name="line-84"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-85"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configHost</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;http://petstore.swagger.io:80/v2&quot;</span><span>
</span><a name="line-86"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configUserAgent</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;swagger-haskell-http-client/1.0.0&quot;</span><span>
</span><a name="line-87"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
</span><a name="line-88"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158710"><span class="hs-identifier hs-var">logCxt</span></a><span>
</span><a name="line-89"></a><span> </span><span class="hs-special">}</span><span> </span><span>
</span><a name="line-90"></a><span>
</span><a name="line-91"></a><span class="hs-identifier">withStdoutLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-92"></a><a name="withStdoutLogging"><a href="SwaggerPetstore.Client.html#withStdoutLogging"><span class="hs-identifier">withStdoutLogging</span></a></a><span> </span><a name="local-6989586621679158711"><a href="#local-6989586621679158711"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-93"></a><span> </span><a name="local-6989586621679158712"><a href="#local-6989586621679158712"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier hs-var">stdoutLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679158711"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
</span><a name="line-94"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679158711"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier hs-var">stdoutLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158712"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-95"></a><span>
</span><a name="line-96"></a><span class="hs-identifier">withStderrLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-97"></a><a name="withStderrLogging"><a href="SwaggerPetstore.Client.html#withStderrLogging"><span class="hs-identifier">withStderrLogging</span></a></a><span> </span><a name="local-6989586621679158713"><a href="#local-6989586621679158713"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-98"></a><span> </span><a name="local-6989586621679158714"><a href="#local-6989586621679158714"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier hs-var">stderrLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679158713"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
</span><a name="line-99"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679158713"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier hs-var">stderrLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158714"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-100"></a><span>
</span><a name="line-101"></a><span class="hs-comment">-- | updates the config to disable logging</span><span>
</span><a name="line-102"></a><span class="hs-identifier">withNoLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-103"></a><a name="withNoLogging"><a href="SwaggerPetstore.Client.html#withNoLogging"><span class="hs-identifier">withNoLogging</span></a></a><span> </span><a name="local-6989586621679158715"><a href="#local-6989586621679158715"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158715"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier hs-var">runNullLogExec</span></a><span class="hs-special">}</span><span>
</span><a name="line-104"></a><span>
</span><a name="line-105"></a><span class="hs-comment">-- * Dispatch</span><span>
</span><a name="line-106"></a><span>
</span><a name="line-107"></a><span class="hs-comment">-- ** Lbs</span><span>
</span><a name="line-108"></a><span>
</span><a name="line-109"></a><span class="hs-comment">-- | send a request returning the raw http response</span><span>
</span><a name="line-110"></a><span class="hs-identifier">dispatchLbs</span><span>
</span><a name="line-111"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679158706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158707"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158708"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-112"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-113"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-114"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158708"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158709"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-115"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679158707"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-116"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-117"></a><a name="dispatchLbs"><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier">dispatchLbs</span></a></a><span> </span><a name="local-6989586621679158716"><a href="#local-6989586621679158716"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158717"><a href="#local-6989586621679158717"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158718"><a href="#local-6989586621679158718"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158719"><a href="#local-6989586621679158719"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-118"></a><span> </span><a name="local-6989586621679158720"><a href="#local-6989586621679158720"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679158717"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158718"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158719"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
</span><a name="line-119"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679158716"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158717"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158720"><span class="hs-identifier hs-var">initReq</span></a><span>
</span><a name="line-120"></a><span>
</span><a name="line-121"></a><span class="hs-comment">-- ** Mime</span><span>
</span><a name="line-122"></a><span>
</span><a name="line-123"></a><span class="hs-comment">-- | pair of decoded http body and http response</span><span>
</span><a name="line-124"></a><span class="hs-keyword">data</span><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><a name="local-6989586621679158674"><a href="#local-6989586621679158674"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-125"></a><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="mimeResult"><a href="SwaggerPetstore.Client.html#mimeResult"><span class="hs-identifier">mimeResult</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679158674"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ decoded http body</span><span>
</span><a name="line-126"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeResultResponse"><a href="SwaggerPetstore.Client.html#mimeResultResponse"><span class="hs-identifier">mimeResultResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
</span><a name="line-127"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-128"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Functor</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Foldable</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Traversable</span><span class="hs-special">)</span><span>
</span><a name="line-129"></a><span>
</span><a name="line-130"></a><span class="hs-comment">-- | pair of unrender/parser error and http response</span><span>
</span><a name="line-131"></a><span class="hs-keyword">data</span><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-132"></a><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-special">{</span><span>
</span><a name="line-133"></a><span> </span><a name="mimeError"><a href="SwaggerPetstore.Client.html#mimeError"><span class="hs-identifier">mimeError</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-comment">-- ^ unrender/parser error</span><span>
</span><a name="line-134"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeErrorResponse"><a href="SwaggerPetstore.Client.html#mimeErrorResponse"><span class="hs-identifier">mimeErrorResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
</span><a name="line-135"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
</span><a name="line-136"></a><span>
</span><a name="line-137"></a><span class="hs-comment">-- | send a request returning the 'MimeResult'</span><span>
</span><a name="line-138"></a><span class="hs-identifier">dispatchMime</span><span>
</span><a name="line-139"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679158702"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158703"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679158703"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679158704"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158705"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-140"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-141"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-142"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158702"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158705"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158704"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-143"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679158703"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-144"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-type">MimeResult</span></a><span> </span><a href="#local-6989586621679158704"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-145"></a><a name="dispatchMime"><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier">dispatchMime</span></a></a><span> </span><a name="local-6989586621679158721"><a href="#local-6989586621679158721"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158722"><a href="#local-6989586621679158722"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158723"><a href="#local-6989586621679158723"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158724"><a href="#local-6989586621679158724"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-146"></a><span> </span><a name="local-6989586621679158725"><a href="#local-6989586621679158725"><span class="hs-identifier">httpResponse</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier hs-var">dispatchLbs</span></a><span> </span><a href="#local-6989586621679158721"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158722"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158723"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158724"><span class="hs-identifier hs-var">accept</span></a><span>
</span><a name="line-147"></a><span> </span><a name="local-6989586621679158728"><a href="#local-6989586621679158728"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span>
</span><a name="line-148"></a><span> </span><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier hs-var">runConfigLogWithExceptions</span></a><span> </span><span class="hs-string">&quot;Client&quot;</span><span> </span><a href="#local-6989586621679158722"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-149"></a><span> </span><span class="hs-keyword">do</span><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier hs-var">mimeUnrender'</span></a><span> </span><a href="#local-6989586621679158724"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseBody</span><span> </span><a href="#local-6989586621679158725"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-150"></a><span> </span><span class="hs-identifier hs-var">Left</span><span> </span><a name="local-6989586621679158726"><a href="#local-6989586621679158726"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-151"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><span class="hs-string">&quot;Client&quot;</span><span> </span><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier hs-var">levelError</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><a href="#local-6989586621679158726"><span class="hs-identifier hs-var">s</span></a><span class="hs-special">)</span><span>
</span><a name="line-152"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Left</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-var">MimeError</span></a><span> </span><a href="#local-6989586621679158726"><span class="hs-identifier hs-var">s</span></a><span> </span><a href="#local-6989586621679158725"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-153"></a><span> </span><span class="hs-identifier hs-var">Right</span><span> </span><a name="local-6989586621679158727"><a href="#local-6989586621679158727"><span class="hs-identifier">r</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Right</span><span> </span><a href="#local-6989586621679158727"><span class="hs-identifier hs-var">r</span></a><span class="hs-special">)</span><span>
</span><a name="line-154"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a href="#local-6989586621679158728"><span class="hs-identifier hs-var">parsedResult</span></a><span> </span><a href="#local-6989586621679158725"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span>
</span><a name="line-15"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-16"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><a name="line-17"></a><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
</span><a name="line-18"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><a name="line-19"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-20"></a><span class="hs-pragma">{-# LANGUAGE DeriveFunctor #-}</span><span>
</span><a name="line-21"></a><span class="hs-pragma">{-# LANGUAGE DeriveFoldable #-}</span><span>
</span><a name="line-22"></a><span class="hs-pragma">{-# LANGUAGE DeriveTraversable #-}</span><span>
</span><a name="line-23"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
</span><a name="line-24"></a><span>
</span><a name="line-25"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-26"></a><span>
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
</span><a name="line-31"></a><span>
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-33"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-34"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Function</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&amp;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-37"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-38"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
</span><a name="line-39"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-40"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-41"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-42"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Catch</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">MonadThrow</span><span class="hs-special">)</span><span>
</span><a name="line-43"></a><span>
</span><a name="line-44"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Time</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</span><span>
</span><a name="line-45"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Map</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Map</span><span>
</span><a name="line-46"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-47"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-48"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Printf</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-49"></a><span>
</span><a name="line-50"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
</span><a name="line-51"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
</span><a name="line-52"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
</span><a name="line-53"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
</span><a name="line-54"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
</span><a name="line-55"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-56"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">TLS</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-57"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">MultipartFormData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-58"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">Method</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-59"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-60"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">URI</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
</span><a name="line-61"></a><span>
</span><a name="line-62"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
</span><a name="line-63"></a><span class="hs-comment">-- * Config</span><span>
</span><a name="line-64"></a><span>
</span><a name="line-65"></a><span class="hs-comment">-- | </span><span>
</span><a name="line-66"></a><span class="hs-keyword">data</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span>
</span><a name="line-67"></a><span> </span><span class="hs-special">{</span><span> </span><a name="configHost"><a href="SwaggerPetstore.Client.html#configHost"><span class="hs-identifier">configHost</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ host supplied in the Request</span><span>
</span><a name="line-68"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configUserAgent"><a href="SwaggerPetstore.Client.html#configUserAgent"><span class="hs-identifier">configUserAgent</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ user-agent supplied in the Request</span><span>
</span><a name="line-69"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogExecWithContext"><a href="SwaggerPetstore.Client.html#configLogExecWithContext"><span class="hs-identifier">configLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span> </span><span class="hs-comment">-- ^ Run a block using a Logger instance</span><span>
</span><a name="line-70"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogContext"><a href="SwaggerPetstore.Client.html#configLogContext"><span class="hs-identifier">configLogContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-comment">-- ^ Configures the logger</span><span>
</span><a name="line-71"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configAuthMethods"><a href="SwaggerPetstore.Client.html#configAuthMethods"><span class="hs-identifier">configAuthMethods</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.API.html#AnyAuthMethod"><span class="hs-identifier hs-type">AnyAuthMethod</span></a><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ List of configured auth methods</span><span>
</span><a name="line-72"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-73"></a><span>
</span><a name="line-74"></a><span class="hs-comment">-- | display the config</span><span>
</span><a name="line-75"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">Show</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-76"></a><span> </span><a name="local-8214565720323792830"><span class="hs-identifier">show</span></a><span> </span><a name="local-6989586621679161225"><a href="#local-6989586621679161225"><span class="hs-identifier">c</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-77"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">printf</span><span>
</span><a name="line-78"></a><span> </span><span class="hs-string">&quot;{ configHost = %v, configUserAgent = %v, ..}&quot;</span><span>
</span><a name="line-79"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679161225"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-80"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679161225"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-81"></a><span>
</span><a name="line-82"></a><span class="hs-comment">-- | constructs a default SwaggerPetstoreConfig</span><span>
</span><a name="line-83"></a><span class="hs-comment">--</span><span>
</span><a name="line-84"></a><span class="hs-comment">-- configHost:</span><span>
</span><a name="line-85"></a><span class="hs-comment">--</span><span>
</span><a name="line-86"></a><span class="hs-comment">-- @http://petstore.swagger.io:80/v2@</span><span>
</span><a name="line-87"></a><span class="hs-comment">--</span><span>
</span><a name="line-88"></a><span class="hs-comment">-- configUserAgent:</span><span>
</span><a name="line-89"></a><span class="hs-comment">--</span><span>
</span><a name="line-90"></a><span class="hs-comment">-- @&quot;swagger-haskell-http-client/1.0.0&quot;@</span><span>
</span><a name="line-91"></a><span class="hs-comment">--</span><span>
</span><a name="line-92"></a><span class="hs-identifier">newConfig</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-93"></a><a name="newConfig"><a href="SwaggerPetstore.Client.html#newConfig"><span class="hs-identifier">newConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-94"></a><span> </span><a name="local-6989586621679160729"><a href="#local-6989586621679160729"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier hs-var">initLogContext</span></a><span>
</span><a name="line-95"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-96"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configHost</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;http://petstore.swagger.io:80/v2&quot;</span><span>
</span><a name="line-97"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configUserAgent</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;swagger-haskell-http-client/1.0.0&quot;</span><span>
</span><a name="line-98"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
</span><a name="line-99"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160729"><span class="hs-identifier hs-var">logCxt</span></a><span>
</span><a name="line-100"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configAuthMethods</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><a name="line-101"></a><span> </span><span class="hs-special">}</span><span> </span><span>
</span><a name="line-102"></a><span>
</span><a name="line-103"></a><span class="hs-comment">-- | updates config use AuthMethod on matching requests</span><span>
</span><a name="line-104"></a><span class="hs-identifier">addAuthMethod</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.API.html#AuthMethod"><span class="hs-identifier hs-type">AuthMethod</span></a><span> </span><a href="#local-6989586621679160728"><span class="hs-identifier hs-type">auth</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160728"><span class="hs-identifier hs-type">auth</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-105"></a><a name="addAuthMethod"><a href="SwaggerPetstore.Client.html#addAuthMethod"><span class="hs-identifier">addAuthMethod</span></a></a><span> </span><a name="local-6989586621679160730"><a href="#local-6989586621679160730"><span class="hs-identifier">config</span></a></a><span class="hs-glyph">@</span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-special">{</span><span class="hs-identifier">configAuthMethods</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">as</span><span class="hs-special">}</span><span> </span><a name="local-6989586621679160732"><a href="#local-6989586621679160732"><span class="hs-identifier">a</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-106"></a><span> </span><a href="#local-6989586621679160730"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configAuthMethods</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#AnyAuthMethod"><span class="hs-identifier hs-var">AnyAuthMethod</span></a><span> </span><a href="#local-6989586621679160732"><span class="hs-identifier hs-var">a</span></a><span> </span><span class="hs-glyph">:</span><span> </span><span class="hs-keyword">as</span><span class="hs-special">}</span><span>
</span><a name="line-107"></a><span>
</span><a name="line-108"></a><span class="hs-comment">-- | updates the config to use stdout logging</span><span>
</span><a name="line-109"></a><span class="hs-identifier">withStdoutLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-110"></a><a name="withStdoutLogging"><a href="SwaggerPetstore.Client.html#withStdoutLogging"><span class="hs-identifier">withStdoutLogging</span></a></a><span> </span><a name="local-6989586621679160733"><a href="#local-6989586621679160733"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-111"></a><span> </span><a name="local-6989586621679160734"><a href="#local-6989586621679160734"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier hs-var">stdoutLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679160733"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
</span><a name="line-112"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679160733"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier hs-var">stdoutLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160734"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-113"></a><span>
</span><a name="line-114"></a><span class="hs-comment">-- | updates the config to use stderr logging</span><span>
</span><a name="line-115"></a><span class="hs-identifier">withStderrLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-116"></a><a name="withStderrLogging"><a href="SwaggerPetstore.Client.html#withStderrLogging"><span class="hs-identifier">withStderrLogging</span></a></a><span> </span><a name="local-6989586621679160735"><a href="#local-6989586621679160735"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-117"></a><span> </span><a name="local-6989586621679160736"><a href="#local-6989586621679160736"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier hs-var">stderrLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679160735"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
</span><a name="line-118"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679160735"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier hs-var">stderrLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160736"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-119"></a><span>
</span><a name="line-120"></a><span class="hs-comment">-- | updates the config to disable logging</span><span>
</span><a name="line-121"></a><span class="hs-identifier">withNoLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-122"></a><a name="withNoLogging"><a href="SwaggerPetstore.Client.html#withNoLogging"><span class="hs-identifier">withNoLogging</span></a></a><span> </span><a name="local-6989586621679160737"><a href="#local-6989586621679160737"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160737"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier hs-var">runNullLogExec</span></a><span class="hs-special">}</span><span>
</span><a name="line-123"></a><span>
</span><a name="line-124"></a><span class="hs-comment">-- * Dispatch</span><span>
</span><a name="line-125"></a><span>
</span><a name="line-126"></a><span class="hs-comment">-- ** Lbs</span><span>
</span><a name="line-127"></a><span>
</span><a name="line-128"></a><span class="hs-comment">-- | send a request returning the raw http response</span><span>
</span><a name="line-129"></a><span class="hs-identifier">dispatchLbs</span><span>
</span><a name="line-130"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679160724"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160725"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160726"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-131"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-132"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-133"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160724"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160726"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160727"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-134"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160725"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-135"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-136"></a><a name="dispatchLbs"><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier">dispatchLbs</span></a></a><span> </span><a name="local-6989586621679160738"><a href="#local-6989586621679160738"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160739"><a href="#local-6989586621679160739"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160740"><a href="#local-6989586621679160740"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160741"><a href="#local-6989586621679160741"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-137"></a><span> </span><a name="local-6989586621679160742"><a href="#local-6989586621679160742"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679160739"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160740"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160741"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
</span><a name="line-138"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679160738"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160739"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160742"><span class="hs-identifier hs-var">initReq</span></a><span>
</span><a name="line-139"></a><span>
</span><a name="line-140"></a><span class="hs-comment">-- ** Mime</span><span>
</span><a name="line-141"></a><span>
</span><a name="line-142"></a><span class="hs-comment">-- | pair of decoded http body and http response</span><span>
</span><a name="line-143"></a><span class="hs-keyword">data</span><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><a name="local-6989586621679160689"><a href="#local-6989586621679160689"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-144"></a><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="mimeResult"><a href="SwaggerPetstore.Client.html#mimeResult"><span class="hs-identifier">mimeResult</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679160689"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ decoded http body</span><span>
</span><a name="line-145"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeResultResponse"><a href="SwaggerPetstore.Client.html#mimeResultResponse"><span class="hs-identifier">mimeResultResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
</span><a name="line-146"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-147"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Functor</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Foldable</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Traversable</span><span class="hs-special">)</span><span>
</span><a name="line-148"></a><span>
</span><a name="line-149"></a><span class="hs-comment">-- | pair of unrender/parser error and http response</span><span>
</span><a name="line-150"></a><span class="hs-keyword">data</span><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-151"></a><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-special">{</span><span>
</span><a name="line-152"></a><span> </span><a name="mimeError"><a href="SwaggerPetstore.Client.html#mimeError"><span class="hs-identifier">mimeError</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-comment">-- ^ unrender/parser error</span><span>
</span><a name="line-153"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeErrorResponse"><a href="SwaggerPetstore.Client.html#mimeErrorResponse"><span class="hs-identifier">mimeErrorResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
</span><a name="line-154"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
</span><a name="line-155"></a><span>
</span><a name="line-156"></a><span class="hs-comment">-- | like 'dispatchMime', but only returns the decoded http body</span><span>
</span><a name="line-157"></a><span class="hs-identifier">dispatchMime'</span><span>
</span><a name="line-158"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679158698"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158699"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679158699"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679158700"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158701"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-156"></a><span class="hs-comment">-- | send a request returning the 'MimeResult'</span><span>
</span><a name="line-157"></a><span class="hs-identifier">dispatchMime</span><span>
</span><a name="line-158"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679160720"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160721"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679160721"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679160722"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160723"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-159"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-160"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-161"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158698"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158701"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158700"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-162"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679158699"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-163"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679158700"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-164"></a><a name="dispatchMime%27"><a href="SwaggerPetstore.Client.html#dispatchMime%27"><span class="hs-identifier">dispatchMime'</span></a></a><span> </span><a name="local-6989586621679158729"><a href="#local-6989586621679158729"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158730"><a href="#local-6989586621679158730"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158731"><a href="#local-6989586621679158731"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158732"><a href="#local-6989586621679158732"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-165"></a><span> </span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a name="local-6989586621679158733"><a href="#local-6989586621679158733"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier hs-var">dispatchMime</span></a><span> </span><a href="#local-6989586621679158729"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158730"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158731"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158732"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
</span><a name="line-166"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679158733"><span class="hs-identifier hs-var">parsedResult</span></a><span>
</span><a name="line-167"></a><span>
</span><a name="line-168"></a><span class="hs-comment">-- ** Unsafe</span><span>
</span><a name="line-169"></a><span>
</span><a name="line-170"></a><span class="hs-comment">-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the &quot;accept&quot; 'MimeType'. (Useful if the server's response is undocumented)</span><span>
</span><a name="line-171"></a><span class="hs-identifier">dispatchLbsUnsafe</span><span>
</span><a name="line-172"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158694"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158695"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-173"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-174"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-175"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158696"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158695"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158697"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-176"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679158694"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-177"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-178"></a><a name="dispatchLbsUnsafe"><a href="SwaggerPetstore.Client.html#dispatchLbsUnsafe"><span class="hs-identifier">dispatchLbsUnsafe</span></a></a><span> </span><a name="local-6989586621679158734"><a href="#local-6989586621679158734"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158735"><a href="#local-6989586621679158735"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158736"><a href="#local-6989586621679158736"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158737"><a href="#local-6989586621679158737"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-179"></a><span> </span><a name="local-6989586621679158738"><a href="#local-6989586621679158738"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679158735"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158736"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158737"><span class="hs-identifier hs-var">accept</span></a><span>
</span><a name="line-180"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679158734"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158735"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158738"><span class="hs-identifier hs-var">initReq</span></a><span>
</span><a name="line-181"></a><span>
</span><a name="line-182"></a><span class="hs-comment">-- | dispatch an InitRequest</span><span>
</span><a name="line-183"></a><span class="hs-identifier">dispatchInitUnsafe</span><span>
</span><a name="line-184"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-185"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-186"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158690"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158691"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158692"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158693"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ init request</span><span>
</span><a name="line-187"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-188"></a><a name="dispatchInitUnsafe"><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier">dispatchInitUnsafe</span></a></a><span> </span><a name="local-6989586621679158739"><a href="#local-6989586621679158739"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158740"><a href="#local-6989586621679158740"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679158741"><a href="#local-6989586621679158741"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-189"></a><span> </span><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier hs-var">runConfigLogWithExceptions</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="#local-6989586621679158740"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-190"></a><span> </span><span class="hs-keyword">do</span><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><a href="#local-6989586621679158744"><span class="hs-identifier hs-var">requestLogMsg</span></a><span>
</span><a name="line-191"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><a href="#local-6989586621679158745"><span class="hs-identifier hs-var">requestDbgLogMsg</span></a><span>
</span><a name="line-192"></a><span> </span><a name="local-6989586621679159177"><a href="#local-6989586621679159177"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">liftIO</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">httpLbs</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><a href="#local-6989586621679158739"><span class="hs-identifier hs-var">manager</span></a><span>
</span><a name="line-193"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679158747"><span class="hs-identifier hs-var">responseLogMsg</span></a><span> </span><a href="#local-6989586621679159177"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
</span><a name="line-194"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679159177"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
</span><a name="line-195"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679159177"><span class="hs-identifier hs-var">res</span></a><span>
</span><a name="line-196"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-197"></a><span> </span><a name="local-6989586621679158742"><a href="#local-6989586621679158742"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;Client&quot;</span><span>
</span><a name="line-198"></a><span> </span><a name="local-6989586621679158743"><a href="#local-6989586621679158743"><span class="hs-identifier">endpoint</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-199"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-200"></a><span> </span><span class="hs-identifier hs-var">BC</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-201"></a><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">host</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">path</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-202"></a><span> </span><a name="local-6989586621679158744"><a href="#local-6989586621679158744"><span class="hs-identifier">requestLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;REQ:&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679158743"><span class="hs-identifier hs-var">endpoint</span></a><span>
</span><a name="line-203"></a><span> </span><a name="local-6989586621679158745"><a href="#local-6989586621679158745"><span class="hs-identifier">requestDbgLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-204"></a><span> </span><span class="hs-string">&quot;Headers=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestHeaders</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; Body=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span>
</span><a name="line-205"></a><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-206"></a><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a name="local-6989586621679158748"><a href="#local-6989586621679158748"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span> </span><a href="#local-6989586621679158748"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
</span><a name="line-207"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-string">&quot;&lt;RequestBody&gt;&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-208"></a><span> </span><a name="local-6989586621679158746"><a href="#local-6989586621679158746"><span class="hs-identifier">responseStatusCode</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">statusCode</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseStatus</span><span>
</span><a name="line-209"></a><span> </span><a name="local-6989586621679158747"><a href="#local-6989586621679158747"><span class="hs-identifier">responseLogMsg</span></a></a><span> </span><a name="local-6989586621679159123"><a href="#local-6989586621679159123"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-210"></a><span> </span><span class="hs-string">&quot;RES:statusCode=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679158746"><span class="hs-identifier hs-var">responseStatusCode</span></a><span> </span><a href="#local-6989586621679159123"><span class="hs-identifier hs-var">res</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; (&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679158743"><span class="hs-identifier hs-var">endpoint</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;)&quot;</span><span>
</span><a name="line-211"></a><span>
</span><a name="line-212"></a><span class="hs-comment">-- * InitRequest</span><span>
</span><a name="line-213"></a><span>
</span><a name="line-214"></a><span class="hs-comment">-- | wraps an http-client 'Request' with request/response type parameters</span><span>
</span><a name="line-215"></a><span class="hs-keyword">newtype</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span> </span><a name="local-6989586621679158670"><a href="#local-6989586621679158670"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679158671"><a href="#local-6989586621679158671"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679158672"><a href="#local-6989586621679158672"><span class="hs-identifier">res</span></a></a><span> </span><a name="local-6989586621679158673"><a href="#local-6989586621679158673"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span>
</span><a name="line-216"></a><span> </span><span class="hs-special">{</span><span> </span><a name="unInitRequest"><a href="SwaggerPetstore.Client.html#unInitRequest"><span class="hs-identifier">unInitRequest</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span>
</span><a name="line-217"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
</span><a name="line-218"></a><span>
</span><a name="line-219"></a><span class="hs-comment">-- | Build an http-client 'Request' record from the supplied config and request</span><span>
</span><a name="line-220"></a><span class="hs-identifier">_toInitRequest</span><span>
</span><a name="line-221"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158686"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158687"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-222"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-223"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158688"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158687"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158689"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-224"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679158686"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-225"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158688"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158687"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158689"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158686"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ initialized request</span><span>
</span><a name="line-226"></a><a name="_toInitRequest"><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier">_toInitRequest</span></a></a><span> </span><a name="local-6989586621679159178"><a href="#local-6989586621679159178"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679159179"><a href="#local-6989586621679159179"><span class="hs-identifier">req0</span></a></a><span> </span><a name="local-6989586621679159180"><a href="#local-6989586621679159180"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-227"></a><span> </span><a name="local-6989586621679159181"><a href="#local-6989586621679159181"><span class="hs-identifier">parsedReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">parseRequest</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">append</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679159178"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">concat</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rUrlPath</span><span> </span><a href="#local-6989586621679159179"><span class="hs-identifier hs-var">req0</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-228"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679159182"><a href="#local-6989586621679159182"><span class="hs-identifier">req1</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#_setAcceptHeader"><span class="hs-identifier hs-var">_setAcceptHeader</span></a><span> </span><a href="#local-6989586621679159179"><span class="hs-identifier hs-var">req0</span></a><span> </span><a href="#local-6989586621679159180"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-operator hs-var">&amp;</span><span> </span><a href="SwaggerPetstore.API.html#_setContentTypeHeader"><span class="hs-identifier hs-var">_setContentTypeHeader</span></a><span>
</span><a name="line-229"></a><span> </span><a name="local-6989586621679159183"><a href="#local-6989586621679159183"><span class="hs-identifier">reqHeaders</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;User-Agent&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toHeader</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679159178"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">:</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
</span><a name="line-230"></a><span> </span><a name="local-6989586621679159184"><a href="#local-6989586621679159184"><span class="hs-identifier">reqQuery</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">renderQuery</span><span> </span><span class="hs-identifier hs-var">True</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">paramsQuery</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-231"></a><span> </span><a name="local-6989586621679159185"><a href="#local-6989586621679159185"><span class="hs-identifier">pReq</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679159181"><span class="hs-identifier hs-var">parsedReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rMethod</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
</span><a name="line-232"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestHeaders</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679159183"><span class="hs-identifier hs-var">reqHeaders</span></a><span>
</span><a name="line-233"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679159184"><span class="hs-identifier hs-var">reqQuery</span></a><span>
</span><a name="line-234"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-235"></a><span> </span><a name="local-6989586621679159190"><a href="#local-6989586621679159190"><span class="hs-identifier">outReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-236"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyNone"><span class="hs-identifier hs-var">ParamBodyNone</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-237"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyB"><span class="hs-identifier hs-var">ParamBodyB</span></a><span> </span><a name="local-6989586621679159186"><a href="#local-6989586621679159186"><span class="hs-identifier">bs</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyBS</span><span> </span><a href="#local-6989586621679159186"><span class="hs-identifier hs-var">bs</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-238"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyBL"><span class="hs-identifier hs-var">ParamBodyBL</span></a><span> </span><a name="local-6989586621679159187"><a href="#local-6989586621679159187"><span class="hs-identifier">bl</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a href="#local-6989586621679159187"><span class="hs-identifier hs-var">bl</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-239"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier hs-var">ParamBodyFormUrlEncoded</span></a><span> </span><a name="local-6989586621679159188"><a href="#local-6989586621679159188"><span class="hs-identifier">form</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeForm</span><span> </span><a href="#local-6989586621679159188"><span class="hs-identifier hs-var">form</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-240"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier hs-var">ParamBodyMultipartFormData</span></a><span> </span><a name="local-6989586621679159189"><a href="#local-6989586621679159189"><span class="hs-identifier">parts</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formDataBody</span><span> </span><a href="#local-6989586621679159189"><span class="hs-identifier hs-var">parts</span></a><span> </span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span>
</span><a name="line-241"></a><span>
</span><a name="line-242"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a href="#local-6989586621679159190"><span class="hs-identifier hs-var">outReq</span></a><span class="hs-special">)</span><span>
</span><a name="line-243"></a><span>
</span><a name="line-244"></a><span class="hs-comment">-- | modify the underlying Request</span><span>
</span><a name="line-245"></a><span class="hs-identifier">modifyInitRequest</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158682"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158683"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158684"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158685"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158682"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158683"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158684"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158685"><span class="hs-identifier hs-type">accept</span></a><span> </span><span>
</span><a name="line-246"></a><a name="modifyInitRequest"><a href="SwaggerPetstore.Client.html#modifyInitRequest"><span class="hs-identifier">modifyInitRequest</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679159191"><a href="#local-6989586621679159191"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679159192"><a href="#local-6989586621679159192"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159192"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679159191"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
</span><a name="line-247"></a><span>
</span><a name="line-248"></a><span class="hs-comment">-- | modify the underlying Request (monadic)</span><span>
</span><a name="line-249"></a><span class="hs-identifier">modifyInitRequestM</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Monad</span><span> </span><a href="#local-6989586621679158677"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158678"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158679"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158680"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158681"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679158677"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679158677"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158678"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158679"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158680"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158681"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span>
</span><a name="line-250"></a><a name="modifyInitRequestM"><a href="SwaggerPetstore.Client.html#modifyInitRequestM"><span class="hs-identifier">modifyInitRequestM</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679159193"><a href="#local-6989586621679159193"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679159194"><a href="#local-6989586621679159194"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159194"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679159193"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
</span><a name="line-251"></a><span>
</span><a name="line-252"></a><span class="hs-comment">-- ** Logging </span><span>
</span><a name="line-253"></a><span>
</span><a name="line-254"></a><span class="hs-comment">-- | Run a block using the configured logger instance</span><span>
</span><a name="line-255"></a><span class="hs-identifier">runConfigLog</span><span>
</span><a name="line-256"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679158676"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-257"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679158676"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-258"></a><a name="runConfigLog"><a href="SwaggerPetstore.Client.html#runConfigLog"><span class="hs-identifier">runConfigLog</span></a></a><span> </span><a name="local-6989586621679159195"><a href="#local-6989586621679159195"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><a href="#local-6989586621679159195"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679159195"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span>
</span><a name="line-259"></a><span>
</span><a name="line-260"></a><span class="hs-comment">-- | Run a block using the configured logger instance (logs exceptions)</span><span>
</span><a name="line-261"></a><span class="hs-identifier">runConfigLogWithExceptions</span><span>
</span><a name="line-262"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadCatch</span><span> </span><a href="#local-6989586621679158675"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679158675"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
</span><a name="line-263"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679158675"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-264"></a><a name="runConfigLogWithExceptions"><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier">runConfigLogWithExceptions</span></a></a><span> </span><a name="local-6989586621679159196"><a href="#local-6989586621679159196"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679159197"><a href="#local-6989586621679159197"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#runConfigLog"><span class="hs-identifier hs-var">runConfigLog</span></a><span> </span><a href="#local-6989586621679159197"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="SwaggerPetstore.Logging.html#logExceptions"><span class="hs-identifier hs-var">logExceptions</span></a><span> </span><a href="#local-6989586621679159196"><span class="hs-identifier hs-var">src</span></a><span>
</span><a name="line-265"></a></pre></body></html>
</span><a name="line-161"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160720"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160723"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160722"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-162"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160721"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-163"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-type">MimeResult</span></a><span> </span><a href="#local-6989586621679160722"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-164"></a><a name="dispatchMime"><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier">dispatchMime</span></a></a><span> </span><a name="local-6989586621679160743"><a href="#local-6989586621679160743"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160744"><a href="#local-6989586621679160744"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160745"><a href="#local-6989586621679160745"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160746"><a href="#local-6989586621679160746"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-165"></a><span> </span><a name="local-6989586621679160747"><a href="#local-6989586621679160747"><span class="hs-identifier">httpResponse</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier hs-var">dispatchLbs</span></a><span> </span><a href="#local-6989586621679160743"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160744"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160745"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160746"><span class="hs-identifier hs-var">accept</span></a><span>
</span><a name="line-166"></a><span> </span><a name="local-6989586621679160750"><a href="#local-6989586621679160750"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span>
</span><a name="line-167"></a><span> </span><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier hs-var">runConfigLogWithExceptions</span></a><span> </span><span class="hs-string">&quot;Client&quot;</span><span> </span><a href="#local-6989586621679160744"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-168"></a><span> </span><span class="hs-keyword">do</span><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier hs-var">mimeUnrender'</span></a><span> </span><a href="#local-6989586621679160746"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseBody</span><span> </span><a href="#local-6989586621679160747"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-169"></a><span> </span><span class="hs-identifier hs-var">Left</span><span> </span><a name="local-6989586621679160748"><a href="#local-6989586621679160748"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-170"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><span class="hs-string">&quot;Client&quot;</span><span> </span><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier hs-var">levelError</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><a href="#local-6989586621679160748"><span class="hs-identifier hs-var">s</span></a><span class="hs-special">)</span><span>
</span><a name="line-171"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Left</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-var">MimeError</span></a><span> </span><a href="#local-6989586621679160748"><span class="hs-identifier hs-var">s</span></a><span> </span><a href="#local-6989586621679160747"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-172"></a><span> </span><span class="hs-identifier hs-var">Right</span><span> </span><a name="local-6989586621679160749"><a href="#local-6989586621679160749"><span class="hs-identifier">r</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Right</span><span> </span><a href="#local-6989586621679160749"><span class="hs-identifier hs-var">r</span></a><span class="hs-special">)</span><span>
</span><a name="line-173"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a href="#local-6989586621679160750"><span class="hs-identifier hs-var">parsedResult</span></a><span> </span><a href="#local-6989586621679160747"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span>
</span><a name="line-174"></a><span>
</span><a name="line-175"></a><span class="hs-comment">-- | like 'dispatchMime', but only returns the decoded http body</span><span>
</span><a name="line-176"></a><span class="hs-identifier">dispatchMime'</span><span>
</span><a name="line-177"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679160716"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160717"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679160717"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679160718"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160719"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-178"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-179"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-180"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160716"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160719"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160718"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-181"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160717"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-182"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679160718"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-183"></a><a name="dispatchMime%27"><a href="SwaggerPetstore.Client.html#dispatchMime%27"><span class="hs-identifier">dispatchMime'</span></a></a><span> </span><a name="local-6989586621679160751"><a href="#local-6989586621679160751"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160752"><a href="#local-6989586621679160752"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160753"><a href="#local-6989586621679160753"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160754"><a href="#local-6989586621679160754"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-184"></a><span> </span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a name="local-6989586621679160755"><a href="#local-6989586621679160755"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier hs-var">dispatchMime</span></a><span> </span><a href="#local-6989586621679160751"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160752"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160753"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160754"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
</span><a name="line-185"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679160755"><span class="hs-identifier hs-var">parsedResult</span></a><span>
</span><a name="line-186"></a><span>
</span><a name="line-187"></a><span class="hs-comment">-- ** Unsafe</span><span>
</span><a name="line-188"></a><span>
</span><a name="line-189"></a><span class="hs-comment">-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the &quot;accept&quot; 'MimeType'. (Useful if the server's response is undocumented)</span><span>
</span><a name="line-190"></a><span class="hs-identifier">dispatchLbsUnsafe</span><span>
</span><a name="line-191"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160712"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160713"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-192"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-193"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-194"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160714"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160713"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160715"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-195"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160712"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-196"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-197"></a><a name="dispatchLbsUnsafe"><a href="SwaggerPetstore.Client.html#dispatchLbsUnsafe"><span class="hs-identifier">dispatchLbsUnsafe</span></a></a><span> </span><a name="local-6989586621679160756"><a href="#local-6989586621679160756"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160757"><a href="#local-6989586621679160757"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160758"><a href="#local-6989586621679160758"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160759"><a href="#local-6989586621679160759"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-198"></a><span> </span><a name="local-6989586621679160760"><a href="#local-6989586621679160760"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679160757"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160758"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160759"><span class="hs-identifier hs-var">accept</span></a><span>
</span><a name="line-199"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679160756"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160757"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160760"><span class="hs-identifier hs-var">initReq</span></a><span>
</span><a name="line-200"></a><span>
</span><a name="line-201"></a><span class="hs-comment">-- | dispatch an InitRequest</span><span>
</span><a name="line-202"></a><span class="hs-identifier">dispatchInitUnsafe</span><span>
</span><a name="line-203"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-204"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-205"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160708"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160709"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160710"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160711"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ init request</span><span>
</span><a name="line-206"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-207"></a><a name="dispatchInitUnsafe"><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier">dispatchInitUnsafe</span></a></a><span> </span><a name="local-6989586621679160761"><a href="#local-6989586621679160761"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160762"><a href="#local-6989586621679160762"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679160763"><a href="#local-6989586621679160763"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-208"></a><span> </span><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier hs-var">runConfigLogWithExceptions</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="#local-6989586621679160762"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-209"></a><span> </span><span class="hs-keyword">do</span><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><a href="#local-6989586621679160766"><span class="hs-identifier hs-var">requestLogMsg</span></a><span>
</span><a name="line-210"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><a href="#local-6989586621679160767"><span class="hs-identifier hs-var">requestDbgLogMsg</span></a><span>
</span><a name="line-211"></a><span> </span><a name="local-6989586621679161199"><a href="#local-6989586621679161199"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">liftIO</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">httpLbs</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><a href="#local-6989586621679160761"><span class="hs-identifier hs-var">manager</span></a><span>
</span><a name="line-212"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679160769"><span class="hs-identifier hs-var">responseLogMsg</span></a><span> </span><a href="#local-6989586621679161199"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
</span><a name="line-213"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679161199"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
</span><a name="line-214"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679161199"><span class="hs-identifier hs-var">res</span></a><span>
</span><a name="line-215"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-216"></a><span> </span><a name="local-6989586621679160764"><a href="#local-6989586621679160764"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;Client&quot;</span><span>
</span><a name="line-217"></a><span> </span><a name="local-6989586621679160765"><a href="#local-6989586621679160765"><span class="hs-identifier">endpoint</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-218"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-219"></a><span> </span><span class="hs-identifier hs-var">BC</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-220"></a><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">host</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">path</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-221"></a><span> </span><a name="local-6989586621679160766"><a href="#local-6989586621679160766"><span class="hs-identifier">requestLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;REQ:&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679160765"><span class="hs-identifier hs-var">endpoint</span></a><span>
</span><a name="line-222"></a><span> </span><a name="local-6989586621679160767"><a href="#local-6989586621679160767"><span class="hs-identifier">requestDbgLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-223"></a><span> </span><span class="hs-string">&quot;Headers=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestHeaders</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; Body=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span>
</span><a name="line-224"></a><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-225"></a><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a name="local-6989586621679160770"><a href="#local-6989586621679160770"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span> </span><a href="#local-6989586621679160770"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
</span><a name="line-226"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-string">&quot;&lt;RequestBody&gt;&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-227"></a><span> </span><a name="local-6989586621679160768"><a href="#local-6989586621679160768"><span class="hs-identifier">responseStatusCode</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">statusCode</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseStatus</span><span>
</span><a name="line-228"></a><span> </span><a name="local-6989586621679160769"><a href="#local-6989586621679160769"><span class="hs-identifier">responseLogMsg</span></a></a><span> </span><a name="local-6989586621679161145"><a href="#local-6989586621679161145"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-229"></a><span> </span><span class="hs-string">&quot;RES:statusCode=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679160768"><span class="hs-identifier hs-var">responseStatusCode</span></a><span> </span><a href="#local-6989586621679161145"><span class="hs-identifier hs-var">res</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; (&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679160765"><span class="hs-identifier hs-var">endpoint</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;)&quot;</span><span>
</span><a name="line-230"></a><span>
</span><a name="line-231"></a><span class="hs-comment">-- * InitRequest</span><span>
</span><a name="line-232"></a><span>
</span><a name="line-233"></a><span class="hs-comment">-- | wraps an http-client 'Request' with request/response type parameters</span><span>
</span><a name="line-234"></a><span class="hs-keyword">newtype</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span> </span><a name="local-6989586621679160685"><a href="#local-6989586621679160685"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679160686"><a href="#local-6989586621679160686"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679160687"><a href="#local-6989586621679160687"><span class="hs-identifier">res</span></a></a><span> </span><a name="local-6989586621679160688"><a href="#local-6989586621679160688"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span>
</span><a name="line-235"></a><span> </span><span class="hs-special">{</span><span> </span><a name="unInitRequest"><a href="SwaggerPetstore.Client.html#unInitRequest"><span class="hs-identifier">unInitRequest</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span>
</span><a name="line-236"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
</span><a name="line-237"></a><span>
</span><a name="line-238"></a><span class="hs-comment">-- | Build an http-client 'Request' record from the supplied config and request</span><span>
</span><a name="line-239"></a><span class="hs-identifier">_toInitRequest</span><span>
</span><a name="line-240"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160704"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160705"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-241"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-242"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160705"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160707"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-243"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160704"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-244"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160705"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160707"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160704"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ initialized request</span><span>
</span><a name="line-245"></a><a name="_toInitRequest"><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier">_toInitRequest</span></a></a><span> </span><a name="local-6989586621679161200"><a href="#local-6989586621679161200"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679161201"><a href="#local-6989586621679161201"><span class="hs-identifier">req0</span></a></a><span> </span><a name="local-6989586621679161202"><a href="#local-6989586621679161202"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-246"></a><span> </span><a name="local-6989586621679161203"><a href="#local-6989586621679161203"><span class="hs-identifier">parsedReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">parseRequest</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">append</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679161200"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">concat</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rUrlPath</span><span> </span><a href="#local-6989586621679161201"><span class="hs-identifier hs-var">req0</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-247"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679161204"><a href="#local-6989586621679161204"><span class="hs-identifier">req1</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#_applyAuthMethods"><span class="hs-identifier hs-var">_applyAuthMethods</span></a><span> </span><a href="#local-6989586621679161201"><span class="hs-identifier hs-var">req0</span></a><span> </span><a href="#local-6989586621679161200"><span class="hs-identifier hs-var">config</span></a><span>
</span><a name="line-248"></a><span> </span><span class="hs-operator hs-var">&amp;</span><span> </span><a href="SwaggerPetstore.API.html#_setContentTypeHeader"><span class="hs-identifier hs-var">_setContentTypeHeader</span></a><span>
</span><a name="line-249"></a><span> </span><span class="hs-operator hs-var">&amp;</span><span> </span><span class="hs-identifier hs-var">flip</span><span> </span><a href="SwaggerPetstore.API.html#_setAcceptHeader"><span class="hs-identifier hs-var">_setAcceptHeader</span></a><span> </span><a href="#local-6989586621679161202"><span class="hs-identifier hs-var">accept</span></a><span>
</span><a name="line-250"></a><span> </span><a name="local-6989586621679161205"><a href="#local-6989586621679161205"><span class="hs-identifier">reqHeaders</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;User-Agent&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toHeader</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679161200"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">:</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
</span><a name="line-251"></a><span> </span><a name="local-6989586621679161206"><a href="#local-6989586621679161206"><span class="hs-identifier">reqQuery</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">renderQuery</span><span> </span><span class="hs-identifier hs-var">True</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">paramsQuery</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-252"></a><span> </span><a name="local-6989586621679161207"><a href="#local-6989586621679161207"><span class="hs-identifier">pReq</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679161203"><span class="hs-identifier hs-var">parsedReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rMethod</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
</span><a name="line-253"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestHeaders</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679161205"><span class="hs-identifier hs-var">reqHeaders</span></a><span>
</span><a name="line-254"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679161206"><span class="hs-identifier hs-var">reqQuery</span></a><span>
</span><a name="line-255"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-256"></a><span> </span><a name="local-6989586621679161212"><a href="#local-6989586621679161212"><span class="hs-identifier">outReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-257"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyNone"><span class="hs-identifier hs-var">ParamBodyNone</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-258"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyB"><span class="hs-identifier hs-var">ParamBodyB</span></a><span> </span><a name="local-6989586621679161208"><a href="#local-6989586621679161208"><span class="hs-identifier">bs</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyBS</span><span> </span><a href="#local-6989586621679161208"><span class="hs-identifier hs-var">bs</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-259"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyBL"><span class="hs-identifier hs-var">ParamBodyBL</span></a><span> </span><a name="local-6989586621679161209"><a href="#local-6989586621679161209"><span class="hs-identifier">bl</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a href="#local-6989586621679161209"><span class="hs-identifier hs-var">bl</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-260"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier hs-var">ParamBodyFormUrlEncoded</span></a><span> </span><a name="local-6989586621679161210"><a href="#local-6989586621679161210"><span class="hs-identifier">form</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeForm</span><span> </span><a href="#local-6989586621679161210"><span class="hs-identifier hs-var">form</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
</span><a name="line-261"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier hs-var">ParamBodyMultipartFormData</span></a><span> </span><a name="local-6989586621679161211"><a href="#local-6989586621679161211"><span class="hs-identifier">parts</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formDataBody</span><span> </span><a href="#local-6989586621679161211"><span class="hs-identifier hs-var">parts</span></a><span> </span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span>
</span><a name="line-262"></a><span>
</span><a name="line-263"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a href="#local-6989586621679161212"><span class="hs-identifier hs-var">outReq</span></a><span class="hs-special">)</span><span>
</span><a name="line-264"></a><span>
</span><a name="line-265"></a><span class="hs-comment">-- | apply all matching AuthMethods in config to request</span><span>
</span><a name="line-266"></a><span class="hs-identifier">_applyAuthMethods</span><span>
</span><a name="line-267"></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160701"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160702"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160703"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-268"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-269"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160701"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160702"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160703"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-270"></a><a name="_applyAuthMethods"><a href="SwaggerPetstore.Client.html#_applyAuthMethods"><span class="hs-identifier">_applyAuthMethods</span></a></a><span> </span><a name="local-6989586621679161213"><a href="#local-6989586621679161213"><span class="hs-identifier">req</span></a></a><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-special">{</span><span class="hs-identifier">configAuthMethods</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">as</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-271"></a><span> </span><span class="hs-identifier hs-var">foldl</span><span> </span><a href="#local-6989586621679161215"><span class="hs-identifier hs-var">go</span></a><span> </span><a href="#local-6989586621679161213"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-keyword">as</span><span>
</span><a name="line-272"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-273"></a><span> </span><a name="local-6989586621679161215"><a href="#local-6989586621679161215"><span class="hs-identifier">go</span></a></a><span> </span><a name="local-6989586621679161216"><a href="#local-6989586621679161216"><span class="hs-identifier">r</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#AnyAuthMethod"><span class="hs-identifier hs-var">AnyAuthMethod</span></a><span> </span><a name="local-6989586621679161217"><a href="#local-6989586621679161217"><span class="hs-identifier">a</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679161216"><span class="hs-identifier hs-var">r</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#applyAuthMethod"><span class="hs-identifier hs-var">applyAuthMethod</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679161217"><span class="hs-identifier hs-var">a</span></a><span>
</span><a name="line-274"></a><span>
</span><a name="line-275"></a><span class="hs-comment">-- | modify the underlying Request</span><span>
</span><a name="line-276"></a><span class="hs-identifier">modifyInitRequest</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160697"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160698"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160699"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160700"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160697"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160698"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160699"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160700"><span class="hs-identifier hs-type">accept</span></a><span> </span><span>
</span><a name="line-277"></a><a name="modifyInitRequest"><a href="SwaggerPetstore.Client.html#modifyInitRequest"><span class="hs-identifier">modifyInitRequest</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679161218"><a href="#local-6989586621679161218"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679161219"><a href="#local-6989586621679161219"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161219"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679161218"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
</span><a name="line-278"></a><span>
</span><a name="line-279"></a><span class="hs-comment">-- | modify the underlying Request (monadic)</span><span>
</span><a name="line-280"></a><span class="hs-identifier">modifyInitRequestM</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Monad</span><span> </span><a href="#local-6989586621679160692"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160693"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160694"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160695"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160696"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160692"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679160692"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160693"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160694"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160695"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160696"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span>
</span><a name="line-281"></a><a name="modifyInitRequestM"><a href="SwaggerPetstore.Client.html#modifyInitRequestM"><span class="hs-identifier">modifyInitRequestM</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679161220"><a href="#local-6989586621679161220"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679161221"><a href="#local-6989586621679161221"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161221"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679161220"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
</span><a name="line-282"></a><span>
</span><a name="line-283"></a><span class="hs-comment">-- ** Logging </span><span>
</span><a name="line-284"></a><span>
</span><a name="line-285"></a><span class="hs-comment">-- | Run a block using the configured logger instance</span><span>
</span><a name="line-286"></a><span class="hs-identifier">runConfigLog</span><span>
</span><a name="line-287"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679160691"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-288"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679160691"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-289"></a><a name="runConfigLog"><a href="SwaggerPetstore.Client.html#runConfigLog"><span class="hs-identifier">runConfigLog</span></a></a><span> </span><a name="local-6989586621679161222"><a href="#local-6989586621679161222"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><a href="#local-6989586621679161222"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679161222"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span>
</span><a name="line-290"></a><span>
</span><a name="line-291"></a><span class="hs-comment">-- | Run a block using the configured logger instance (logs exceptions)</span><span>
</span><a name="line-292"></a><span class="hs-identifier">runConfigLogWithExceptions</span><span>
</span><a name="line-293"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadCatch</span><span> </span><a href="#local-6989586621679160690"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679160690"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
</span><a name="line-294"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679160690"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-295"></a><a name="runConfigLogWithExceptions"><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier">runConfigLogWithExceptions</span></a></a><span> </span><a name="local-6989586621679161223"><a href="#local-6989586621679161223"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679161224"><a href="#local-6989586621679161224"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#runConfigLog"><span class="hs-identifier hs-var">runConfigLog</span></a><span> </span><a href="#local-6989586621679161224"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="SwaggerPetstore.Logging.html#logExceptions"><span class="hs-identifier hs-var">logExceptions</span></a><span> </span><a href="#local-6989586621679161223"><span class="hs-identifier hs-var">src</span></a><span>
</span><a name="line-296"></a></pre></body></html>

View File

@ -1,109 +1,119 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-
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: \&quot; \\
OpenAPI spec version: 1.0.0
Contact: apiteam@swagger.io
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
-}</span><span>
</span><a name="line-10"></a><span>
</span><a name="line-11"></a><span class="hs-comment">{-|
Module : SwaggerPetstore.Logging
Katip Logging functions
-}</span><span>
</span><a name="line-5"></a><span>
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-9"></a><span>
</span><a name="line-10"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-11"></a><span>
</span><a name="line-12"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
</span><a name="line-13"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-14"></a><span>
</span><a name="line-15"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
</span><a name="line-16"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-17"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Trans</span><span class="hs-operator">.</span><span class="hs-identifier">Reader</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-19"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Lens</span><span class="hs-operator">.</span><span class="hs-identifier">Micro</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">L</span><span>
</span><a name="line-20"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">System</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">IO</span><span>
</span><a name="line-15"></a><span>
</span><a name="line-16"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-17"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><a name="line-18"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-19"></a><span>
</span><a name="line-20"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-21"></a><span>
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Katip</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">LG</span><span>
</span><a name="line-23"></a><span>
</span><a name="line-24"></a><span class="hs-comment">-- * Type Aliases (for compatability)</span><span>
</span><a name="line-25"></a><span>
</span><a name="line-26"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-27"></a><span class="hs-keyword">type</span><span> </span><a name="LogExecWithContext"><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier">LogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096641"><a href="#local-6989586621679096641"><span class="hs-identifier">m</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=&gt;</span><span>
</span><a name="line-28"></a><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-29"></a><span>
</span><a name="line-30"></a><span class="hs-comment">-- | A Katip logging block</span><span>
</span><a name="line-31"></a><span class="hs-keyword">type</span><span> </span><a name="LogExec"><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier">LogExec</span></a></a><span> </span><a name="local-6989586621679096639"><a href="#local-6989586621679096639"><span class="hs-identifier">m</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096640"><a href="#local-6989586621679096640"><span class="hs-identifier">a</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">KatipT</span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-32"></a><span>
</span><a name="line-33"></a><span class="hs-comment">-- | A Katip Log environment</span><span>
</span><a name="line-34"></a><span class="hs-keyword">type</span><span> </span><a name="LogContext"><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier">LogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogEnv</span><span>
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
</span><a name="line-23"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-24"></a><span>
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
</span><a name="line-26"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Trans</span><span class="hs-operator">.</span><span class="hs-identifier">Reader</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Lens</span><span class="hs-operator">.</span><span class="hs-identifier">Micro</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">L</span><span>
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">System</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">IO</span><span>
</span><a name="line-31"></a><span>
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Katip</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">LG</span><span>
</span><a name="line-33"></a><span>
</span><a name="line-34"></a><span class="hs-comment">-- * Type Aliases (for compatability)</span><span>
</span><a name="line-35"></a><span>
</span><a name="line-36"></a><span class="hs-comment">-- | A Katip Log severity</span><span>
</span><a name="line-37"></a><span class="hs-keyword">type</span><span> </span><a name="LogLevel"><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier">LogLevel</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Severity</span><span>
</span><a name="line-38"></a><span>
</span><a name="line-39"></a><span class="hs-comment">-- * default logger</span><span>
</span><a name="line-40"></a><span>
</span><a name="line-41"></a><span class="hs-comment">-- | the default log environment</span><span>
</span><a name="line-42"></a><span class="hs-identifier">initLogContext</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
</span><a name="line-43"></a><a name="initLogContext"><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier">initLogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">initLogEnv</span><span> </span><span class="hs-string">&quot;SwaggerPetstore&quot;</span><span> </span><span class="hs-string">&quot;dev&quot;</span><span>
</span><a name="line-44"></a><span>
</span><a name="line-45"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-46"></a><span class="hs-identifier">runDefaultLogExecWithContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-47"></a><a name="runDefaultLogExecWithContext"><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier">runDefaultLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">runKatipT</span><span>
</span><a name="line-36"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-37"></a><span class="hs-keyword">type</span><span> </span><a name="LogExecWithContext"><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier">LogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096641"><a href="#local-6989586621679096641"><span class="hs-identifier">m</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=&gt;</span><span>
</span><a name="line-38"></a><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span>
</span><a name="line-39"></a><span>
</span><a name="line-40"></a><span class="hs-comment">-- | A Katip logging block</span><span>
</span><a name="line-41"></a><span class="hs-keyword">type</span><span> </span><a name="LogExec"><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier">LogExec</span></a></a><span> </span><a name="local-6989586621679096639"><a href="#local-6989586621679096639"><span class="hs-identifier">m</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096640"><a href="#local-6989586621679096640"><span class="hs-identifier">a</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">KatipT</span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-42"></a><span>
</span><a name="line-43"></a><span class="hs-comment">-- | A Katip Log environment</span><span>
</span><a name="line-44"></a><span class="hs-keyword">type</span><span> </span><a name="LogContext"><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier">LogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogEnv</span><span>
</span><a name="line-45"></a><span>
</span><a name="line-46"></a><span class="hs-comment">-- | A Katip Log severity</span><span>
</span><a name="line-47"></a><span class="hs-keyword">type</span><span> </span><a name="LogLevel"><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier">LogLevel</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Severity</span><span>
</span><a name="line-48"></a><span>
</span><a name="line-49"></a><span class="hs-comment">-- * stdout logger</span><span>
</span><a name="line-49"></a><span class="hs-comment">-- * default logger</span><span>
</span><a name="line-50"></a><span>
</span><a name="line-51"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-52"></a><span class="hs-identifier">stdoutLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-53"></a><a name="stdoutLoggingExec"><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier">stdoutLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
</span><a name="line-51"></a><span class="hs-comment">-- | the default log environment</span><span>
</span><a name="line-52"></a><span class="hs-identifier">initLogContext</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
</span><a name="line-53"></a><a name="initLogContext"><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier">initLogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">initLogEnv</span><span> </span><span class="hs-string">&quot;SwaggerPetstore&quot;</span><span> </span><span class="hs-string">&quot;dev&quot;</span><span>
</span><a name="line-54"></a><span>
</span><a name="line-55"></a><span class="hs-comment">-- | A Katip Log environment which targets stdout</span><span>
</span><a name="line-56"></a><span class="hs-identifier">stdoutLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
</span><a name="line-57"></a><a name="stdoutLoggingContext"><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier">stdoutLoggingContext</span></a></a><span> </span><a name="local-6989586621679097049"><a href="#local-6989586621679097049"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-58"></a><span> </span><a name="local-6989586621679097185"><a href="#local-6989586621679097185"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stdout</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
</span><a name="line-59"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">&quot;stdout&quot;</span><span> </span><a href="#local-6989586621679097185"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097049"><span class="hs-identifier hs-var">cxt</span></a><span>
</span><a name="line-55"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-56"></a><span class="hs-identifier">runDefaultLogExecWithContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-57"></a><a name="runDefaultLogExecWithContext"><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier">runDefaultLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">runKatipT</span><span>
</span><a name="line-58"></a><span>
</span><a name="line-59"></a><span class="hs-comment">-- * stdout logger</span><span>
</span><a name="line-60"></a><span>
</span><a name="line-61"></a><span class="hs-comment">-- * stderr logger</span><span>
</span><a name="line-62"></a><span>
</span><a name="line-63"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-64"></a><span class="hs-identifier">stderrLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-65"></a><a name="stderrLoggingExec"><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier">stderrLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
</span><a name="line-66"></a><span>
</span><a name="line-67"></a><span class="hs-comment">-- | A Katip Log environment which targets stderr</span><span>
</span><a name="line-68"></a><span class="hs-identifier">stderrLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
</span><a name="line-69"></a><a name="stderrLoggingContext"><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier">stderrLoggingContext</span></a></a><span> </span><a name="local-6989586621679097186"><a href="#local-6989586621679097186"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-70"></a><span> </span><a name="local-6989586621679097187"><a href="#local-6989586621679097187"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stderr</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
</span><a name="line-71"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">&quot;stderr&quot;</span><span> </span><a href="#local-6989586621679097187"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097186"><span class="hs-identifier hs-var">cxt</span></a><span>
</span><a name="line-61"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-62"></a><span class="hs-identifier">stdoutLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-63"></a><a name="stdoutLoggingExec"><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier">stdoutLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
</span><a name="line-64"></a><span>
</span><a name="line-65"></a><span class="hs-comment">-- | A Katip Log environment which targets stdout</span><span>
</span><a name="line-66"></a><span class="hs-identifier">stdoutLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
</span><a name="line-67"></a><a name="stdoutLoggingContext"><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier">stdoutLoggingContext</span></a></a><span> </span><a name="local-6989586621679097049"><a href="#local-6989586621679097049"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-68"></a><span> </span><a name="local-6989586621679097185"><a href="#local-6989586621679097185"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stdout</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
</span><a name="line-69"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">&quot;stdout&quot;</span><span> </span><a href="#local-6989586621679097185"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097049"><span class="hs-identifier hs-var">cxt</span></a><span>
</span><a name="line-70"></a><span>
</span><a name="line-71"></a><span class="hs-comment">-- * stderr logger</span><span>
</span><a name="line-72"></a><span>
</span><a name="line-73"></a><span class="hs-comment">-- * Null logger</span><span>
</span><a name="line-74"></a><span>
</span><a name="line-75"></a><span class="hs-comment">-- | Disables Katip logging</span><span>
</span><a name="line-76"></a><span class="hs-identifier">runNullLogExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-77"></a><a name="runNullLogExec"><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier">runNullLogExec</span></a></a><span> </span><a name="local-6989586621679097188"><a href="#local-6989586621679097188"><span class="hs-identifier">le</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">KatipT</span><span> </span><a name="local-6989586621679097189"><a href="#local-6989586621679097189"><span class="hs-identifier">f</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">P</span><span class="hs-operator">.</span><span class="hs-identifier">runReaderT</span><span> </span><a href="#local-6989586621679097189"><span class="hs-identifier hs-var">f</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">L</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">set</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logEnvScribes</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><a href="#local-6989586621679097188"><span class="hs-identifier hs-var">le</span></a><span class="hs-special">)</span><span>
</span><a name="line-78"></a><span>
</span><a name="line-79"></a><span class="hs-comment">-- * Log Msg</span><span>
</span><a name="line-80"></a><span>
</span><a name="line-81"></a><span class="hs-comment">-- | Log a katip message</span><span>
</span><a name="line-82"></a><span class="hs-identifier">_log</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><a name="line-83"></a><a name="_log"><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier">_log</span></a></a><span> </span><a name="local-6989586621679097190"><a href="#local-6989586621679097190"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679097191"><a href="#local-6989586621679097191"><span class="hs-identifier">level</span></a></a><span> </span><a name="local-6989586621679097192"><a href="#local-6989586621679097192"><span class="hs-identifier">msg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-84"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logMsg</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><a href="#local-6989586621679097190"><span class="hs-identifier hs-var">src</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097191"><span class="hs-identifier hs-var">level</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logStr</span><span> </span><a href="#local-6989586621679097192"><span class="hs-identifier hs-var">msg</span></a><span class="hs-special">)</span><span>
</span><a name="line-85"></a><span>
</span><a name="line-86"></a><span class="hs-comment">-- * Log Exceptions</span><span>
</span><a name="line-87"></a><span>
</span><a name="line-88"></a><span class="hs-comment">-- | re-throws exceptions after logging them</span><span>
</span><a name="line-89"></a><span class="hs-identifier">logExceptions</span><span>
</span><a name="line-90"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadCatch</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
</span><a name="line-91"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096643"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096643"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-92"></a><a name="logExceptions"><a href="SwaggerPetstore.Logging.html#logExceptions"><span class="hs-identifier">logExceptions</span></a></a><span> </span><a name="local-6989586621679097193"><a href="#local-6989586621679097193"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-93"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">handle</span><span>
</span><a name="line-94"></a><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679097454"><a href="#local-6989586621679097454"><span class="hs-identifier">e</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">SomeException</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-95"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679097193"><span class="hs-identifier hs-var">src</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
</span><a name="line-96"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">throw</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
</span><a name="line-73"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-74"></a><span class="hs-identifier">stderrLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-75"></a><a name="stderrLoggingExec"><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier">stderrLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
</span><a name="line-76"></a><span>
</span><a name="line-77"></a><span class="hs-comment">-- | A Katip Log environment which targets stderr</span><span>
</span><a name="line-78"></a><span class="hs-identifier">stderrLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
</span><a name="line-79"></a><a name="stderrLoggingContext"><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier">stderrLoggingContext</span></a></a><span> </span><a name="local-6989586621679097186"><a href="#local-6989586621679097186"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-80"></a><span> </span><a name="local-6989586621679097187"><a href="#local-6989586621679097187"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stderr</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
</span><a name="line-81"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">&quot;stderr&quot;</span><span> </span><a href="#local-6989586621679097187"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097186"><span class="hs-identifier hs-var">cxt</span></a><span>
</span><a name="line-82"></a><span>
</span><a name="line-83"></a><span class="hs-comment">-- * Null logger</span><span>
</span><a name="line-84"></a><span>
</span><a name="line-85"></a><span class="hs-comment">-- | Disables Katip logging</span><span>
</span><a name="line-86"></a><span class="hs-identifier">runNullLogExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
</span><a name="line-87"></a><a name="runNullLogExec"><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier">runNullLogExec</span></a></a><span> </span><a name="local-6989586621679097188"><a href="#local-6989586621679097188"><span class="hs-identifier">le</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">KatipT</span><span> </span><a name="local-6989586621679097189"><a href="#local-6989586621679097189"><span class="hs-identifier">f</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">P</span><span class="hs-operator">.</span><span class="hs-identifier">runReaderT</span><span> </span><a href="#local-6989586621679097189"><span class="hs-identifier hs-var">f</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">L</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">set</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logEnvScribes</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><a href="#local-6989586621679097188"><span class="hs-identifier hs-var">le</span></a><span class="hs-special">)</span><span>
</span><a name="line-88"></a><span>
</span><a name="line-89"></a><span class="hs-comment">-- * Log Msg</span><span>
</span><a name="line-90"></a><span>
</span><a name="line-91"></a><span class="hs-comment">-- | Log a katip message</span><span>
</span><a name="line-92"></a><span class="hs-identifier">_log</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><a name="line-93"></a><a name="_log"><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier">_log</span></a></a><span> </span><a name="local-6989586621679097190"><a href="#local-6989586621679097190"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679097191"><a href="#local-6989586621679097191"><span class="hs-identifier">level</span></a></a><span> </span><a name="local-6989586621679097192"><a href="#local-6989586621679097192"><span class="hs-identifier">msg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-94"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logMsg</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><a href="#local-6989586621679097190"><span class="hs-identifier hs-var">src</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097191"><span class="hs-identifier hs-var">level</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logStr</span><span> </span><a href="#local-6989586621679097192"><span class="hs-identifier hs-var">msg</span></a><span class="hs-special">)</span><span>
</span><a name="line-95"></a><span>
</span><a name="line-96"></a><span class="hs-comment">-- * Log Exceptions</span><span>
</span><a name="line-97"></a><span>
</span><a name="line-98"></a><span class="hs-comment">-- * Log Level</span><span>
</span><a name="line-99"></a><span>
</span><a name="line-100"></a><span class="hs-identifier">levelInfo</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
</span><a name="line-101"></a><a name="levelInfo"><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier">levelInfo</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span>
</span><a name="line-102"></a><span>
</span><a name="line-103"></a><span class="hs-identifier">levelError</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
</span><a name="line-104"></a><a name="levelError"><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier">levelError</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span>
</span><a name="line-105"></a><span>
</span><a name="line-106"></a><span class="hs-identifier">levelDebug</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
</span><a name="line-107"></a><a name="levelDebug"><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier">levelDebug</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">DebugS</span><span>
</span><a name="line-108"></a><span>
</span><a name="line-109"></a></pre></body></html>
</span><a name="line-98"></a><span class="hs-comment">-- | re-throws exceptions after logging them</span><span>
</span><a name="line-99"></a><span class="hs-identifier">logExceptions</span><span>
</span><a name="line-100"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadCatch</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
</span><a name="line-101"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096643"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096643"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-102"></a><a name="logExceptions"><a href="SwaggerPetstore.Logging.html#logExceptions"><span class="hs-identifier">logExceptions</span></a></a><span> </span><a name="local-6989586621679097193"><a href="#local-6989586621679097193"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-103"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">handle</span><span>
</span><a name="line-104"></a><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679097454"><a href="#local-6989586621679097454"><span class="hs-identifier">e</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">SomeException</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-105"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679097193"><span class="hs-identifier hs-var">src</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
</span><a name="line-106"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">throw</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
</span><a name="line-107"></a><span>
</span><a name="line-108"></a><span class="hs-comment">-- * Log Level</span><span>
</span><a name="line-109"></a><span>
</span><a name="line-110"></a><span class="hs-identifier">levelInfo</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
</span><a name="line-111"></a><a name="levelInfo"><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier">levelInfo</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span>
</span><a name="line-112"></a><span>
</span><a name="line-113"></a><span class="hs-identifier">levelError</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
</span><a name="line-114"></a><a name="levelError"><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier">levelError</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span>
</span><a name="line-115"></a><span>
</span><a name="line-116"></a><span class="hs-identifier">levelDebug</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
</span><a name="line-117"></a><a name="levelDebug"><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier">levelDebug</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">DebugS</span><span>
</span><a name="line-118"></a><span>
</span><a name="line-119"></a></pre></body></html>

View File

@ -1,220 +1,229 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span>
</span><a name="line-2"></a><span class="hs-comment">{-|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-
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: \&quot; \\
OpenAPI spec version: 1.0.0
Contact: apiteam@swagger.io
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
-}</span><span>
</span><a name="line-10"></a><span>
</span><a name="line-11"></a><span class="hs-comment">{-|
Module : SwaggerPetstore.MimeTypes
-}</span><span>
</span><a name="line-5"></a><span>
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE ConstraintKinds #-}</span><span>
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE FlexibleInstances #-}</span><span>
</span><a name="line-9"></a><span class="hs-pragma">{-# LANGUAGE MultiParamTypeClasses #-}</span><span>
</span><a name="line-10"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-11"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-12"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
</span><a name="line-13"></a><span>
</span><a name="line-14"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-15"></a><span>
</span><a name="line-16"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">M</span><span>
</span><a name="line-17"></a><span>
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-19"></a><span>
</span><a name="line-20"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
</span><a name="line-21"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
</span><a name="line-23"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
</span><a name="line-24"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
</span><a name="line-25"></a><span>
</span><a name="line-14"></a><span>
</span><a name="line-15"></a><span class="hs-pragma">{-# LANGUAGE ConstraintKinds #-}</span><span>
</span><a name="line-16"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><a name="line-17"></a><span class="hs-pragma">{-# LANGUAGE FlexibleInstances #-}</span><span>
</span><a name="line-18"></a><span class="hs-pragma">{-# LANGUAGE MultiParamTypeClasses #-}</span><span>
</span><a name="line-19"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-20"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-21"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
</span><a name="line-22"></a><span>
</span><a name="line-23"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-24"></a><span>
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">M</span><span>
</span><a name="line-26"></a><span>
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Media</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">ME</span><span>
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-28"></a><span>
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-31"></a><span>
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Data</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-33"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-34"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">String</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-37"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Arrow</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">left</span><span class="hs-special">)</span><span>
</span><a name="line-38"></a><span>
</span><a name="line-39"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">$</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;$&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;*&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Maybe</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Bool</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Char</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Double</span><span class="hs-special">,</span><span class="hs-identifier hs-type">FilePath</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Float</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Int</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Integer</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">,</span><span class="hs-identifier hs-var">undefined</span><span class="hs-special">,</span><span class="hs-identifier hs-var">mempty</span><span class="hs-special">)</span><span>
</span><a name="line-40"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-41"></a><span>
</span><a name="line-42"></a><span class="hs-comment">-- * Content Negotiation</span><span>
</span><a name="line-43"></a><span>
</span><a name="line-44"></a><span class="hs-comment">-- | A type for responses without content-body.</span><span>
</span><a name="line-45"></a><span class="hs-keyword">data</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span>
</span><a name="line-46"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">)</span><span>
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
</span><a name="line-31"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
</span><a name="line-33"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
</span><a name="line-34"></a><span>
</span><a name="line-35"></a><span>
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Media</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">ME</span><span>
</span><a name="line-37"></a><span>
</span><a name="line-38"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-39"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-40"></a><span>
</span><a name="line-41"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Data</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-42"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-43"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-44"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">String</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-45"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
</span><a name="line-46"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Arrow</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">left</span><span class="hs-special">)</span><span>
</span><a name="line-47"></a><span>
</span><a name="line-48"></a><span class="hs-comment">-- ** Mime Types</span><span>
</span><a name="line-49"></a><span>
</span><a name="line-50"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-51"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-52"></a><span class="hs-keyword">data</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-53"></a><span class="hs-keyword">data</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-54"></a><span class="hs-keyword">data</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-55"></a><span class="hs-keyword">data</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-56"></a><span class="hs-keyword">data</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-57"></a><span class="hs-keyword">data</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-48"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">$</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;$&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;*&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Maybe</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Bool</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Char</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Double</span><span class="hs-special">,</span><span class="hs-identifier hs-type">FilePath</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Float</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Int</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Integer</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">,</span><span class="hs-identifier hs-var">undefined</span><span class="hs-special">,</span><span class="hs-identifier hs-var">mempty</span><span class="hs-special">)</span><span>
</span><a name="line-49"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-50"></a><span>
</span><a name="line-51"></a><span class="hs-comment">-- * Content Negotiation</span><span>
</span><a name="line-52"></a><span>
</span><a name="line-53"></a><span class="hs-comment">-- | A type for responses without content-body.</span><span>
</span><a name="line-54"></a><span class="hs-keyword">data</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span>
</span><a name="line-55"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">)</span><span>
</span><a name="line-56"></a><span>
</span><a name="line-57"></a><span class="hs-comment">-- ** Mime Types</span><span>
</span><a name="line-58"></a><span>
</span><a name="line-59"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-60"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-61"></a><span>
</span><a name="line-62"></a><span class="hs-comment">-- ** MimeType Class</span><span>
</span><a name="line-63"></a><span>
</span><a name="line-64"></a><span class="hs-keyword">class</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeType"><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier">MimeType</span></a></a><span> </span><a name="local-6989586621679091890"><a href="#local-6989586621679091890"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-65"></a><span> </span><span class="hs-pragma">{-# MINIMAL mimeType | mimeTypes #-}</span><span>
</span><a name="line-66"></a><span>
</span><a name="line-67"></a><span> </span><span class="hs-identifier">mimeTypes</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
</span><a name="line-68"></a><span> </span><a name="local-8214565720323866764"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier">mimeTypes</span></a></a><span> </span><a name="local-6989586621679092039"><a href="#local-6989586621679092039"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-69"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><a href="#local-6989586621679092039"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-70"></a><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679092040"><a href="#local-6989586621679092040"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679092040"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-71"></a><span> </span><span class="hs-identifier hs-var">Nothing</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><a name="line-59"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-60"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-61"></a><span class="hs-keyword">data</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-62"></a><span class="hs-keyword">data</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-63"></a><span class="hs-keyword">data</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-64"></a><span class="hs-keyword">data</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-65"></a><span class="hs-keyword">data</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-66"></a><span class="hs-keyword">data</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-67"></a><span>
</span><a name="line-68"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-69"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
</span><a name="line-70"></a><span>
</span><a name="line-71"></a><span class="hs-comment">-- ** MimeType Class</span><span>
</span><a name="line-72"></a><span>
</span><a name="line-73"></a><span> </span><span class="hs-identifier">mimeType</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
</span><a name="line-74"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><a name="local-6989586621679092041"><a href="#local-6989586621679092041"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-75"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><a href="#local-6989586621679092041"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-76"></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-77"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679092042"><a href="#local-6989586621679092042"><span class="hs-identifier">x</span></a></a><span class="hs-glyph">:</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679092042"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-78"></a><span>
</span><a name="line-79"></a><span> </span><span class="hs-identifier">mimeType'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
</span><a name="line-80"></a><span> </span><a name="local-8214565720323866766"><a href="SwaggerPetstore.MimeTypes.html#mimeType%27"><span class="hs-identifier">mimeType'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
</span><a name="line-81"></a><span> </span><span class="hs-identifier">mimeTypes'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
</span><a name="line-82"></a><span> </span><a name="local-8214565720323866767"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes%27"><span class="hs-identifier">mimeTypes'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
</span><a name="line-83"></a><span>
</span><a name="line-84"></a><span class="hs-comment">-- ** MimeType Instances</span><span>
</span><a name="line-85"></a><span>
</span><a name="line-86"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
</span><a name="line-87"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-88"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/json&quot;</span><span>
</span><a name="line-89"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
</span><a name="line-90"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-91"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/xml&quot;</span><span>
</span><a name="line-92"></a><span class="hs-comment">-- | @application/x-www-form-urlencoded@</span><span>
</span><a name="line-93"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-94"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/x-www-form-urlencoded&quot;</span><span>
</span><a name="line-95"></a><span class="hs-comment">-- | @multipart/form-data@</span><span>
</span><a name="line-96"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-97"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;multipart/form-data&quot;</span><span>
</span><a name="line-98"></a><span class="hs-comment">-- | @text/plain; charset=utf-8@</span><span>
</span><a name="line-99"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-100"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;text/plain&quot;</span><span>
</span><a name="line-101"></a><span class="hs-comment">-- | @application/octet-stream@</span><span>
</span><a name="line-102"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-103"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/octet-stream&quot;</span><span>
</span><a name="line-104"></a><span class="hs-comment">-- | @&quot;*/*&quot;@</span><span>
</span><a name="line-105"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier hs-type">MimeAny</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-106"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;*/*&quot;</span><span>
</span><a name="line-107"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-108"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-109"></a><span>
</span><a name="line-110"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
</span><a name="line-111"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier hs-type">MimeXmlCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-112"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/xml; charset=utf-8&quot;</span><span>
</span><a name="line-113"></a><span>
</span><a name="line-114"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
</span><a name="line-115"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-116"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/json; charset=utf-8&quot;</span><span>
</span><a name="line-117"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToJSON</span><span> </span><a href="#local-6989586621679092049"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092049"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
</span><a name="line-118"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
</span><a name="line-119"></a><span>
</span><a name="line-120"></a><span>
</span><a name="line-121"></a><span class="hs-comment">-- ** MimeRender Class</span><span>
</span><a name="line-73"></a><span class="hs-keyword">class</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeType"><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier">MimeType</span></a></a><span> </span><a name="local-6989586621679091890"><a href="#local-6989586621679091890"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-74"></a><span> </span><span class="hs-pragma">{-# MINIMAL mimeType | mimeTypes #-}</span><span>
</span><a name="line-75"></a><span>
</span><a name="line-76"></a><span> </span><span class="hs-identifier">mimeTypes</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
</span><a name="line-77"></a><span> </span><a name="local-8214565720323866764"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier">mimeTypes</span></a></a><span> </span><a name="local-6989586621679092039"><a href="#local-6989586621679092039"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-78"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><a href="#local-6989586621679092039"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-79"></a><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679092040"><a href="#local-6989586621679092040"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679092040"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-80"></a><span> </span><span class="hs-identifier hs-var">Nothing</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><a name="line-81"></a><span>
</span><a name="line-82"></a><span> </span><span class="hs-identifier">mimeType</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
</span><a name="line-83"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><a name="local-6989586621679092041"><a href="#local-6989586621679092041"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-84"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><a href="#local-6989586621679092041"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-85"></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-86"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679092042"><a href="#local-6989586621679092042"><span class="hs-identifier">x</span></a></a><span class="hs-glyph">:</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679092042"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-87"></a><span>
</span><a name="line-88"></a><span> </span><span class="hs-identifier">mimeType'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
</span><a name="line-89"></a><span> </span><a name="local-8214565720323866766"><a href="SwaggerPetstore.MimeTypes.html#mimeType%27"><span class="hs-identifier">mimeType'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
</span><a name="line-90"></a><span> </span><span class="hs-identifier">mimeTypes'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
</span><a name="line-91"></a><span> </span><a name="local-8214565720323866767"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes%27"><span class="hs-identifier">mimeTypes'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
</span><a name="line-92"></a><span>
</span><a name="line-93"></a><span class="hs-comment">-- ** MimeType Instances</span><span>
</span><a name="line-94"></a><span>
</span><a name="line-95"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
</span><a name="line-96"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-97"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/json&quot;</span><span>
</span><a name="line-98"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
</span><a name="line-99"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-100"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/xml&quot;</span><span>
</span><a name="line-101"></a><span class="hs-comment">-- | @application/x-www-form-urlencoded@</span><span>
</span><a name="line-102"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-103"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/x-www-form-urlencoded&quot;</span><span>
</span><a name="line-104"></a><span class="hs-comment">-- | @multipart/form-data@</span><span>
</span><a name="line-105"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-106"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;multipart/form-data&quot;</span><span>
</span><a name="line-107"></a><span class="hs-comment">-- | @text/plain; charset=utf-8@</span><span>
</span><a name="line-108"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-109"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;text/plain&quot;</span><span>
</span><a name="line-110"></a><span class="hs-comment">-- | @application/octet-stream@</span><span>
</span><a name="line-111"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-112"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/octet-stream&quot;</span><span>
</span><a name="line-113"></a><span class="hs-comment">-- | @&quot;*/*&quot;@</span><span>
</span><a name="line-114"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier hs-type">MimeAny</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-115"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;*/*&quot;</span><span>
</span><a name="line-116"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-117"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-118"></a><span>
</span><a name="line-119"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
</span><a name="line-120"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier hs-type">MimeXmlCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-121"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/xml; charset=utf-8&quot;</span><span>
</span><a name="line-122"></a><span>
</span><a name="line-123"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeRender"><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier">MimeRender</span></a></a><span> </span><a name="local-6989586621679091887"><a href="#local-6989586621679091887"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091888"><a href="#local-6989586621679091888"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-124"></a><span> </span><span class="hs-identifier">mimeRender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-125"></a><span> </span><span class="hs-identifier">mimeRender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-126"></a><span> </span><a name="local-8214565720323866762"><a href="SwaggerPetstore.MimeTypes.html#mimeRender%27"><span class="hs-identifier">mimeRender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091889"><a href="#local-6989586621679091889"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier hs-var">mimeRender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091889"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-127"></a><span>
</span><a name="line-123"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
</span><a name="line-124"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-125"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">&quot;application/json; charset=utf-8&quot;</span><span>
</span><a name="line-126"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToJSON</span><span> </span><a href="#local-6989586621679092049"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092049"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
</span><a name="line-127"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
</span><a name="line-128"></a><span>
</span><a name="line-129"></a><span class="hs-comment">-- ** MimeRender Instances</span><span>
</span><a name="line-130"></a><span>
</span><a name="line-131"></a><span class="hs-comment">-- | `A.encode`</span><span>
</span><a name="line-132"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToJSON</span><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
</span><a name="line-133"></a><span class="hs-comment">-- | @WH.urlEncodeAsForm@</span><span>
</span><a name="line-134"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToForm</span><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeAsForm</span><span>
</span><a name="line-135"></a><span>
</span><a name="line-136"></a><span class="hs-comment">-- | @P.id@</span><span>
</span><a name="line-137"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-138"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
</span><a name="line-139"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
</span><a name="line-140"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
</span><a name="line-141"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
</span><a name="line-142"></a><span>
</span><a name="line-143"></a><span class="hs-comment">-- | @P.id@</span><span>
</span><a name="line-144"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-145"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
</span><a name="line-146"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
</span><a name="line-147"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
</span><a name="line-148"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
</span><a name="line-149"></a><span>
</span><a name="line-150"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-151"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Binary"><span class="hs-identifier hs-type">Binary</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">unBinary</span><span>
</span><a name="line-152"></a><span>
</span><a name="line-153"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#ByteArray"><span class="hs-identifier hs-type">ByteArray</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-154"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Bool</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-155"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Char</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-156"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Date"><span class="hs-identifier hs-type">Date</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-157"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#DateTime"><span class="hs-identifier hs-type">DateTime</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-158"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Double</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-159"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Float</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-160"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Int</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-161"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-162"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-163"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-164"></a><span>
</span><a name="line-165"></a><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToHttpApiData</span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-166"></a><a name="mimeRenderDefaultMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toQueryParam</span><span>
</span><a name="line-167"></a><span>
</span><a name="line-168"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
</span><a name="line-169"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">empty</span><span>
</span><a name="line-170"></a><span>
</span><a name="line-171"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Double where mimeRender _ = BB.toLazyByteString . BB.doubleDec</span><span>
</span><a name="line-172"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Float where mimeRender _ = BB.toLazyByteString . BB.floatDec</span><span>
</span><a name="line-173"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec</span><span>
</span><a name="line-174"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Integer where mimeRender _ = BB.toLazyByteString . BB.integerDec</span><span>
</span><a name="line-175"></a><span>
</span><a name="line-176"></a><span class="hs-comment">-- instance MimeRender MimeXmlCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
</span><a name="line-177"></a><span class="hs-comment">-- instance MimeRender MimeJsonCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
</span><a name="line-178"></a><span>
</span><a name="line-179"></a><span class="hs-comment">-- ** MimeUnrender Class</span><span>
</span><a name="line-180"></a><span>
</span><a name="line-181"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeUnrender"><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier">MimeUnrender</span></a></a><span> </span><a name="local-6989586621679091884"><a href="#local-6989586621679091884"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091885"><a href="#local-6989586621679091885"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-182"></a><span> </span><span class="hs-identifier">mimeUnrender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
</span><a name="line-183"></a><span> </span><span class="hs-identifier">mimeUnrender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
</span><a name="line-184"></a><span> </span><a name="local-8214565720323866759"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier">mimeUnrender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091886"><a href="#local-6989586621679091886"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier hs-var">mimeUnrender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091886"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-185"></a><span>
</span><a name="line-186"></a><span class="hs-comment">-- ** MimeUnrender Instances</span><span>
</span><a name="line-129"></a><span>
</span><a name="line-130"></a><span class="hs-comment">-- ** MimeRender Class</span><span>
</span><a name="line-131"></a><span>
</span><a name="line-132"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeRender"><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier">MimeRender</span></a></a><span> </span><a name="local-6989586621679091887"><a href="#local-6989586621679091887"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091888"><a href="#local-6989586621679091888"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-133"></a><span> </span><span class="hs-identifier">mimeRender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-134"></a><span> </span><span class="hs-identifier">mimeRender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-135"></a><span> </span><a name="local-8214565720323866762"><a href="SwaggerPetstore.MimeTypes.html#mimeRender%27"><span class="hs-identifier">mimeRender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091889"><a href="#local-6989586621679091889"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier hs-var">mimeRender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091889"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-136"></a><span>
</span><a name="line-137"></a><span>
</span><a name="line-138"></a><span class="hs-comment">-- ** MimeRender Instances</span><span>
</span><a name="line-139"></a><span>
</span><a name="line-140"></a><span class="hs-comment">-- | `A.encode`</span><span>
</span><a name="line-141"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToJSON</span><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
</span><a name="line-142"></a><span class="hs-comment">-- | @WH.urlEncodeAsForm@</span><span>
</span><a name="line-143"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToForm</span><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeAsForm</span><span>
</span><a name="line-144"></a><span>
</span><a name="line-145"></a><span class="hs-comment">-- | @P.id@</span><span>
</span><a name="line-146"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-147"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
</span><a name="line-148"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
</span><a name="line-149"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
</span><a name="line-150"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
</span><a name="line-151"></a><span>
</span><a name="line-152"></a><span class="hs-comment">-- | @P.id@</span><span>
</span><a name="line-153"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-154"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
</span><a name="line-155"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
</span><a name="line-156"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
</span><a name="line-157"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
</span><a name="line-158"></a><span>
</span><a name="line-159"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-160"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Binary"><span class="hs-identifier hs-type">Binary</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">unBinary</span><span>
</span><a name="line-161"></a><span>
</span><a name="line-162"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#ByteArray"><span class="hs-identifier hs-type">ByteArray</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-163"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Bool</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-164"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Char</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-165"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Date"><span class="hs-identifier hs-type">Date</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-166"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#DateTime"><span class="hs-identifier hs-type">DateTime</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-167"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Double</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-168"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Float</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-169"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Int</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-170"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-171"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-172"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
</span><a name="line-173"></a><span>
</span><a name="line-174"></a><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToHttpApiData</span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-175"></a><a name="mimeRenderDefaultMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toQueryParam</span><span>
</span><a name="line-176"></a><span>
</span><a name="line-177"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
</span><a name="line-178"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">empty</span><span>
</span><a name="line-179"></a><span>
</span><a name="line-180"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Double where mimeRender _ = BB.toLazyByteString . BB.doubleDec</span><span>
</span><a name="line-181"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Float where mimeRender _ = BB.toLazyByteString . BB.floatDec</span><span>
</span><a name="line-182"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec</span><span>
</span><a name="line-183"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Integer where mimeRender _ = BB.toLazyByteString . BB.integerDec</span><span>
</span><a name="line-184"></a><span>
</span><a name="line-185"></a><span class="hs-comment">-- instance MimeRender MimeXmlCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
</span><a name="line-186"></a><span class="hs-comment">-- instance MimeRender MimeJsonCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
</span><a name="line-187"></a><span>
</span><a name="line-188"></a><span class="hs-comment">-- | @A.eitherDecode@</span><span>
</span><a name="line-189"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
</span><a name="line-190"></a><span class="hs-comment">-- | @P.left T.unpack . WH.urlDecodeAsForm@</span><span>
</span><a name="line-191"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromForm</span><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlDecodeAsForm</span><span>
</span><a name="line-192"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
</span><a name="line-193"></a><span>
</span><a name="line-194"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-195"></a><span class="hs-comment">-- | @P.left P.show . TL.decodeUtf8'@</span><span>
</span><a name="line-196"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
</span><a name="line-197"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
</span><a name="line-198"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
</span><a name="line-199"></a><span>
</span><a name="line-200"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
</span><a name="line-201"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-202"></a><span class="hs-comment">-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@</span><span>
</span><a name="line-203"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
</span><a name="line-204"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
</span><a name="line-205"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
</span><a name="line-206"></a><span>
</span><a name="line-207"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
</span><a name="line-208"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-var">NoContent</span></a><span>
</span><a name="line-209"></a><span>
</span><a name="line-210"></a><span class="hs-comment">-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
</span><a name="line-211"></a><span class="hs-comment">-- instance MimeUnrender MimeJsonCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
</span><a name="line-212"></a><span>
</span><a name="line-213"></a><span class="hs-comment">-- ** Request Consumes</span><span>
</span><a name="line-214"></a><span>
</span><a name="line-215"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091883"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="Consumes"><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier">Consumes</span></a></a><span> </span><a name="local-6989586621679091882"><a href="#local-6989586621679091882"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679091883"><a href="#local-6989586621679091883"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-216"></a><span>
</span><a name="line-217"></a><span class="hs-comment">-- ** Request Produces</span><span>
</span><a name="line-188"></a><span class="hs-comment">-- ** MimeUnrender Class</span><span>
</span><a name="line-189"></a><span>
</span><a name="line-190"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeUnrender"><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier">MimeUnrender</span></a></a><span> </span><a name="local-6989586621679091884"><a href="#local-6989586621679091884"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091885"><a href="#local-6989586621679091885"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-191"></a><span> </span><span class="hs-identifier">mimeUnrender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
</span><a name="line-192"></a><span> </span><span class="hs-identifier">mimeUnrender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
</span><a name="line-193"></a><span> </span><a name="local-8214565720323866759"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier">mimeUnrender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091886"><a href="#local-6989586621679091886"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier hs-var">mimeUnrender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091886"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-194"></a><span>
</span><a name="line-195"></a><span class="hs-comment">-- ** MimeUnrender Instances</span><span>
</span><a name="line-196"></a><span>
</span><a name="line-197"></a><span class="hs-comment">-- | @A.eitherDecode@</span><span>
</span><a name="line-198"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
</span><a name="line-199"></a><span class="hs-comment">-- | @P.left T.unpack . WH.urlDecodeAsForm@</span><span>
</span><a name="line-200"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromForm</span><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlDecodeAsForm</span><span>
</span><a name="line-201"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
</span><a name="line-202"></a><span>
</span><a name="line-203"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-204"></a><span class="hs-comment">-- | @P.left P.show . TL.decodeUtf8'@</span><span>
</span><a name="line-205"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
</span><a name="line-206"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
</span><a name="line-207"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
</span><a name="line-208"></a><span>
</span><a name="line-209"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
</span><a name="line-210"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
</span><a name="line-211"></a><span class="hs-comment">-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@</span><span>
</span><a name="line-212"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
</span><a name="line-213"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
</span><a name="line-214"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
</span><a name="line-215"></a><span>
</span><a name="line-216"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
</span><a name="line-217"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-var">NoContent</span></a><span>
</span><a name="line-218"></a><span>
</span><a name="line-219"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091881"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="Produces"><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier">Produces</span></a></a><span> </span><a name="local-6989586621679091880"><a href="#local-6989586621679091880"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679091881"><a href="#local-6989586621679091881"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-220"></a></pre></body></html>
</span><a name="line-219"></a><span class="hs-comment">-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
</span><a name="line-220"></a><span class="hs-comment">-- instance MimeUnrender MimeJsonCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
</span><a name="line-221"></a><span>
</span><a name="line-222"></a><span class="hs-comment">-- ** Request Consumes</span><span>
</span><a name="line-223"></a><span>
</span><a name="line-224"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091883"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="Consumes"><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier">Consumes</span></a></a><span> </span><a name="local-6989586621679091882"><a href="#local-6989586621679091882"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679091883"><a href="#local-6989586621679091883"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-225"></a><span>
</span><a name="line-226"></a><span class="hs-comment">-- ** Request Produces</span><span>
</span><a name="line-227"></a><span>
</span><a name="line-228"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091881"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="Produces"><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier">Produces</span></a></a><span> </span><a name="local-6989586621679091880"><a href="#local-6989586621679091880"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679091881"><a href="#local-6989586621679091881"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-229"></a></pre></body></html>

View File

@ -1,20 +1,30 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-
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: \&quot; \\
OpenAPI spec version: 1.0.0
Contact: apiteam@swagger.io
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
-}</span><span>
</span><a name="line-10"></a><span>
</span><a name="line-11"></a><span class="hs-comment">{-|
Module : SwaggerPetstore
-}</span><span>
</span><a name="line-4"></a><span>
</span><a name="line-5"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span>
</span><a name="line-6"></a><span> </span><span class="hs-special">(</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span>
</span><a name="line-7"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span><span>
</span><a name="line-8"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span><span>
</span><a name="line-9"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span>
</span><a name="line-10"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span><span>
</span><a name="line-11"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span>
</span><a name="line-12"></a><span> </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-13"></a><span>
</span><a name="line-14"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
</span><a name="line-15"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Client.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span></a><span>
</span><a name="line-16"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
</span><a name="line-17"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Lens.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span></a><span>
</span><a name="line-19"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
</span><a name="line-20"></a></pre></body></html>
</span><a name="line-14"></a><span>
</span><a name="line-15"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span>
</span><a name="line-16"></a><span> </span><span class="hs-special">(</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span>
</span><a name="line-17"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span><span>
</span><a name="line-18"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span><span>
</span><a name="line-19"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span>
</span><a name="line-20"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span><span>
</span><a name="line-21"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span>
</span><a name="line-22"></a><span> </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-23"></a><span>
</span><a name="line-24"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Client.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span></a><span>
</span><a name="line-26"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Lens.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span></a><span>
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
</span><a name="line-30"></a></pre></body></html>

View File

@ -26,9 +26,16 @@ main = do
config0 <- S.withStdoutLogging =<< S.newConfig
let config = case lookup "HOST" env of
Just h -> config0 { S.configHost = BCL.pack h }
_ -> config0
let config =
-- configure host
case lookup "HOST" env of
Just h -> config0 { S.configHost = BCL.pack h }
_ -> config0
-- each configured auth method is only applied to requests that specify them
`S.addAuthMethod` S.AuthBasicHttpBasicTest "username" "password"
`S.addAuthMethod` S.AuthApiKeyApiKey "secret-key"
`S.addAuthMethod` S.AuthApiKeyApiKeyQuery "secret-key"
`S.addAuthMethod` S.AuthOAuthPetstoreAuth "secret-key"
putStrLn "******** CONFIG ********"
putStrLn (show config)
@ -87,7 +94,7 @@ runPet mgr config = do
Right pet@S.Pet { S.petId = Just pid } -> do
-- create the request for getPetById
let getPetByIdRequest = S.getPetById pid
let getPetByIdRequest = S.getPetById (S.PetId pid)
-- dispatchMime returns MimeResult, which includes the
-- expected decoded model object 'Pet', or a parse failure
@ -97,12 +104,12 @@ runPet mgr config = do
Right r -> putStrLn $ "getPetById: found pet: " <> show r -- display 'Pet' model object, r
-- findPetsByStatus
let findPetsByStatusRequest = S.findPetsByStatus ["available","pending","sold"]
let findPetsByStatusRequest = S.findPetsByStatus (S.Status ["available","pending","sold"])
findPetsByStatusResult <- S.dispatchMime mgr config findPetsByStatusRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "findPetsByStatus: found " <> (show . length) r <> " pets") findPetsByStatusResult
-- findPetsByTags
let findPetsByTagsRequest = S.findPetsByTags ["name","tag1"]
let findPetsByTagsRequest = S.findPetsByTags (S.Tags ["name","tag1"])
findPetsByTagsResult <- S.dispatchMime mgr config findPetsByTagsRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "findPetsByTags: found " <> (show . length) r <> " pets") findPetsByTagsResult
@ -119,20 +126,20 @@ runPet mgr config = do
-- -- Defined in SwaggerPetstore.API
-- instance S.HasOptionalParam S.UpdatePetWithForm S.Status
-- -- Defined in SwaggerPetstore.API
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded pid
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded (S.PetId pid)
`S.applyOptionalParam` S.Name2 "petName"
`S.applyOptionalParam` S.Status "pending"
`S.applyOptionalParam` S.StatusText "pending"
_ <- S.dispatchLbs mgr config updatePetWithFormRequest S.MimeJSON
-- multipart/form-data file uploads are just a different content-type
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData pid
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData (S.PetId pid)
`S.applyOptionalParam` S.File "package.yaml" -- the file contents of the path are read when dispatched
`S.applyOptionalParam` S.AdditionalMetadata "a package.yaml file"
uploadFileRequestResult <- S.dispatchMime mgr config uploadFileRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "uploadFile: " <> show r) uploadFileRequestResult
-- deletePet
let deletePetRequest = S.deletePet pid
let deletePetRequest = S.deletePet (S.PetId pid)
`S.applyOptionalParam` S.ApiKey "api key"
_ <- S.dispatchLbs mgr config deletePetRequest S.MimeJSON
@ -155,7 +162,7 @@ runStore mgr config = do
-- we can set arbitrary headers with setHeader
let getInventoryRequest = S.getInventory
`S.setHeader` [("api_key","special-key")]
`S.setHeader` [("random-header","random-value")]
getInventoryRequestRequestResult <- S.dispatchMime mgr config getInventoryRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "getInventoryRequest: found " <> (show . length) r <> " results") getInventoryRequestRequestResult
@ -168,12 +175,12 @@ runStore mgr config = do
let orderId = maybe 10 id $ either (const Nothing) (S.orderId) (S.mimeResult placeOrderResult)
-- getOrderByid
let getOrderByIdRequest = S.getOrderById orderId
let getOrderByIdRequest = S.getOrderById (S.OrderId orderId)
getOrderByIdRequestResult <- S.dispatchMime mgr config getOrderByIdRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "getOrderById: found order: " <> show r) getOrderByIdRequestResult
-- deleteOrder
let deleteOrderRequest = S.deleteOrder "21"
let deleteOrderRequest = S.deleteOrder (S.OrderIdText "21")
_ <- S.dispatchLbs mgr config deleteOrderRequest S.MimeJSON
return ()
@ -205,32 +212,32 @@ runUser mgr config = do
-- can use lenses (model record names are appended L) to view or modify records
let users = take 8 $ drop 1 $ iterate (L.over S.userUsernameL (fmap (<> "*")) . L.over S.userIdL (fmap (+ 1))) user
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON users
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON (S.Body users)
_ <- S.dispatchLbs mgr config createUsersWithArrayInputRequest S.MimeNoContent
-- createUsersWithArrayInput
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON users
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON (S.Body users)
_ <- S.dispatchLbs mgr config createUsersWithListInputRequest S.MimeNoContent
-- getUserByName
let getUserByNameRequest = S.getUserByName username
let getUserByNameRequest = S.getUserByName (S.Username username)
getUserByNameResult <- S.dispatchMime mgr config getUserByNameRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "getUserByName: found user: " <> show r) getUserByNameResult
-- loginUser
let loginUserRequest = S.loginUser username "password1"
let loginUserRequest = S.loginUser (S.Username username) (S.Password "password1")
loginUserResult <- S.dispatchLbs mgr config loginUserRequest S.MimeJSON
BCL.putStrLn $ "loginUser: " <> (NH.responseBody loginUserResult)
-- updateUser
let updateUserRequest = S.updateUser S.MimeJSON username (user { S.userEmail = Just "xyz@example.com" })
let updateUserRequest = S.updateUser S.MimeJSON (S.Username username) (user { S.userEmail = Just "xyz@example.com" })
_ <- S.dispatchLbs mgr config updateUserRequest S.MimeJSON
-- logoutUser
_ <- S.dispatchLbs mgr config S.logoutUser S.MimeJSON
-- deleteUser
let deleteUserRequest = S.deleteUser username
let deleteUserRequest = S.deleteUser (S.Username username)
_ <- S.dispatchLbs mgr config deleteUserRequest S.MimeJSON
return ()

View File

@ -12,16 +12,17 @@
Module : SwaggerPetstore.API
-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module SwaggerPetstore.API where
@ -40,6 +41,7 @@ import qualified Data.ByteString.Lazy as BL
import qualified Data.ByteString.Builder as BB
import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL
import qualified Data.ByteString.Base64 as B64
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
@ -49,7 +51,7 @@ import qualified Web.HttpApiData as WH
import qualified Web.FormUrlEncoded as WH
import qualified Data.CaseInsensitive as CI
import qualified Data.Data as P (Typeable)
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.Set as Set
@ -217,76 +219,77 @@ instance Produces TestClientModel MimeJSON
--
-- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
--
-- AuthMethod: http_basic_test
-- AuthMethod: 'AuthBasicHttpBasicTest'
--
-- Note: Has 'Produces' instances, but no response schema
--
testEndpointParameters
:: (Consumes TestEndpointParameters contentType)
=> contentType -- ^ request content-type ('MimeType')
-> Double -- ^ "number" - None
-> Double -- ^ "double" - None
-> Text -- ^ "patternWithoutDelimiter" - None
-> ByteArray -- ^ "byte" - None
-> Number -- ^ "number" - None
-> ParamDouble -- ^ "double" - None
-> PatternWithoutDelimiter -- ^ "patternWithoutDelimiter" - None
-> Byte -- ^ "byte" - None
-> SwaggerPetstoreRequest TestEndpointParameters contentType res
testEndpointParameters _ number double patternWithoutDelimiter byte =
testEndpointParameters _ (Number number) (ParamDouble double) (PatternWithoutDelimiter patternWithoutDelimiter) (Byte byte) =
_mkRequest "POST" ["/fake"]
`_addForm` toForm ("number", number)
`_addForm` toForm ("double", double)
`_addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter)
`_addForm` toForm ("byte", byte)
`addForm` toForm ("number", number)
`addForm` toForm ("double", double)
`addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter)
`addForm` toForm ("byte", byte)
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicHttpBasicTest)
data TestEndpointParameters
-- | /Optional Param/ "integer" - None
instance HasOptionalParam TestEndpointParameters ParamInteger where
applyOptionalParam req (ParamInteger xs) =
req `_addForm` toForm ("integer", xs)
req `addForm` toForm ("integer", xs)
-- | /Optional Param/ "int32" - None
instance HasOptionalParam TestEndpointParameters Int32 where
applyOptionalParam req (Int32 xs) =
req `_addForm` toForm ("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)
req `addForm` toForm ("int64", xs)
-- | /Optional Param/ "float" - None
instance HasOptionalParam TestEndpointParameters ParamFloat where
applyOptionalParam req (ParamFloat xs) =
req `_addForm` toForm ("float", xs)
req `addForm` toForm ("float", xs)
-- | /Optional Param/ "string" - None
instance HasOptionalParam TestEndpointParameters ParamString where
applyOptionalParam req (ParamString xs) =
req `_addForm` toForm ("string", xs)
req `addForm` toForm ("string", xs)
-- | /Optional Param/ "binary" - None
instance HasOptionalParam TestEndpointParameters ParamBinary where
applyOptionalParam req (ParamBinary xs) =
req `_addForm` toForm ("binary", xs)
req `addForm` toForm ("binary", xs)
-- | /Optional Param/ "date" - None
instance HasOptionalParam TestEndpointParameters ParamDate where
applyOptionalParam req (ParamDate xs) =
req `_addForm` toForm ("date", xs)
req `addForm` toForm ("date", xs)
-- | /Optional Param/ "dateTime" - None
instance HasOptionalParam TestEndpointParameters ParamDateTime where
applyOptionalParam req (ParamDateTime xs) =
req `_addForm` toForm ("dateTime", xs)
req `addForm` toForm ("dateTime", xs)
-- | /Optional Param/ "password" - None
instance HasOptionalParam TestEndpointParameters Password where
applyOptionalParam req (Password xs) =
req `_addForm` toForm ("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)
req `addForm` toForm ("callback", xs)
-- | @application/xml; charset=utf-8@
instance Consumes TestEndpointParameters MimeXmlCharsetutf8
@ -321,12 +324,12 @@ 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)
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)
req `addForm` toForm ("enum_form_string", xs)
-- | /Optional Param/ "enum_header_string_array" - Header parameter enum test (string array)
instance HasOptionalParam TestEnumParameters EnumHeaderStringArray where
@ -341,22 +344,22 @@ instance HasOptionalParam TestEnumParameters EnumHeaderString where
-- | /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)
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)
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)
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)
req `addForm` toForm ("enum_query_double", xs)
-- | @*/*@
instance Consumes TestEnumParameters MimeAny
@ -376,13 +379,13 @@ instance Produces TestEnumParameters MimeAny
testJsonFormData
:: (Consumes TestJsonFormData contentType)
=> contentType -- ^ request content-type ('MimeType')
-> Text -- ^ "param" - field1
-> Text -- ^ "param2" - field2
-> Param -- ^ "param" - field1
-> Param2 -- ^ "param2" - field2
-> SwaggerPetstoreRequest TestJsonFormData contentType NoContent
testJsonFormData _ param param2 =
testJsonFormData _ (Param param) (Param2 param2) =
_mkRequest "GET" ["/fake/jsonFormData"]
`_addForm` toForm ("param", param)
`_addForm` toForm ("param2", param2)
`addForm` toForm ("param", param)
`addForm` toForm ("param2", param2)
data TestJsonFormData
@ -398,7 +401,7 @@ instance Consumes TestJsonFormData MimeJSON
--
-- To test class name in snake case
--
-- AuthMethod: api_key_query
-- AuthMethod: 'AuthApiKeyApiKeyQuery'
--
testClassname
:: (Consumes TestClassname contentType, MimeRender contentType Client)
@ -408,6 +411,7 @@ testClassname
testClassname _ body =
_mkRequest "PATCH" ["/fake_classname_test"]
`setBodyParam` body
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKeyQuery)
data TestClassname
@ -431,7 +435,7 @@ instance Produces TestClassname MimeJSON
--
--
--
-- AuthMethod: petstore_auth
-- AuthMethod: 'AuthOAuthPetstoreAuth'
--
-- Note: Has 'Produces' instances, but no response schema
--
@ -443,6 +447,7 @@ addPet
addPet _ body =
_mkRequest "POST" ["/pet"]
`setBodyParam` body
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data AddPet
@ -468,16 +473,17 @@ instance Produces AddPet MimeJSON
--
--
--
-- AuthMethod: petstore_auth
-- AuthMethod: 'AuthOAuthPetstoreAuth'
--
-- Note: Has 'Produces' instances, but no response schema
--
deletePet
:: Integer -- ^ "petId" - Pet id to delete
:: PetId -- ^ "petId" - Pet id to delete
-> SwaggerPetstoreRequest DeletePet MimeNoContent res
deletePet petId =
deletePet (PetId petId) =
_mkRequest "DELETE" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data DeletePet
instance HasOptionalParam DeletePet ApiKey where
@ -497,14 +503,15 @@ instance Produces DeletePet MimeJSON
--
-- Multiple status values can be provided with comma separated strings
--
-- AuthMethod: petstore_auth
-- AuthMethod: 'AuthOAuthPetstoreAuth'
--
findPetsByStatus
:: [Text] -- ^ "status" - Status values that need to be considered for filter
:: Status -- ^ "status" - Status values that need to be considered for filter
-> SwaggerPetstoreRequest FindPetsByStatus MimeNoContent [Pet]
findPetsByStatus status =
findPetsByStatus (Status status) =
_mkRequest "GET" ["/pet/findByStatus"]
`_setQuery` toQueryColl CommaSeparated ("status", Just status)
`setQuery` toQueryColl CommaSeparated ("status", Just status)
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data FindPetsByStatus
-- | @application/xml@
@ -521,14 +528,15 @@ instance Produces FindPetsByStatus MimeJSON
--
-- Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
--
-- AuthMethod: petstore_auth
-- AuthMethod: 'AuthOAuthPetstoreAuth'
--
findPetsByTags
:: [Text] -- ^ "tags" - Tags to filter by
:: Tags -- ^ "tags" - Tags to filter by
-> SwaggerPetstoreRequest FindPetsByTags MimeNoContent [Pet]
findPetsByTags tags =
findPetsByTags (Tags tags) =
_mkRequest "GET" ["/pet/findByTags"]
`_setQuery` toQueryColl CommaSeparated ("tags", Just tags)
`setQuery` toQueryColl CommaSeparated ("tags", Just tags)
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
{-# DEPRECATED findPetsByTags "" #-}
@ -547,14 +555,15 @@ instance Produces FindPetsByTags MimeJSON
--
-- Returns a single pet
--
-- AuthMethod: api_key
-- AuthMethod: 'AuthApiKeyApiKey'
--
getPetById
:: Integer -- ^ "petId" - ID of pet to return
:: PetId -- ^ "petId" - ID of pet to return
-> SwaggerPetstoreRequest GetPetById MimeNoContent Pet
getPetById petId =
getPetById (PetId petId) =
_mkRequest "GET" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
data GetPetById
-- | @application/xml@
@ -571,7 +580,7 @@ instance Produces GetPetById MimeJSON
--
--
--
-- AuthMethod: petstore_auth
-- AuthMethod: 'AuthOAuthPetstoreAuth'
--
-- Note: Has 'Produces' instances, but no response schema
--
@ -583,6 +592,7 @@ updatePet
updatePet _ body =
_mkRequest "PUT" ["/pet"]
`setBodyParam` body
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UpdatePet
@ -608,30 +618,31 @@ instance Produces UpdatePet MimeJSON
--
--
--
-- AuthMethod: petstore_auth
-- AuthMethod: 'AuthOAuthPetstoreAuth'
--
-- Note: Has 'Produces' instances, but no response schema
--
updatePetWithForm
:: (Consumes UpdatePetWithForm contentType)
=> contentType -- ^ request content-type ('MimeType')
-> Integer -- ^ "petId" - ID of pet that needs to be updated
-> PetId -- ^ "petId" - ID of pet that needs to be updated
-> SwaggerPetstoreRequest UpdatePetWithForm contentType res
updatePetWithForm _ petId =
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)
req `addForm` toForm ("name", xs)
-- | /Optional Param/ "status" - Updated status of the pet
instance HasOptionalParam UpdatePetWithForm Status where
applyOptionalParam req (Status xs) =
req `_addForm` toForm ("status", xs)
instance HasOptionalParam UpdatePetWithForm StatusText where
applyOptionalParam req (StatusText xs) =
req `addForm` toForm ("status", xs)
-- | @application/x-www-form-urlencoded@
instance Consumes UpdatePetWithForm MimeFormUrlEncoded
@ -650,16 +661,17 @@ instance Produces UpdatePetWithForm MimeJSON
--
--
--
-- AuthMethod: petstore_auth
-- AuthMethod: 'AuthOAuthPetstoreAuth'
--
uploadFile
:: (Consumes UploadFile contentType)
=> contentType -- ^ request content-type ('MimeType')
-> Integer -- ^ "petId" - ID of pet to update
-> PetId -- ^ "petId" - ID of pet to update
-> SwaggerPetstoreRequest UploadFile contentType ApiResponse
uploadFile _ petId =
uploadFile _ (PetId petId) =
_mkRequest "POST" ["/pet/",toPath petId,"/uploadImage"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UploadFile
@ -693,9 +705,9 @@ instance Produces UploadFile MimeJSON
-- Note: Has 'Produces' instances, but no response schema
--
deleteOrder
:: Text -- ^ "orderId" - ID of the order that needs to be deleted
:: OrderIdText -- ^ "orderId" - ID of the order that needs to be deleted
-> SwaggerPetstoreRequest DeleteOrder MimeNoContent res
deleteOrder orderId =
deleteOrder (OrderIdText orderId) =
_mkRequest "DELETE" ["/store/order/",toPath orderId]
@ -714,12 +726,13 @@ instance Produces DeleteOrder MimeJSON
--
-- Returns a map of status codes to quantities
--
-- AuthMethod: api_key
-- AuthMethod: 'AuthApiKeyApiKey'
--
getInventory
:: SwaggerPetstoreRequest GetInventory MimeNoContent ((Map.Map String Int))
getInventory =
_mkRequest "GET" ["/store/inventory"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
data GetInventory
-- | @application/json@
@ -735,9 +748,9 @@ instance Produces GetInventory MimeJSON
-- For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
--
getOrderById
:: Integer -- ^ "orderId" - ID of pet that needs to be fetched
:: OrderId -- ^ "orderId" - ID of pet that needs to be fetched
-> SwaggerPetstoreRequest GetOrderById MimeNoContent Order
getOrderById orderId =
getOrderById (OrderId orderId) =
_mkRequest "GET" ["/store/order/",toPath orderId]
@ -817,9 +830,9 @@ instance Produces CreateUser MimeJSON
-- Note: Has 'Produces' instances, but no response schema
--
createUsersWithArrayInput
:: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType [User])
:: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType Body)
=> contentType -- ^ request content-type ('MimeType')
-> [User] -- ^ "body" - List of user object
-> Body -- ^ "body" - List of user object
-> SwaggerPetstoreRequest CreateUsersWithArrayInput contentType res
createUsersWithArrayInput _ body =
_mkRequest "POST" ["/user/createWithArray"]
@ -828,7 +841,7 @@ createUsersWithArrayInput _ body =
data CreateUsersWithArrayInput
-- | /Body Param/ "body" - List of user object
instance HasBodyParam CreateUsersWithArrayInput [User]
instance HasBodyParam CreateUsersWithArrayInput Body
-- | @application/xml@
instance Produces CreateUsersWithArrayInput MimeXML
-- | @application/json@
@ -846,9 +859,9 @@ instance Produces CreateUsersWithArrayInput MimeJSON
-- Note: Has 'Produces' instances, but no response schema
--
createUsersWithListInput
:: (Consumes CreateUsersWithListInput contentType, MimeRender contentType [User])
:: (Consumes CreateUsersWithListInput contentType, MimeRender contentType Body)
=> contentType -- ^ request content-type ('MimeType')
-> [User] -- ^ "body" - List of user object
-> Body -- ^ "body" - List of user object
-> SwaggerPetstoreRequest CreateUsersWithListInput contentType res
createUsersWithListInput _ body =
_mkRequest "POST" ["/user/createWithList"]
@ -857,7 +870,7 @@ createUsersWithListInput _ body =
data CreateUsersWithListInput
-- | /Body Param/ "body" - List of user object
instance HasBodyParam CreateUsersWithListInput [User]
instance HasBodyParam CreateUsersWithListInput Body
-- | @application/xml@
instance Produces CreateUsersWithListInput MimeXML
-- | @application/json@
@ -875,9 +888,9 @@ instance Produces CreateUsersWithListInput MimeJSON
-- Note: Has 'Produces' instances, but no response schema
--
deleteUser
:: Text -- ^ "username" - The name that needs to be deleted
:: Username -- ^ "username" - The name that needs to be deleted
-> SwaggerPetstoreRequest DeleteUser MimeNoContent res
deleteUser username =
deleteUser (Username username) =
_mkRequest "DELETE" ["/user/",toPath username]
@ -897,9 +910,9 @@ instance Produces DeleteUser MimeJSON
--
--
getUserByName
:: Text -- ^ "username" - The name that needs to be fetched. Use user1 for testing.
:: Username -- ^ "username" - The name that needs to be fetched. Use user1 for testing.
-> SwaggerPetstoreRequest GetUserByName MimeNoContent User
getUserByName username =
getUserByName (Username username) =
_mkRequest "GET" ["/user/",toPath username]
@ -919,13 +932,13 @@ instance Produces GetUserByName MimeJSON
--
--
loginUser
:: Text -- ^ "username" - The user name for login
-> Text -- ^ "password" - The password for login in clear text
:: Username -- ^ "username" - The user name for login
-> Password -- ^ "password" - The password for login in clear text
-> SwaggerPetstoreRequest LoginUser MimeNoContent Text
loginUser username password =
loginUser (Username username) (Password password) =
_mkRequest "GET" ["/user/login"]
`_setQuery` toQuery ("username", Just username)
`_setQuery` toQuery ("password", Just password)
`setQuery` toQuery ("username", Just username)
`setQuery` toQuery ("password", Just password)
data LoginUser
-- | @application/xml@
@ -969,10 +982,10 @@ instance Produces LogoutUser MimeJSON
updateUser
:: (Consumes UpdateUser contentType, MimeRender contentType User)
=> contentType -- ^ request content-type ('MimeType')
-> Text -- ^ "username" - name that need to be deleted
-> Username -- ^ "username" - name that need to be deleted
-> User -- ^ "body" - Updated user object
-> SwaggerPetstoreRequest UpdateUser contentType res
updateUser _ username body =
updateUser _ (Username username) body =
_mkRequest "PUT" ["/user/",toPath username]
`setBodyParam` body
@ -1014,64 +1027,81 @@ class HasOptionalParam req param where
infixl 2 -&-
-- * Optional Request Parameter Types
newtype BodyOuterBoolean = BodyOuterBoolean { unBodyOuterBoolean :: OuterBoolean } deriving (P.Eq, P.Show)
newtype BodyOuterComposite = BodyOuterComposite { unBodyOuterComposite :: OuterComposite } deriving (P.Eq, P.Show)
newtype Body = Body { unBody :: OuterNumber } deriving (P.Eq, P.Show)
newtype BodyOuterString = BodyOuterString { unBodyOuterString :: OuterString } deriving (P.Eq, P.Show)
newtype ParamInteger = ParamInteger { unParamInteger :: Int } deriving (P.Eq, P.Show)
newtype Int32 = Int32 { unInt32 :: Int } deriving (P.Eq, P.Show)
newtype Int64 = Int64 { unInt64 :: Integer } deriving (P.Eq, P.Show)
newtype ParamFloat = ParamFloat { unParamFloat :: Float } deriving (P.Eq, P.Show)
newtype ParamString = ParamString { unParamString :: Text } deriving (P.Eq, P.Show)
newtype ParamBinary = ParamBinary { unParamBinary :: Binary } deriving (P.Eq, P.Show)
newtype ParamDate = ParamDate { unParamDate :: Date } deriving (P.Eq, P.Show)
newtype ParamDateTime = ParamDateTime { unParamDateTime :: DateTime } deriving (P.Eq, P.Show)
newtype Password = Password { unPassword :: Text } deriving (P.Eq, P.Show)
newtype Callback = Callback { unCallback :: Text } deriving (P.Eq, P.Show)
newtype EnumFormStringArray = EnumFormStringArray { unEnumFormStringArray :: [Text] } deriving (P.Eq, P.Show)
newtype EnumFormString = EnumFormString { unEnumFormString :: Text } deriving (P.Eq, P.Show)
newtype EnumHeaderStringArray = EnumHeaderStringArray { unEnumHeaderStringArray :: [Text] } deriving (P.Eq, P.Show)
newtype EnumHeaderString = EnumHeaderString { unEnumHeaderString :: Text } deriving (P.Eq, P.Show)
newtype EnumQueryStringArray = EnumQueryStringArray { unEnumQueryStringArray :: [Text] } deriving (P.Eq, P.Show)
newtype EnumQueryString = EnumQueryString { unEnumQueryString :: Text } deriving (P.Eq, P.Show)
newtype EnumQueryInteger = EnumQueryInteger { unEnumQueryInteger :: Int } deriving (P.Eq, P.Show)
newtype EnumQueryDouble = EnumQueryDouble { unEnumQueryDouble :: Double } deriving (P.Eq, P.Show)
-- * Request Parameter Types
-- | ApiKey
newtype ApiKey = ApiKey { unApiKey :: Text } deriving (P.Eq, P.Show)
-- | StatusText
newtype StatusText = StatusText { unStatusText :: Text } deriving (P.Eq, P.Show)
-- | ParamString
newtype ParamString = ParamString { unParamString :: Text } deriving (P.Eq, P.Show)
-- | ParamInteger
newtype ParamInteger = ParamInteger { unParamInteger :: Int } deriving (P.Eq, P.Show)
-- | EnumQueryDouble
newtype EnumQueryDouble = EnumQueryDouble { unEnumQueryDouble :: Double } deriving (P.Eq, P.Show)
-- | Number
newtype Number = Number { unNumber :: Double } deriving (P.Eq, P.Show)
-- | Int32
newtype Int32 = Int32 { unInt32 :: Int } deriving (P.Eq, P.Show)
-- | ParamDate
newtype ParamDate = ParamDate { unParamDate :: Date } deriving (P.Eq, P.Show)
-- | EnumFormString
newtype EnumFormString = EnumFormString { unEnumFormString :: Text } deriving (P.Eq, P.Show)
-- | Body
newtype Body = Body { unBody :: [User] } deriving (P.Eq, P.Show, A.ToJSON)
-- | Tags
newtype Tags = Tags { unTags :: [Text] } deriving (P.Eq, P.Show)
-- | EnumQueryInteger
newtype EnumQueryInteger = EnumQueryInteger { unEnumQueryInteger :: Int } deriving (P.Eq, P.Show)
-- | ParamFloat
newtype ParamFloat = ParamFloat { unParamFloat :: Float } deriving (P.Eq, P.Show)
-- | Name2
newtype Name2 = Name2 { unName2 :: Text } deriving (P.Eq, P.Show)
newtype Status = Status { unStatus :: Text } deriving (P.Eq, P.Show)
-- | Password
newtype Password = Password { unPassword :: Text } deriving (P.Eq, P.Show)
-- | Status
newtype Status = Status { unStatus :: [Text] } deriving (P.Eq, P.Show)
-- | ParamDouble
newtype ParamDouble = ParamDouble { unParamDouble :: Double } deriving (P.Eq, P.Show)
-- | EnumHeaderString
newtype EnumHeaderString = EnumHeaderString { unEnumHeaderString :: Text } deriving (P.Eq, P.Show)
-- | Param2
newtype Param2 = Param2 { unParam2 :: Text } deriving (P.Eq, P.Show)
-- | PetId
newtype PetId = PetId { unPetId :: Integer } 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)
-- | EnumQueryString
newtype EnumQueryString = EnumQueryString { unEnumQueryString :: Text } deriving (P.Eq, P.Show)
-- | ParamDateTime
newtype ParamDateTime = ParamDateTime { unParamDateTime :: DateTime } deriving (P.Eq, P.Show)
-- | EnumQueryStringArray
newtype EnumQueryStringArray = EnumQueryStringArray { unEnumQueryStringArray :: [Text] } deriving (P.Eq, P.Show)
-- | PatternWithoutDelimiter
newtype PatternWithoutDelimiter = PatternWithoutDelimiter { unPatternWithoutDelimiter :: Text } deriving (P.Eq, P.Show)
-- | Callback
newtype Callback = Callback { unCallback :: Text } deriving (P.Eq, P.Show)
-- | Username
newtype Username = Username { unUsername :: Text } deriving (P.Eq, P.Show)
-- | Int64
newtype Int64 = Int64 { unInt64 :: Integer } deriving (P.Eq, P.Show)
-- | AdditionalMetadata
newtype AdditionalMetadata = AdditionalMetadata { unAdditionalMetadata :: Text } deriving (P.Eq, P.Show)
-- | Byte
newtype Byte = Byte { unByte :: ByteArray } deriving (P.Eq, P.Show)
-- | ParamBinary
newtype ParamBinary = ParamBinary { unParamBinary :: Binary } deriving (P.Eq, P.Show)
-- | EnumFormStringArray
newtype EnumFormStringArray = EnumFormStringArray { unEnumFormStringArray :: [Text] } deriving (P.Eq, P.Show)
-- | EnumHeaderStringArray
newtype EnumHeaderStringArray = EnumHeaderStringArray { unEnumHeaderStringArray :: [Text] } deriving (P.Eq, P.Show)
-- | Param
newtype Param = Param { unParam :: Text } deriving (P.Eq, P.Show)
-- | File
newtype File = File { unFile :: FilePath } deriving (P.Eq, P.Show)
-- * SwaggerPetstoreRequest
-- | Represents a request. The "req" type variable is the request type. The "res" type variable is the response type.
@ -1079,6 +1109,7 @@ data SwaggerPetstoreRequest req contentType res = SwaggerPetstoreRequest
{ rMethod :: NH.Method -- ^ Method of SwaggerPetstoreRequest
, rUrlPath :: [BCL.ByteString] -- ^ Endpoint of SwaggerPetstoreRequest
, rParams :: Params -- ^ params of SwaggerPetstoreRequest
, rAuthTypes :: [P.TypeRep] -- ^ types of auth methods
}
deriving (P.Show)
@ -1097,6 +1128,11 @@ rParamsL :: Lens_' (SwaggerPetstoreRequest req contentType res) Params
rParamsL f SwaggerPetstoreRequest{..} = (\rParams -> SwaggerPetstoreRequest { rParams, ..} ) <$> f rParams
{-# INLINE rParamsL #-}
-- | 'rParams' Lens
rAuthTypesL :: Lens_' (SwaggerPetstoreRequest req contentType res) [P.TypeRep]
rAuthTypesL f SwaggerPetstoreRequest{..} = (\rAuthTypes -> SwaggerPetstoreRequest { rAuthTypes, ..} ) <$> f rAuthTypes
{-# INLINE rAuthTypesL #-}
-- | Request Params
data Params = Params
{ paramsQuery :: NH.Query
@ -1134,7 +1170,7 @@ data ParamBody
_mkRequest :: NH.Method -- ^ Method
-> [BCL.ByteString] -- ^ Endpoint
-> SwaggerPetstoreRequest req contentType res -- ^ req: Request Type, res: Response Type
_mkRequest m u = SwaggerPetstoreRequest m u _mkParams
_mkRequest m u = SwaggerPetstoreRequest m u _mkParams []
_mkParams :: Params
_mkParams = Params [] [] ParamBodyNone
@ -1166,8 +1202,8 @@ _setAcceptHeader req accept =
Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]
Nothing -> req `removeHeader` ["accept"]
_setQuery :: SwaggerPetstoreRequest req contentType res -> [NH.QueryItem] -> SwaggerPetstoreRequest req contentType res
_setQuery req query =
setQuery :: SwaggerPetstoreRequest req contentType res -> [NH.QueryItem] -> SwaggerPetstoreRequest req contentType res
setQuery req query =
req &
L.over
(rParamsL . paramsQueryL)
@ -1175,8 +1211,8 @@ _setQuery req query =
where
cifst = CI.mk . P.fst
_addForm :: SwaggerPetstoreRequest req contentType res -> WH.Form -> SwaggerPetstoreRequest req contentType res
_addForm req newform =
addForm :: SwaggerPetstoreRequest req contentType res -> WH.Form -> SwaggerPetstoreRequest req contentType res
addForm req newform =
let form = case paramsBody (rParams req) of
ParamBodyFormUrlEncoded _form -> _form
_ -> mempty
@ -1197,6 +1233,9 @@ _setBodyLBS :: SwaggerPetstoreRequest req contentType res -> BL.ByteString -> Sw
_setBodyLBS req body =
req & L.set (rParamsL . paramsBodyL) (ParamBodyBL body)
_hasAuthType :: AuthMethod authMethod => SwaggerPetstoreRequest req contentType res -> P.Proxy authMethod -> SwaggerPetstoreRequest req contentType res
_hasAuthType req proxy =
req & L.over rAuthTypesL (P.typeRep proxy :)
-- ** Params Utils
@ -1261,3 +1300,60 @@ _toCollA' c encode one xs = case c of
{-# INLINE expandList #-}
{-# INLINE combine #-}
-- * AuthMethods
-- | Provides a method to apply auth methods to requests
class P.Typeable a => AuthMethod a where
applyAuthMethod :: SwaggerPetstoreRequest req contentType res -> a -> SwaggerPetstoreRequest req contentType res
-- | An existential wrapper for any AuthMethod
data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable)
instance AuthMethod AnyAuthMethod where applyAuthMethod req (AnyAuthMethod a) = applyAuthMethod req a
-- ** AuthApiKeyApiKey
data AuthApiKeyApiKey =
AuthApiKeyApiKey Text -- ^ secret
deriving (P.Eq, P.Show, P.Typeable)
instance AuthMethod AuthApiKeyApiKey where
applyAuthMethod req a@(AuthApiKeyApiKey secret) =
if (P.typeOf a `P.elem` rAuthTypes req)
then req `setHeader` toHeader ("api_key", secret)
else req
-- ** AuthApiKeyApiKeyQuery
data AuthApiKeyApiKeyQuery =
AuthApiKeyApiKeyQuery Text -- ^ secret
deriving (P.Eq, P.Show, P.Typeable)
instance AuthMethod AuthApiKeyApiKeyQuery where
applyAuthMethod req a@(AuthApiKeyApiKeyQuery secret) =
if (P.typeOf a `P.elem` rAuthTypes req)
then req `setQuery` toQuery ("api_key_query", Just secret)
else req
-- ** AuthBasicHttpBasicTest
data AuthBasicHttpBasicTest =
AuthBasicHttpBasicTest B.ByteString B.ByteString -- ^ username password
deriving (P.Eq, P.Show, P.Typeable)
instance AuthMethod AuthBasicHttpBasicTest where
applyAuthMethod req a@(AuthBasicHttpBasicTest user pw) =
if (P.typeOf a `P.elem` rAuthTypes req)
then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)
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 req a@(AuthOAuthPetstoreAuth secret) =
if (P.typeOf a `P.elem` rAuthTypes req)
then req `setHeader` toHeader ("Authorization", "Bearer " <> secret)
else req

View File

@ -68,6 +68,7 @@ data SwaggerPetstoreConfig = SwaggerPetstoreConfig
, configUserAgent :: Text -- ^ user-agent supplied in the Request
, configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance
, configLogContext :: LogContext -- ^ Configures the logger
, configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods
}
-- | display the config
@ -96,13 +97,21 @@ newConfig = do
, configUserAgent = "swagger-haskell-http-client/1.0.0"
, configLogExecWithContext = runDefaultLogExecWithContext
, configLogContext = logCxt
, configAuthMethods = []
}
-- | updates config use AuthMethod on matching requests
addAuthMethod :: AuthMethod auth => SwaggerPetstoreConfig -> auth -> SwaggerPetstoreConfig
addAuthMethod config@SwaggerPetstoreConfig {configAuthMethods = as} a =
config { configAuthMethods = AnyAuthMethod a : as}
-- | updates the config to use stdout logging
withStdoutLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
withStdoutLogging p = do
logCxt <- stdoutLoggingContext (configLogContext p)
return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }
-- | updates the config to use stderr logging
withStderrLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
withStderrLogging p = do
logCxt <- stderrLoggingContext (configLogContext p)
@ -235,7 +244,9 @@ _toInitRequest
-> IO (InitRequest req contentType res accept) -- ^ initialized request
_toInitRequest config req0 accept = do
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0))
let req1 = _setAcceptHeader req0 accept & _setContentTypeHeader
let req1 = _applyAuthMethods req0 config
& _setContentTypeHeader
& flip _setAcceptHeader accept
reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (rParams req1)
reqQuery = NH.renderQuery True (paramsQuery (rParams req1))
pReq = parsedReq { NH.method = (rMethod req1)
@ -251,6 +262,16 @@ _toInitRequest config req0 accept = do
pure (InitRequest outReq)
-- | apply all matching AuthMethods in config to request
_applyAuthMethods
:: SwaggerPetstoreRequest req contentType res
-> SwaggerPetstoreConfig
-> SwaggerPetstoreRequest req contentType res
_applyAuthMethods req SwaggerPetstoreConfig {configAuthMethods = as} =
foldl go req as
where
go r (AnyAuthMethod a) = r `applyAuthMethod` a
-- | modify the underlying Request
modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept
modifyInitRequest (InitRequest req) f = InitRequest (f req)

View File

@ -61,18 +61,21 @@ import qualified Prelude as P
-- ** AdditionalPropertiesClass
-- |
-- | AdditionalPropertiesClass
data AdditionalPropertiesClass = AdditionalPropertiesClass
{ additionalPropertiesClassMapProperty :: !(Maybe (Map.Map String Text)) -- ^ "map_property"
, additionalPropertiesClassMapOfMapProperty :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_of_map_property"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON AdditionalPropertiesClass
instance A.FromJSON AdditionalPropertiesClass where
parseJSON = A.withObject "AdditionalPropertiesClass" $ \o ->
AdditionalPropertiesClass
<$> (o .:? "map_property")
<*> (o .:? "map_of_map_property")
-- | ToJSON AdditionalPropertiesClass
instance A.ToJSON AdditionalPropertiesClass where
toJSON AdditionalPropertiesClass {..} =
_omitNulls
@ -92,18 +95,21 @@ mkAdditionalPropertiesClass =
-- ** Animal
-- |
-- | Animal
data Animal = Animal
{ animalClassName :: !(Text) -- ^ /Required/ "className"
, animalColor :: !(Maybe Text) -- ^ "color"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Animal
instance A.FromJSON Animal where
parseJSON = A.withObject "Animal" $ \o ->
Animal
<$> (o .: "className")
<*> (o .:? "color")
-- | ToJSON Animal
instance A.ToJSON Animal where
toJSON Animal {..} =
_omitNulls
@ -124,16 +130,19 @@ mkAnimal animalClassName =
-- ** AnimalFarm
-- |
-- | AnimalFarm
data AnimalFarm = AnimalFarm
{
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON AnimalFarm
instance A.FromJSON AnimalFarm where
parseJSON = A.withObject "AnimalFarm" $ \o ->
pure AnimalFarm
-- | ToJSON AnimalFarm
instance A.ToJSON AnimalFarm where
toJSON AnimalFarm =
_omitNulls
@ -151,13 +160,15 @@ mkAnimalFarm =
-- ** ApiResponse
-- |
-- | ApiResponse
data ApiResponse = ApiResponse
{ apiResponseCode :: !(Maybe Int) -- ^ "code"
, apiResponseType :: !(Maybe Text) -- ^ "type"
, apiResponseMessage :: !(Maybe Text) -- ^ "message"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ApiResponse
instance A.FromJSON ApiResponse where
parseJSON = A.withObject "ApiResponse" $ \o ->
ApiResponse
@ -165,6 +176,7 @@ instance A.FromJSON ApiResponse where
<*> (o .:? "type")
<*> (o .:? "message")
-- | ToJSON ApiResponse
instance A.ToJSON ApiResponse where
toJSON ApiResponse {..} =
_omitNulls
@ -186,16 +198,19 @@ mkApiResponse =
-- ** ArrayOfArrayOfNumberOnly
-- |
-- | ArrayOfArrayOfNumberOnly
data ArrayOfArrayOfNumberOnly = ArrayOfArrayOfNumberOnly
{ arrayOfArrayOfNumberOnlyArrayArrayNumber :: !(Maybe [[Double]]) -- ^ "ArrayArrayNumber"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ArrayOfArrayOfNumberOnly
instance A.FromJSON ArrayOfArrayOfNumberOnly where
parseJSON = A.withObject "ArrayOfArrayOfNumberOnly" $ \o ->
ArrayOfArrayOfNumberOnly
<$> (o .:? "ArrayArrayNumber")
-- | ToJSON ArrayOfArrayOfNumberOnly
instance A.ToJSON ArrayOfArrayOfNumberOnly where
toJSON ArrayOfArrayOfNumberOnly {..} =
_omitNulls
@ -213,16 +228,19 @@ mkArrayOfArrayOfNumberOnly =
-- ** ArrayOfNumberOnly
-- |
-- | ArrayOfNumberOnly
data ArrayOfNumberOnly = ArrayOfNumberOnly
{ arrayOfNumberOnlyArrayNumber :: !(Maybe [Double]) -- ^ "ArrayNumber"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ArrayOfNumberOnly
instance A.FromJSON ArrayOfNumberOnly where
parseJSON = A.withObject "ArrayOfNumberOnly" $ \o ->
ArrayOfNumberOnly
<$> (o .:? "ArrayNumber")
-- | ToJSON ArrayOfNumberOnly
instance A.ToJSON ArrayOfNumberOnly where
toJSON ArrayOfNumberOnly {..} =
_omitNulls
@ -240,13 +258,15 @@ mkArrayOfNumberOnly =
-- ** ArrayTest
-- |
-- | ArrayTest
data ArrayTest = ArrayTest
{ arrayTestArrayOfString :: !(Maybe [Text]) -- ^ "array_of_string"
, arrayTestArrayArrayOfInteger :: !(Maybe [[Integer]]) -- ^ "array_array_of_integer"
, arrayTestArrayArrayOfModel :: !(Maybe [[ReadOnlyFirst]]) -- ^ "array_array_of_model"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ArrayTest
instance A.FromJSON ArrayTest where
parseJSON = A.withObject "ArrayTest" $ \o ->
ArrayTest
@ -254,6 +274,7 @@ instance A.FromJSON ArrayTest where
<*> (o .:? "array_array_of_integer")
<*> (o .:? "array_array_of_model")
-- | ToJSON ArrayTest
instance A.ToJSON ArrayTest where
toJSON ArrayTest {..} =
_omitNulls
@ -275,7 +296,7 @@ mkArrayTest =
-- ** Capitalization
-- |
-- | Capitalization
data Capitalization = Capitalization
{ capitalizationSmallCamel :: !(Maybe Text) -- ^ "smallCamel"
, capitalizationCapitalCamel :: !(Maybe Text) -- ^ "CapitalCamel"
@ -285,6 +306,8 @@ data Capitalization = Capitalization
, capitalizationAttName :: !(Maybe Text) -- ^ "ATT_NAME" - Name of the pet
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Capitalization
instance A.FromJSON Capitalization where
parseJSON = A.withObject "Capitalization" $ \o ->
Capitalization
@ -295,6 +318,7 @@ instance A.FromJSON Capitalization where
<*> (o .:? "SCA_ETH_Flow_Points")
<*> (o .:? "ATT_NAME")
-- | ToJSON Capitalization
instance A.ToJSON Capitalization where
toJSON Capitalization {..} =
_omitNulls
@ -322,18 +346,21 @@ mkCapitalization =
-- ** Category
-- |
-- | Category
data Category = Category
{ categoryId :: !(Maybe Integer) -- ^ "id"
, categoryName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Category
instance A.FromJSON Category where
parseJSON = A.withObject "Category" $ \o ->
Category
<$> (o .:? "id")
<*> (o .:? "name")
-- | ToJSON Category
instance A.ToJSON Category where
toJSON Category {..} =
_omitNulls
@ -353,17 +380,20 @@ mkCategory =
-- ** ClassModel
-- |
-- | ClassModel
-- Model for testing model with \"_class\" property
data ClassModel = ClassModel
{ classModelClass :: !(Maybe Text) -- ^ "_class"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ClassModel
instance A.FromJSON ClassModel where
parseJSON = A.withObject "ClassModel" $ \o ->
ClassModel
<$> (o .:? "_class")
-- | ToJSON ClassModel
instance A.ToJSON ClassModel where
toJSON ClassModel {..} =
_omitNulls
@ -381,16 +411,19 @@ mkClassModel =
-- ** Client
-- |
-- | Client
data Client = Client
{ clientClient :: !(Maybe Text) -- ^ "client"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Client
instance A.FromJSON Client where
parseJSON = A.withObject "Client" $ \o ->
Client
<$> (o .:? "client")
-- | ToJSON Client
instance A.ToJSON Client where
toJSON Client {..} =
_omitNulls
@ -408,18 +441,21 @@ mkClient =
-- ** EnumArrays
-- |
-- | EnumArrays
data EnumArrays = EnumArrays
{ enumArraysJustSymbol :: !(Maybe Text) -- ^ "just_symbol"
, enumArraysArrayEnum :: !(Maybe [Text]) -- ^ "array_enum"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON EnumArrays
instance A.FromJSON EnumArrays where
parseJSON = A.withObject "EnumArrays" $ \o ->
EnumArrays
<$> (o .:? "just_symbol")
<*> (o .:? "array_enum")
-- | ToJSON EnumArrays
instance A.ToJSON EnumArrays where
toJSON EnumArrays {..} =
_omitNulls
@ -439,16 +475,19 @@ mkEnumArrays =
-- ** EnumClass
-- |
-- | EnumClass
data EnumClass = EnumClass
{
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON EnumClass
instance A.FromJSON EnumClass where
parseJSON = A.withObject "EnumClass" $ \o ->
pure EnumClass
-- | ToJSON EnumClass
instance A.ToJSON EnumClass where
toJSON EnumClass =
_omitNulls
@ -466,7 +505,7 @@ mkEnumClass =
-- ** EnumTest
-- |
-- | EnumTest
data EnumTest = EnumTest
{ enumTestEnumString :: !(Maybe Text) -- ^ "enum_string"
, enumTestEnumInteger :: !(Maybe Int) -- ^ "enum_integer"
@ -474,6 +513,8 @@ data EnumTest = EnumTest
, enumTestOuterEnum :: !(Maybe OuterEnum) -- ^ "outerEnum"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON EnumTest
instance A.FromJSON EnumTest where
parseJSON = A.withObject "EnumTest" $ \o ->
EnumTest
@ -482,6 +523,7 @@ instance A.FromJSON EnumTest where
<*> (o .:? "enum_number")
<*> (o .:? "outerEnum")
-- | ToJSON EnumTest
instance A.ToJSON EnumTest where
toJSON EnumTest {..} =
_omitNulls
@ -505,7 +547,7 @@ mkEnumTest =
-- ** FormatTest
-- |
-- | FormatTest
data FormatTest = FormatTest
{ formatTestInteger :: !(Maybe Int) -- ^ "integer"
, formatTestInt32 :: !(Maybe Int) -- ^ "int32"
@ -522,6 +564,8 @@ data FormatTest = FormatTest
, formatTestPassword :: !(Text) -- ^ /Required/ "password"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON FormatTest
instance A.FromJSON FormatTest where
parseJSON = A.withObject "FormatTest" $ \o ->
FormatTest
@ -539,6 +583,7 @@ instance A.FromJSON FormatTest where
<*> (o .:? "uuid")
<*> (o .: "password")
-- | ToJSON FormatTest
instance A.ToJSON FormatTest where
toJSON FormatTest {..} =
_omitNulls
@ -584,18 +629,21 @@ mkFormatTest formatTestNumber formatTestByte formatTestDate formatTestPassword =
-- ** HasOnlyReadOnly
-- |
-- | HasOnlyReadOnly
data HasOnlyReadOnly = HasOnlyReadOnly
{ hasOnlyReadOnlyBar :: !(Maybe Text) -- ^ "bar"
, hasOnlyReadOnlyFoo :: !(Maybe Text) -- ^ "foo"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON HasOnlyReadOnly
instance A.FromJSON HasOnlyReadOnly where
parseJSON = A.withObject "HasOnlyReadOnly" $ \o ->
HasOnlyReadOnly
<$> (o .:? "bar")
<*> (o .:? "foo")
-- | ToJSON HasOnlyReadOnly
instance A.ToJSON HasOnlyReadOnly where
toJSON HasOnlyReadOnly {..} =
_omitNulls
@ -615,18 +663,21 @@ mkHasOnlyReadOnly =
-- ** MapTest
-- |
-- | MapTest
data MapTest = MapTest
{ mapTestMapMapOfString :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_map_of_string"
, mapTestMapOfEnumString :: !(Maybe (Map.Map String Text)) -- ^ "map_of_enum_string"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON MapTest
instance A.FromJSON MapTest where
parseJSON = A.withObject "MapTest" $ \o ->
MapTest
<$> (o .:? "map_map_of_string")
<*> (o .:? "map_of_enum_string")
-- | ToJSON MapTest
instance A.ToJSON MapTest where
toJSON MapTest {..} =
_omitNulls
@ -646,13 +697,15 @@ mkMapTest =
-- ** MixedPropertiesAndAdditionalPropertiesClass
-- |
-- | MixedPropertiesAndAdditionalPropertiesClass
data MixedPropertiesAndAdditionalPropertiesClass = MixedPropertiesAndAdditionalPropertiesClass
{ mixedPropertiesAndAdditionalPropertiesClassUuid :: !(Maybe Text) -- ^ "uuid"
, mixedPropertiesAndAdditionalPropertiesClassDateTime :: !(Maybe DateTime) -- ^ "dateTime"
, mixedPropertiesAndAdditionalPropertiesClassMap :: !(Maybe (Map.Map String Animal)) -- ^ "map"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON MixedPropertiesAndAdditionalPropertiesClass
instance A.FromJSON MixedPropertiesAndAdditionalPropertiesClass where
parseJSON = A.withObject "MixedPropertiesAndAdditionalPropertiesClass" $ \o ->
MixedPropertiesAndAdditionalPropertiesClass
@ -660,6 +713,7 @@ instance A.FromJSON MixedPropertiesAndAdditionalPropertiesClass where
<*> (o .:? "dateTime")
<*> (o .:? "map")
-- | ToJSON MixedPropertiesAndAdditionalPropertiesClass
instance A.ToJSON MixedPropertiesAndAdditionalPropertiesClass where
toJSON MixedPropertiesAndAdditionalPropertiesClass {..} =
_omitNulls
@ -681,19 +735,22 @@ mkMixedPropertiesAndAdditionalPropertiesClass =
-- ** Model200Response
-- |
-- | Model200Response
-- Model for testing model name starting with number
data Model200Response = Model200Response
{ model200ResponseName :: !(Maybe Int) -- ^ "name"
, model200ResponseClass :: !(Maybe Text) -- ^ "class"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Model200Response
instance A.FromJSON Model200Response where
parseJSON = A.withObject "Model200Response" $ \o ->
Model200Response
<$> (o .:? "name")
<*> (o .:? "class")
-- | ToJSON Model200Response
instance A.ToJSON Model200Response where
toJSON Model200Response {..} =
_omitNulls
@ -713,16 +770,19 @@ mkModel200Response =
-- ** ModelList
-- |
-- | ModelList
data ModelList = ModelList
{ modelList123List :: !(Maybe Text) -- ^ "123-list"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ModelList
instance A.FromJSON ModelList where
parseJSON = A.withObject "ModelList" $ \o ->
ModelList
<$> (o .:? "123-list")
-- | ToJSON ModelList
instance A.ToJSON ModelList where
toJSON ModelList {..} =
_omitNulls
@ -740,17 +800,20 @@ mkModelList =
-- ** ModelReturn
-- |
-- | ModelReturn
-- Model for testing reserved words
data ModelReturn = ModelReturn
{ modelReturnReturn :: !(Maybe Int) -- ^ "return"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ModelReturn
instance A.FromJSON ModelReturn where
parseJSON = A.withObject "ModelReturn" $ \o ->
ModelReturn
<$> (o .:? "return")
-- | ToJSON ModelReturn
instance A.ToJSON ModelReturn where
toJSON ModelReturn {..} =
_omitNulls
@ -768,7 +831,7 @@ mkModelReturn =
-- ** Name
-- |
-- | Name
-- Model for testing model name same as property name
data Name = Name
{ nameName :: !(Int) -- ^ /Required/ "name"
@ -777,6 +840,8 @@ data Name = Name
, name123Number :: !(Maybe Int) -- ^ "123Number"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Name
instance A.FromJSON Name where
parseJSON = A.withObject "Name" $ \o ->
Name
@ -785,6 +850,7 @@ instance A.FromJSON Name where
<*> (o .:? "property")
<*> (o .:? "123Number")
-- | ToJSON Name
instance A.ToJSON Name where
toJSON Name {..} =
_omitNulls
@ -809,16 +875,19 @@ mkName nameName =
-- ** NumberOnly
-- |
-- | NumberOnly
data NumberOnly = NumberOnly
{ numberOnlyJustNumber :: !(Maybe Double) -- ^ "JustNumber"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON NumberOnly
instance A.FromJSON NumberOnly where
parseJSON = A.withObject "NumberOnly" $ \o ->
NumberOnly
<$> (o .:? "JustNumber")
-- | ToJSON NumberOnly
instance A.ToJSON NumberOnly where
toJSON NumberOnly {..} =
_omitNulls
@ -836,7 +905,7 @@ mkNumberOnly =
-- ** Order
-- |
-- | Order
data Order = Order
{ orderId :: !(Maybe Integer) -- ^ "id"
, orderPetId :: !(Maybe Integer) -- ^ "petId"
@ -846,6 +915,8 @@ data Order = Order
, orderComplete :: !(Maybe Bool) -- ^ "complete"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Order
instance A.FromJSON Order where
parseJSON = A.withObject "Order" $ \o ->
Order
@ -856,6 +927,7 @@ instance A.FromJSON Order where
<*> (o .:? "status")
<*> (o .:? "complete")
-- | ToJSON Order
instance A.ToJSON Order where
toJSON Order {..} =
_omitNulls
@ -883,16 +955,19 @@ mkOrder =
-- ** OuterBoolean
-- |
-- | OuterBoolean
data OuterBoolean = OuterBoolean
{
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON OuterBoolean
instance A.FromJSON OuterBoolean where
parseJSON = A.withObject "OuterBoolean" $ \o ->
pure OuterBoolean
-- | ToJSON OuterBoolean
instance A.ToJSON OuterBoolean where
toJSON OuterBoolean =
_omitNulls
@ -910,13 +985,15 @@ mkOuterBoolean =
-- ** OuterComposite
-- |
-- | OuterComposite
data OuterComposite = OuterComposite
{ outerCompositeMyNumber :: !(Maybe OuterNumber) -- ^ "my_number"
, outerCompositeMyString :: !(Maybe OuterString) -- ^ "my_string"
, outerCompositeMyBoolean :: !(Maybe OuterBoolean) -- ^ "my_boolean"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON OuterComposite
instance A.FromJSON OuterComposite where
parseJSON = A.withObject "OuterComposite" $ \o ->
OuterComposite
@ -924,6 +1001,7 @@ instance A.FromJSON OuterComposite where
<*> (o .:? "my_string")
<*> (o .:? "my_boolean")
-- | ToJSON OuterComposite
instance A.ToJSON OuterComposite where
toJSON OuterComposite {..} =
_omitNulls
@ -945,16 +1023,19 @@ mkOuterComposite =
-- ** OuterEnum
-- |
-- | OuterEnum
data OuterEnum = OuterEnum
{
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON OuterEnum
instance A.FromJSON OuterEnum where
parseJSON = A.withObject "OuterEnum" $ \o ->
pure OuterEnum
-- | ToJSON OuterEnum
instance A.ToJSON OuterEnum where
toJSON OuterEnum =
_omitNulls
@ -972,16 +1053,19 @@ mkOuterEnum =
-- ** OuterNumber
-- |
-- | OuterNumber
data OuterNumber = OuterNumber
{
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON OuterNumber
instance A.FromJSON OuterNumber where
parseJSON = A.withObject "OuterNumber" $ \o ->
pure OuterNumber
-- | ToJSON OuterNumber
instance A.ToJSON OuterNumber where
toJSON OuterNumber =
_omitNulls
@ -999,16 +1083,19 @@ mkOuterNumber =
-- ** OuterString
-- |
-- | OuterString
data OuterString = OuterString
{
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON OuterString
instance A.FromJSON OuterString where
parseJSON = A.withObject "OuterString" $ \o ->
pure OuterString
-- | ToJSON OuterString
instance A.ToJSON OuterString where
toJSON OuterString =
_omitNulls
@ -1026,7 +1113,7 @@ mkOuterString =
-- ** Pet
-- |
-- | Pet
data Pet = Pet
{ petId :: !(Maybe Integer) -- ^ "id"
, petCategory :: !(Maybe Category) -- ^ "category"
@ -1036,6 +1123,8 @@ data Pet = Pet
, petStatus :: !(Maybe Text) -- ^ "status" - pet status in the store
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Pet
instance A.FromJSON Pet where
parseJSON = A.withObject "Pet" $ \o ->
Pet
@ -1046,6 +1135,7 @@ instance A.FromJSON Pet where
<*> (o .:? "tags")
<*> (o .:? "status")
-- | ToJSON Pet
instance A.ToJSON Pet where
toJSON Pet {..} =
_omitNulls
@ -1075,18 +1165,21 @@ mkPet petName petPhotoUrls =
-- ** ReadOnlyFirst
-- |
-- | ReadOnlyFirst
data ReadOnlyFirst = ReadOnlyFirst
{ readOnlyFirstBar :: !(Maybe Text) -- ^ "bar"
, readOnlyFirstBaz :: !(Maybe Text) -- ^ "baz"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON ReadOnlyFirst
instance A.FromJSON ReadOnlyFirst where
parseJSON = A.withObject "ReadOnlyFirst" $ \o ->
ReadOnlyFirst
<$> (o .:? "bar")
<*> (o .:? "baz")
-- | ToJSON ReadOnlyFirst
instance A.ToJSON ReadOnlyFirst where
toJSON ReadOnlyFirst {..} =
_omitNulls
@ -1106,16 +1199,19 @@ mkReadOnlyFirst =
-- ** SpecialModelName
-- |
-- | SpecialModelName
data SpecialModelName = SpecialModelName
{ specialModelNameSpecialPropertyName :: !(Maybe Integer) -- ^ "$special[property.name]"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON SpecialModelName
instance A.FromJSON SpecialModelName where
parseJSON = A.withObject "SpecialModelName" $ \o ->
SpecialModelName
<$> (o .:? "$special[property.name]")
-- | ToJSON SpecialModelName
instance A.ToJSON SpecialModelName where
toJSON SpecialModelName {..} =
_omitNulls
@ -1133,18 +1229,21 @@ mkSpecialModelName =
-- ** Tag
-- |
-- | Tag
data Tag = Tag
{ tagId :: !(Maybe Integer) -- ^ "id"
, tagName :: !(Maybe Text) -- ^ "name"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Tag
instance A.FromJSON Tag where
parseJSON = A.withObject "Tag" $ \o ->
Tag
<$> (o .:? "id")
<*> (o .:? "name")
-- | ToJSON Tag
instance A.ToJSON Tag where
toJSON Tag {..} =
_omitNulls
@ -1164,7 +1263,7 @@ mkTag =
-- ** User
-- |
-- | User
data User = User
{ userId :: !(Maybe Integer) -- ^ "id"
, userUsername :: !(Maybe Text) -- ^ "username"
@ -1176,6 +1275,8 @@ data User = User
, userUserStatus :: !(Maybe Int) -- ^ "userStatus" - User Status
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON User
instance A.FromJSON User where
parseJSON = A.withObject "User" $ \o ->
User
@ -1188,6 +1289,7 @@ instance A.FromJSON User where
<*> (o .:? "phone")
<*> (o .:? "userStatus")
-- | ToJSON User
instance A.ToJSON User where
toJSON User {..} =
_omitNulls
@ -1219,13 +1321,15 @@ mkUser =
-- ** Cat
-- |
-- | Cat
data Cat = Cat
{ catClassName :: !(Text) -- ^ /Required/ "className"
, catColor :: !(Maybe Text) -- ^ "color"
, catDeclawed :: !(Maybe Bool) -- ^ "declawed"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Cat
instance A.FromJSON Cat where
parseJSON = A.withObject "Cat" $ \o ->
Cat
@ -1233,6 +1337,7 @@ instance A.FromJSON Cat where
<*> (o .:? "color")
<*> (o .:? "declawed")
-- | ToJSON Cat
instance A.ToJSON Cat where
toJSON Cat {..} =
_omitNulls
@ -1255,13 +1360,15 @@ mkCat catClassName =
-- ** Dog
-- |
-- | Dog
data Dog = Dog
{ dogClassName :: !(Text) -- ^ /Required/ "className"
, dogColor :: !(Maybe Text) -- ^ "color"
, dogBreed :: !(Maybe Text) -- ^ "breed"
} deriving (P.Show,P.Eq,P.Typeable)
-- | FromJSON Dog
instance A.FromJSON Dog where
parseJSON = A.withObject "Dog" $ \o ->
Dog
@ -1269,6 +1376,7 @@ instance A.FromJSON Dog where
<*> (o .:? "color")
<*> (o .:? "breed")
-- | ToJSON Dog
instance A.ToJSON Dog where
toJSON Dog {..} =
_omitNulls
@ -1293,21 +1401,23 @@ mkDog dogClassName =
-- * Utils
-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)
_omitNulls :: [(Text, A.Value)] -> A.Value
_omitNulls = A.object . P.filter notNull
where
notNull (_, A.Null) = False
notNull _ = True
-- | Encodes fields using WH.toQueryParam
_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])
_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x
-- | Collapse (Just "") to Nothing
_emptyToNothing :: Maybe String -> Maybe String
_emptyToNothing (Just "") = Nothing
_emptyToNothing x = x
{-# INLINE _emptyToNothing #-}
-- | Collapse (Just mempty) to Nothing
_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a
_memptyToNothing (Just x) | x P.== P.mempty = Nothing
_memptyToNothing x = x
@ -1340,6 +1450,7 @@ _showDateTime =
TI.formatISO8601Millis
{-# INLINE _showDateTime #-}
-- | parse an ISO8601 date-time string
_parseISO8601 :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t
_parseISO8601 t =
P.asum $

View File

@ -38,6 +38,7 @@
<argument>--install-ghc</argument>
<argument>--no-haddock-deps</argument>
<argument>haddock</argument>
<argument>--fast</argument>
</arguments>
</configuration>
</execution>
@ -51,6 +52,7 @@
<executable>stack</executable>
<arguments>
<argument>test</argument>
<argument>--fast</argument>
</arguments>
</configuration>
</execution>

View File

@ -92,6 +92,7 @@ test-suite tests
, time
, iso8601-time
, aeson
, vector
, semigroups
, QuickCheck
other-modules:

View File

@ -108,8 +108,8 @@
"type" : "array",
"items" : {
"type" : "string",
"default" : "available",
"enum" : [ "available", "pending", "sold" ]
"enum" : [ "available", "pending", "sold" ],
"default" : "available"
},
"collectionFormat" : "csv"
} ],
@ -680,8 +680,8 @@
"type" : "array",
"items" : {
"type" : "string",
"default" : "$",
"enum" : [ ">", "$" ]
"enum" : [ ">", "$" ],
"default" : "$"
}
}, {
"name" : "enum_form_string",
@ -699,8 +699,8 @@
"type" : "array",
"items" : {
"type" : "string",
"default" : "$",
"enum" : [ ">", "$" ]
"enum" : [ ">", "$" ],
"default" : "$"
}
}, {
"name" : "enum_header_string",
@ -718,8 +718,8 @@
"type" : "array",
"items" : {
"type" : "string",
"default" : "$",
"enum" : [ ">", "$" ]
"enum" : [ ">", "$" ],
"default" : "$"
}
}, {
"name" : "enum_query_string",

View File

@ -49,17 +49,24 @@ main = do
env <- getEnvironment
let host = case lookup "HOST" env of
Just h -> BCL.pack h
_ -> "http://0.0.0.0/v2"
mgr <- NH.newManager NH.defaultManagerSettings
config0 <- S.withStdoutLogging =<< S.newConfig
let config = config0 { S.configHost = host }
let config =
-- configure host
case lookup "HOST" env of
Just h -> config0 { S.configHost = BCL.pack h }
_ -> config0 { S.configHost = "http://0.0.0.0/v2" }
-- each configured auth method is only applied to requests that specify them
`S.addAuthMethod` S.AuthBasicHttpBasicTest "username" "password"
`S.addAuthMethod` S.AuthApiKeyApiKey "secret-key"
`S.addAuthMethod` S.AuthApiKeyApiKeyQuery "secret-key"
`S.addAuthMethod` S.AuthOAuthPetstoreAuth "secret-key"
putStrLn "\n******** CONFIG ********"
putStrLn (show config)
mgr <- NH.newManager NH.defaultManagerSettings
hspec $ do
testPetOps mgr config
@ -91,7 +98,7 @@ testPetOps mgr config =
Just pet@S.Pet {S.petId = Just petId} -> go (petId, pet)
_ -> pendingWith "no petId") $
it "getPetById" $ \(petId, pet) -> do
let getPetByIdRequest = S.getPetById petId
let getPetByIdRequest = S.getPetById (S.PetId petId)
getPetByIdRequestResult <- S.dispatchMime mgr config getPetByIdRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse getPetByIdRequestResult) `shouldBe` NH.status200
case S.mimeResult getPetByIdRequestResult of
@ -99,7 +106,7 @@ testPetOps mgr config =
Left (S.MimeError e _) -> assertFailure e
it "findPetsByStatus" $ do
let findPetsByStatusRequest = S.findPetsByStatus ["available","pending","sold"]
let findPetsByStatusRequest = S.findPetsByStatus (S.Status ["available","pending","sold"])
findPetsByStatusResult <- S.dispatchMime mgr config findPetsByStatusRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse findPetsByStatusResult) `shouldBe` NH.status200
case S.mimeResult findPetsByStatusResult of
@ -107,7 +114,7 @@ testPetOps mgr config =
Left (S.MimeError e _) -> assertFailure e
it "findPetsByTags" $ do
let findPetsByTagsRequest = S.findPetsByTags ["name","tag1"]
let findPetsByTagsRequest = S.findPetsByTags (S.Tags ["name","tag1"])
findPetsByTagsResult <- S.dispatchMime mgr config findPetsByTagsRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse findPetsByTagsResult) `shouldBe` NH.status200
case S.mimeResult findPetsByTagsResult of
@ -129,9 +136,9 @@ testPetOps mgr config =
it "updatePetWithFormRequest" $ do
readIORef _pet >>= \case
Just S.Pet {S.petId = Just petId} -> do
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded petId
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded (S.PetId petId)
`S.applyOptionalParam` S.Name2 "petName"
`S.applyOptionalParam` S.Status "pending"
`S.applyOptionalParam` S.StatusText "pending"
updatePetWithFormResponse <- S.dispatchLbs mgr config updatePetWithFormRequest S.MimeJSON
NH.responseStatus updatePetWithFormResponse `shouldBe` NH.status200
_ -> pendingWith "no pet"
@ -141,7 +148,7 @@ testPetOps mgr config =
Just pet@S.Pet {S.petId = Just petId} -> go petId
_ -> pendingWith "no petId") $
it "uploadFile" $ \petId -> do
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData petId
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData (S.PetId petId)
`S.applyOptionalParam` S.File "package.yaml"
`S.applyOptionalParam` S.AdditionalMetadata "a package.yaml file"
uploadFileRequestResult <- S.dispatchMime mgr config uploadFileRequest S.MimeJSON
@ -155,7 +162,7 @@ testPetOps mgr config =
Just pet@S.Pet {S.petId = Just petId} -> go petId
_ -> pendingWith "no petId") $
it "deletePet" $ \petId -> do
let deletePetRequest = S.deletePet petId
let deletePetRequest = S.deletePet (S.PetId petId)
`S.applyOptionalParam` S.ApiKey "api key"
deletePetResponse <- S.dispatchLbs mgr config deletePetRequest S.MimeJSON
NH.responseStatus deletePetResponse `shouldBe` NH.status200
@ -200,7 +207,7 @@ testStoreOps mgr config = do
Just order@S.Order {S.orderId = Just orderId} -> go (orderId, order)
_ -> pendingWith "no orderId") $
it "getOrderById" $ \(orderId, order) -> do
let getOrderByIdRequest = S.getOrderById orderId
let getOrderByIdRequest = S.getOrderById (S.OrderId orderId)
getOrderByIdRequestResult <- S.dispatchMime mgr config getOrderByIdRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse getOrderByIdRequestResult) `shouldBe` NH.status200
case S.mimeResult getOrderByIdRequestResult of
@ -212,7 +219,7 @@ testStoreOps mgr config = do
Just S.Order {S.orderId = Just orderId} -> go (T.pack (show orderId))
_ -> pendingWith "no orderId") $
it "deleteOrder" $ \orderId -> do
let deleteOrderRequest = S.deleteOrder orderId
let deleteOrderRequest = S.deleteOrder (S.OrderIdText orderId)
deleteOrderResult <- S.dispatchLbs mgr config deleteOrderRequest S.MimeJSON
NH.responseStatus deleteOrderResult `shouldBe` NH.status200
@ -249,19 +256,19 @@ testUserOps mgr config = do
before (pure _users) $
it "createUsersWithArrayInput" $ \users -> do
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON users
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON (S.Body users)
createUsersWithArrayInputResult <- S.dispatchLbs mgr config createUsersWithArrayInputRequest S.MimeNoContent
NH.responseStatus createUsersWithArrayInputResult `shouldBe` NH.status200
before (pure _users) $
it "createUsersWithListInput" $ \users -> do
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON users
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON (S.Body users)
createUsersWithListInputResult <- S.dispatchLbs mgr config createUsersWithListInputRequest S.MimeNoContent
NH.responseStatus createUsersWithListInputResult `shouldBe` NH.status200
before (pure (_username, _user)) $
it "getUserByName" $ \(username, user) -> do
let getUserByNameRequest = S.getUserByName username
let getUserByNameRequest = S.getUserByName (S.Username username)
getUserByNameResult <- S.dispatchMime mgr config getUserByNameRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse getUserByNameResult) `shouldBe` NH.status200
case S.mimeResult getUserByNameResult of
@ -270,13 +277,13 @@ testUserOps mgr config = do
before (pure (_username, _password)) $
it "loginUser" $ \(username, password) -> do
let loginUserRequest = S.loginUser username password
let loginUserRequest = S.loginUser (S.Username username) (S.Password password)
loginUserResult <- S.dispatchLbs mgr config loginUserRequest S.MimeJSON
NH.responseStatus loginUserResult `shouldBe` NH.status200
before (pure (_username, _user)) $
it "updateUser" $ \(username, user) -> do
let updateUserRequest = S.updateUser S.MimeJSON username user
let updateUserRequest = S.updateUser S.MimeJSON (S.Username username) user
updateUserResult <- S.dispatchLbs mgr config updateUserRequest S.MimeJSON
NH.responseStatus updateUserResult `shouldBe` NH.status200
@ -286,6 +293,6 @@ testUserOps mgr config = do
before (pure _username) $
it "deleteUser" $ \username -> do
let deleteUserRequest = S.deleteUser username
let deleteUserRequest = S.deleteUser (S.Username username)
deleteUserResult <- S.dispatchLbs mgr config deleteUserRequest S.MimeJSON
NH.responseStatus deleteUserResult `shouldBe` NH.status200

View File

@ -2,20 +2,23 @@
module Instances where
import Data.Text (Text, pack)
import Control.Monad
import Data.Char (isSpace)
import Data.List (sort)
import qualified Data.Time as TI
import Test.QuickCheck
import qualified Data.Aeson as A
import qualified Data.ByteString.Lazy as BL
import qualified Data.HashMap.Strict as HM
import qualified Data.Set as Set
import qualified Data.ByteString.Lazy as BL
import qualified Data.Text as T
import qualified Data.Time as TI
import qualified Data.Vector as V
import ApproxEq
import SwaggerPetstore.Model
instance Arbitrary Text where
arbitrary = pack <$> arbitrary
instance Arbitrary T.Text where
arbitrary = T.pack <$> arbitrary
instance Arbitrary TI.Day where
arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary
@ -45,6 +48,27 @@ instance Arbitrary Date where
arbitrary = Date <$> arbitrary
shrink (Date xs) = Date <$> shrink xs
-- | A naive Arbitrary instance for A.Value:
instance Arbitrary A.Value where
arbitrary = frequency [(3, simpleTypes), (1, arrayTypes), (1, objectTypes)]
where
simpleTypes :: Gen A.Value
simpleTypes =
frequency
[ (1, return A.Null)
, (2, liftM A.Bool (arbitrary :: Gen Bool))
, (2, liftM (A.Number . fromIntegral) (arbitrary :: Gen Int))
, (2, liftM (A.String . T.pack) (arbitrary :: Gen String))
]
mapF (k, v) = (T.pack k, v)
simpleAndArrays = frequency [(1, sized sizedArray), (4, simpleTypes)]
arrayTypes = sized sizedArray
objectTypes = sized sizedObject
sizedArray n = liftM (A.Array . V.fromList) $ replicateM n simpleTypes
sizedObject n =
liftM (A.object . map mapF) $
replicateM n $ (,) <$> (arbitrary :: Gen String) <*> simpleAndArrays
-- | Checks if a given list has no duplicates in _O(n log n)_.
hasNoDups
:: (Ord a)

View File

@ -17,42 +17,43 @@ import SwaggerPetstore.MimeTypes
main :: IO ()
main =
hspec $ modifyMaxSize (const 10) $
do describe "JSON instances" $
do propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass)
propMimeEq MimeJSON (Proxy :: Proxy Animal)
propMimeEq MimeJSON (Proxy :: Proxy AnimalFarm)
propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfArrayOfNumberOnly)
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfNumberOnly)
propMimeEq MimeJSON (Proxy :: Proxy ArrayTest)
propMimeEq MimeJSON (Proxy :: Proxy Capitalization)
propMimeEq MimeJSON (Proxy :: Proxy Category)
propMimeEq MimeJSON (Proxy :: Proxy ClassModel)
propMimeEq MimeJSON (Proxy :: Proxy Client)
propMimeEq MimeJSON (Proxy :: Proxy EnumArrays)
propMimeEq MimeJSON (Proxy :: Proxy EnumClass)
propMimeEq MimeJSON (Proxy :: Proxy EnumTest)
propMimeEq MimeJSON (Proxy :: Proxy FormatTest)
propMimeEq MimeJSON (Proxy :: Proxy HasOnlyReadOnly)
propMimeEq MimeJSON (Proxy :: Proxy MapTest)
propMimeEq MimeJSON (Proxy :: Proxy MixedPropertiesAndAdditionalPropertiesClass)
propMimeEq MimeJSON (Proxy :: Proxy Model200Response)
propMimeEq MimeJSON (Proxy :: Proxy ModelList)
propMimeEq MimeJSON (Proxy :: Proxy ModelReturn)
propMimeEq MimeJSON (Proxy :: Proxy Name)
propMimeEq MimeJSON (Proxy :: Proxy NumberOnly)
propMimeEq MimeJSON (Proxy :: Proxy Order)
propMimeEq MimeJSON (Proxy :: Proxy OuterBoolean)
propMimeEq MimeJSON (Proxy :: Proxy OuterComposite)
propMimeEq MimeJSON (Proxy :: Proxy OuterEnum)
propMimeEq MimeJSON (Proxy :: Proxy OuterNumber)
propMimeEq MimeJSON (Proxy :: Proxy OuterString)
propMimeEq MimeJSON (Proxy :: Proxy Pet)
propMimeEq MimeJSON (Proxy :: Proxy ReadOnlyFirst)
propMimeEq MimeJSON (Proxy :: Proxy SpecialModelName)
propMimeEq MimeJSON (Proxy :: Proxy Tag)
propMimeEq MimeJSON (Proxy :: Proxy User)
propMimeEq MimeJSON (Proxy :: Proxy Cat)
propMimeEq MimeJSON (Proxy :: Proxy Dog)
hspec $ modifyMaxSize (const 10) $ do
describe "JSON instances" $ do
pure ()
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass)
propMimeEq MimeJSON (Proxy :: Proxy Animal)
propMimeEq MimeJSON (Proxy :: Proxy AnimalFarm)
propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfArrayOfNumberOnly)
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfNumberOnly)
propMimeEq MimeJSON (Proxy :: Proxy ArrayTest)
propMimeEq MimeJSON (Proxy :: Proxy Capitalization)
propMimeEq MimeJSON (Proxy :: Proxy Category)
propMimeEq MimeJSON (Proxy :: Proxy ClassModel)
propMimeEq MimeJSON (Proxy :: Proxy Client)
propMimeEq MimeJSON (Proxy :: Proxy EnumArrays)
propMimeEq MimeJSON (Proxy :: Proxy EnumClass)
propMimeEq MimeJSON (Proxy :: Proxy EnumTest)
propMimeEq MimeJSON (Proxy :: Proxy FormatTest)
propMimeEq MimeJSON (Proxy :: Proxy HasOnlyReadOnly)
propMimeEq MimeJSON (Proxy :: Proxy MapTest)
propMimeEq MimeJSON (Proxy :: Proxy MixedPropertiesAndAdditionalPropertiesClass)
propMimeEq MimeJSON (Proxy :: Proxy Model200Response)
propMimeEq MimeJSON (Proxy :: Proxy ModelList)
propMimeEq MimeJSON (Proxy :: Proxy ModelReturn)
propMimeEq MimeJSON (Proxy :: Proxy Name)
propMimeEq MimeJSON (Proxy :: Proxy NumberOnly)
propMimeEq MimeJSON (Proxy :: Proxy Order)
propMimeEq MimeJSON (Proxy :: Proxy OuterBoolean)
propMimeEq MimeJSON (Proxy :: Proxy OuterComposite)
propMimeEq MimeJSON (Proxy :: Proxy OuterEnum)
propMimeEq MimeJSON (Proxy :: Proxy OuterNumber)
propMimeEq MimeJSON (Proxy :: Proxy OuterString)
propMimeEq MimeJSON (Proxy :: Proxy Pet)
propMimeEq MimeJSON (Proxy :: Proxy ReadOnlyFirst)
propMimeEq MimeJSON (Proxy :: Proxy SpecialModelName)
propMimeEq MimeJSON (Proxy :: Proxy Tag)
propMimeEq MimeJSON (Proxy :: Proxy User)
propMimeEq MimeJSON (Proxy :: Proxy Cat)
propMimeEq MimeJSON (Proxy :: Proxy Dog)