[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.ModelImpl;
import io.swagger.models.Operation; import io.swagger.models.Operation;
import io.swagger.models.Swagger; import io.swagger.models.Swagger;
import io.swagger.models.properties.ArrayProperty; import io.swagger.models.properties.*;
import io.swagger.models.properties.MapProperty;
import io.swagger.models.properties.Property;
import java.util.*; import java.util.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import io.swagger.models.auth.SecuritySchemeDefinition;
import io.swagger.codegen.CliOption; import io.swagger.codegen.CliOption;
import io.swagger.codegen.CodegenConstants; import io.swagger.codegen.CodegenConstants;
import io.swagger.codegen.CodegenModel; import io.swagger.codegen.CodegenModel;
@ -26,6 +25,7 @@ import java.io.IOException;
import java.io.File; import java.io.File;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.text.WordUtils; import org.apache.commons.lang3.text.WordUtils;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -65,8 +65,8 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
static final String MEDIA_IS_JSON = "x-mediaIsJson"; static final String MEDIA_IS_JSON = "x-mediaIsJson";
protected Map<String, CodegenParameter> uniqueOptionalParamsByName = new HashMap<String, CodegenParameter>(); protected Map<String, CodegenParameter> uniqueParamsByName = new HashMap<String, CodegenParameter>();
protected Map<String, CodegenModel> modelNames = new HashMap<String, CodegenModel>(); protected Set<String> typeNames = new HashSet<String>();
protected Map<String, Map<String,String>> allMimeTypes = new HashMap<String, Map<String,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, String> knownMimeDataTypes = new HashMap<String, String>();
protected Map<String, Set<String>> modelMimeTypes = new HashMap<String, Set<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) { public CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map<String, Model> definitions, Swagger swagger) {
CodegenOperation op = super.fromOperation(resourcePath, httpMethod, operation, definitions, 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.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()); op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams());
for (CodegenParameter param : op.allParams) { 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); param.vendorExtensions.put("x-isBodyOrFormParam", param.isBodyParam || param.isFormParam);
if (!StringUtils.isBlank(param.collectionFormat)) { if (!StringUtils.isBlank(param.collectionFormat)) {
param.vendorExtensions.put("x-collectionFormat", mapCollectionFormat(param.collectionFormat)); param.vendorExtensions.put("x-collectionFormat", mapCollectionFormat(param.collectionFormat));
} }
if(!param.required) { if(!param.required) {
op.vendorExtensions.put("x-hasOptionalParams", true); 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); String paramNameType = toTypeName("Param", param.paramName);
if (uniqueOptionalParamsByName.containsKey(paramNameType)) { if (uniqueParamsByName.containsKey(paramNameType)) {
CodegenParameter lastParam = this.uniqueOptionalParamsByName.get(paramNameType); CodegenParameter lastParam = this.uniqueParamsByName.get(paramNameType);
if (lastParam.dataType != null && lastParam.dataType.equals(param.dataType)) { if (lastParam.dataType != null && lastParam.dataType.equals(param.dataType)) {
param.vendorExtensions.put("x-duplicate", true); param.vendorExtensions.put("x-duplicate", true);
} else { } else {
paramNameType = paramNameType + param.dataType; paramNameType = paramNameType + param.dataType;
while (modelNames.containsKey(paramNameType)) { while (typeNames.contains(paramNameType)) {
paramNameType = generateNextName(paramNameType); paramNameType = generateNextName(paramNameType);
} }
uniqueParamsByName.put(paramNameType, param);
} }
} else { } else {
while (modelNames.containsKey(paramNameType)) { while (typeNames.contains(paramNameType)) {
paramNameType = generateNextName(paramNameType); paramNameType = generateNextName(paramNameType);
} }
uniqueOptionalParamsByName.put(paramNameType, param); uniqueParamsByName.put(paramNameType, param);
} }
param.vendorExtensions.put("x-paramNameType", paramNameType); param.vendorExtensions.put("x-paramNameType", paramNameType);
op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams()); typeNames.add(paramNameType);
} }
} }
if (op.getHasPathParams()) { if (op.getHasPathParams()) {
@ -573,6 +580,17 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
return op; 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 @Override
public Map<String, Object> postProcessOperations(Map<String, Object> objs) { 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-hasUnknownMimeTypes", !unknownMimeTypes.isEmpty());
additionalProperties.put("x-unknownMimeTypes", unknownMimeTypes); additionalProperties.put("x-unknownMimeTypes", unknownMimeTypes);
additionalProperties.put("x-allUniqueParams", uniqueParamsByName.values());
return ret; return ret;
} }
@ -619,12 +638,13 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
public CodegenModel fromModel(String name, Model mod, Map<String, Model> allDefinitions) { public CodegenModel fromModel(String name, Model mod, Map<String, Model> allDefinitions) {
CodegenModel model = super.fromModel(name, mod, allDefinitions); CodegenModel model = super.fromModel(name, mod, allDefinitions);
while (uniqueOptionalParamsByName.containsKey(model.classname)) { while (typeNames.contains(model.classname)) {
model.classname = generateNextName(model.classname); model.classname = generateNextName(model.classname);
} }
typeNames.add(model.classname);
// From the model name, compute the prefix for the fields. // 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) { for (CodegenProperty prop : model.vars) {
prop.name = toVarName(prefix, prop.name); prop.name = toVarName(prefix, prop.name);
} }
@ -635,7 +655,6 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
return model; return model;
} }
modelNames.put(model.classname, model);
return model; return model;
} }
@ -674,6 +693,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
if(StringUtils.isBlank(mediaType)) return; if(StringUtils.isBlank(mediaType)) return;
String mimeType = getMimeDataType(mediaType); String mimeType = getMimeDataType(mediaType);
typeNames.add(mimeType);
m.put(MEDIA_DATA_TYPE, mimeType); m.put(MEDIA_DATA_TYPE, mimeType);
if (isJsonMimeType(mediaType)) { if (isJsonMimeType(mediaType)) {
m.put(MEDIA_IS_JSON, "true"); m.put(MEDIA_IS_JSON, "true");
@ -761,6 +781,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
} }
return false; return false;
} }
@Override @Override
public String toVarName(String name) { public String toVarName(String name) {
return toVarName("", name); return toVarName("", name);
@ -794,8 +815,28 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
return toTypeName("Model", name); return toTypeName("Model", name);
} }
public String toTypeName(String prefix, String 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(StringUtils.isBlank(prefix)) return name;
if (isReservedWord(name)) { if (isReservedWord(name)) {
@ -815,4 +856,65 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
static boolean isJsonMimeType(String mime) { static boolean isJsonMimeType(String mime) {
return mime != null && JSON_MIME_PATTERN.matcher(mime).matches(); 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 Module : {{title}}.API
-} -}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE InstanceSigs #-} {-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{title}}.API where 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.Builder as BB
import qualified Data.ByteString.Char8 as BC import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL 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.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME 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 Web.FormUrlEncoded as WH
import qualified Data.CaseInsensitive as CI 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.Foldable as P
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
@ -76,30 +78,31 @@ import qualified Prelude as P
-- {{/summary}}{{#notes}} -- {{/summary}}{{#notes}}
-- {{{.}}} -- {{{.}}}
-- {{/notes}}{{#hasAuthMethods}} -- {{/notes}}{{#hasAuthMethods}}
-- AuthMethod: {{#authMethods}}{{{name}}}{{#hasMore}}, {{/hasMore}}{{/authMethods}} -- AuthMethod: {{#authMethods}}'{{{name}}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}
-- {{/hasAuthMethods}}{{#vendorExtensions.x-hasUnknownReturn}} -- {{/hasAuthMethods}}{{#vendorExtensions.x-hasUnknownReturn}}
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- {{/vendorExtensions.x-hasUnknownReturn}} -- {{/vendorExtensions.x-hasUnknownReturn}}
{{operationId}} {{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') => 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}} -> {{/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}} _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}} {-# DEPRECATED {{operationId}} "" #-}{{/isDeprecated}}
data {{{vendorExtensions.x-operationType}}} {{#allParams}}{{#isBodyParam}}{{#description}} data {{{vendorExtensions.x-operationType}}} {{#allParams}}{{#isBodyParam}}{{#description}}
-- | /Body Param/ "{{{baseName}}}" - {{{description}}}{{/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}} -- | /Optional Param/ "{{{baseName}}}" - {{{description}}}{{/description}}
instance HasOptionalParam {{{vendorExtensions.x-operationType}}} {{{vendorExtensions.x-paramNameType}}} where instance HasOptionalParam {{{vendorExtensions.x-operationType}}} {{{vendorExtensions.x-paramNameType}}} where
applyOptionalParam req ({{{vendorExtensions.x-paramNameType}}} xs) = 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}}}@ {{#consumes}}-- | @{{{mediaType}}}@
instance Consumes {{{vendorExtensions.x-operationType}}} {{{x-mediaDataType}}} instance Consumes {{{vendorExtensions.x-operationType}}} {{{x-mediaDataType}}}
@ -135,11 +138,12 @@ class HasOptionalParam req param where
infixl 2 -&- infixl 2 -&-
-- * Optional Request Parameter Types -- * Request Parameter Types
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}{{#vendorExtensions.x-hasOptionalParams}}{{#allParams}}{{^required}}{{^vendorExtensions.x-duplicate}} {{#x-allUniqueParams}}
newtype {{{vendorExtensions.x-paramNameType}}} = {{{vendorExtensions.x-paramNameType}}} { un{{{vendorExtensions.x-paramNameType}}} :: {{{dataType}}} } deriving (P.Eq, P.Show) -- | {{{vendorExtensions.x-paramNameType}}}
{{/vendorExtensions.x-duplicate}}{{/required}}{{/allParams}}{{/vendorExtensions.x-hasOptionalParams}}{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}} newtype {{{vendorExtensions.x-paramNameType}}} = {{{vendorExtensions.x-paramNameType}}} { un{{{vendorExtensions.x-paramNameType}}} :: {{{dataType}}} } deriving (P.Eq, P.Show{{#isBodyParam}}, A.ToJSON{{/isBodyParam}})
{{/x-allUniqueParams}}
-- * {{requestType}} -- * {{requestType}}
@ -148,6 +152,7 @@ data {{requestType}} req contentType res = {{requestType}}
{ rMethod :: NH.Method -- ^ Method of {{requestType}} { rMethod :: NH.Method -- ^ Method of {{requestType}}
, rUrlPath :: [BCL.ByteString] -- ^ Endpoint of {{requestType}} , rUrlPath :: [BCL.ByteString] -- ^ Endpoint of {{requestType}}
, rParams :: Params -- ^ params of {{requestType}} , rParams :: Params -- ^ params of {{requestType}}
, rAuthTypes :: [P.TypeRep] -- ^ types of auth methods
} }
deriving (P.Show) deriving (P.Show)
@ -166,6 +171,11 @@ rParamsL :: Lens_' ({{requestType}} req contentType res) Params
rParamsL f {{requestType}}{..} = (\rParams -> {{requestType}} { rParams, ..} ) <$> f rParams rParamsL f {{requestType}}{..} = (\rParams -> {{requestType}} { rParams, ..} ) <$> f rParams
{-# INLINE rParamsL #-} {-# INLINE rParamsL #-}
-- | 'rParams' Lens
rAuthTypesL :: Lens_' ({{requestType}} req contentType res) [P.TypeRep]
rAuthTypesL f {{requestType}}{..} = (\rAuthTypes -> {{requestType}} { rAuthTypes, ..} ) <$> f rAuthTypes
{-# INLINE rAuthTypesL #-}
-- | Request Params -- | Request Params
data Params = Params data Params = Params
{ paramsQuery :: NH.Query { paramsQuery :: NH.Query
@ -203,7 +213,7 @@ data ParamBody
_mkRequest :: NH.Method -- ^ Method _mkRequest :: NH.Method -- ^ Method
-> [BCL.ByteString] -- ^ Endpoint -> [BCL.ByteString] -- ^ Endpoint
-> {{requestType}} req contentType res -- ^ req: Request Type, res: Response Type -> {{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
_mkParams = Params [] [] ParamBodyNone _mkParams = Params [] [] ParamBodyNone
@ -235,8 +245,8 @@ _setAcceptHeader req accept =
Just m -> req `setHeader` [("accept", BC.pack $ P.show m)] Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]
Nothing -> req `removeHeader` ["accept"] Nothing -> req `removeHeader` ["accept"]
_setQuery :: {{requestType}} req contentType res -> [NH.QueryItem] -> {{requestType}} req contentType res setQuery :: {{requestType}} req contentType res -> [NH.QueryItem] -> {{requestType}} req contentType res
_setQuery req query = setQuery req query =
req & req &
L.over L.over
(rParamsL . paramsQueryL) (rParamsL . paramsQueryL)
@ -244,8 +254,8 @@ _setQuery req query =
where where
cifst = CI.mk . P.fst cifst = CI.mk . P.fst
_addForm :: {{requestType}} req contentType res -> WH.Form -> {{requestType}} req contentType res addForm :: {{requestType}} req contentType res -> WH.Form -> {{requestType}} req contentType res
_addForm req newform = addForm req newform =
let form = case paramsBody (rParams req) of let form = case paramsBody (rParams req) of
ParamBodyFormUrlEncoded _form -> _form ParamBodyFormUrlEncoded _form -> _form
_ -> mempty _ -> mempty
@ -266,6 +276,9 @@ _setBodyLBS :: {{requestType}} req contentType res -> BL.ByteString -> {{request
_setBodyLBS req body = _setBodyLBS req body =
req & L.set (rParamsL . paramsBodyL) (ParamBodyBL 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 -- ** Params Utils
@ -330,3 +343,49 @@ _toCollA' c encode one xs = case c of
{-# INLINE expandList #-} {-# INLINE expandList #-}
{-# INLINE combine #-} {-# 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 , configUserAgent :: Text -- ^ user-agent supplied in the Request
, configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance , configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance
, configLogContext :: LogContext -- ^ Configures the logger , configLogContext :: LogContext -- ^ Configures the logger
, configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods
} }
-- | display the config -- | display the config
@ -87,13 +88,21 @@ newConfig = do
, configUserAgent = "{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}{{{artifactId}}}/{{{artifactVersion}}}{{/httpUserAgent}}" , configUserAgent = "{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}{{{artifactId}}}/{{{artifactVersion}}}{{/httpUserAgent}}"
, configLogExecWithContext = runDefaultLogExecWithContext , configLogExecWithContext = runDefaultLogExecWithContext
, configLogContext = logCxt , 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 :: {{configType}} -> IO {{configType}}
withStdoutLogging p = do withStdoutLogging p = do
logCxt <- stdoutLoggingContext (configLogContext p) logCxt <- stdoutLoggingContext (configLogContext p)
return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt } return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }
-- | updates the config to use stderr logging
withStderrLogging :: {{configType}} -> IO {{configType}} withStderrLogging :: {{configType}} -> IO {{configType}}
withStderrLogging p = do withStderrLogging p = do
logCxt <- stderrLoggingContext (configLogContext p) logCxt <- stderrLoggingContext (configLogContext p)
@ -226,7 +235,9 @@ _toInitRequest
-> IO (InitRequest req contentType res accept) -- ^ initialized request -> IO (InitRequest req contentType res accept) -- ^ initialized request
_toInitRequest config req0 accept = do _toInitRequest config req0 accept = do
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0)) 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) reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (rParams req1)
reqQuery = NH.renderQuery True (paramsQuery (rParams req1)) reqQuery = NH.renderQuery True (paramsQuery (rParams req1))
pReq = parsedReq { NH.method = (rMethod req1) pReq = parsedReq { NH.method = (rMethod req1)
@ -242,6 +253,16 @@ _toInitRequest config req0 accept = do
pure (InitRequest outReq) 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 -- | modify the underlying Request
modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept
modifyInitRequest (InitRequest req) f = InitRequest (f req) modifyInitRequest (InitRequest req) f = InitRequest (f req)

View File

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

View File

@ -46,10 +46,6 @@ haskell-http-client
### Unsupported Swagger Features ### Unsupported Swagger Features
* Auth Methods (https://swagger.io/docs/specification/2-0/authentication/)
- use `setHeader` to add any required headers to requests
* Model Inheritance * Model Inheritance
* Default Parameter Values * 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 java -jar swagger-codegen-cli.jar config-help -l haskell-http-client
``` ```
## Usage Notes
### Example SwaggerPetstore Haddock documentation ### 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] 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 [3]: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/haskell-http-client/example-app
### Usage Notes
This library is intended to be imported qualified. This library is intended to be imported qualified.
### Modules
| MODULE | NOTES | | MODULE | NOTES |
| ------------------- | --------------------------------------------------- | | ------------------- | --------------------------------------------------- |
| {{title}}.Client | use the "dispatch" functions to send requests | | {{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}}.Lens | lenses for model fields |
| {{title}}.Logging | logging functions and utils | | {{title}}.Logging | logging functions and utils |
### MimeTypes
This library adds type safety around what swagger specifies as This library adds type safety around what swagger specifies as
Produces and Consumes for each Operation (e.g. the list of MIME types an 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). 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 it's body param of _FooModel_ via `setBodyParam`
* the _addFoo_ operation can set 2 different optional parameters via `applyOptionalParam` * 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 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 MIME type for a given Operation, you should either add a Produces or
Consumes instance for the desired MIME types (assuming the server 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 generated if the model fields are primitive types, and there are
Operations using x-www-form-urlencoded which use those models. Operations using x-www-form-urlencoded which use those models.
### 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. See the example app and the haddocks for details.

View File

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

View File

@ -2,20 +2,23 @@
module Instances where module Instances where
import Data.Text (Text, pack) import Control.Monad
import Data.Char (isSpace) import Data.Char (isSpace)
import Data.List (sort) import Data.List (sort)
import qualified Data.Time as TI
import Test.QuickCheck 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.HashMap.Strict as HM
import qualified Data.Set as Set 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 ApproxEq
import {{title}}.Model import {{title}}.Model
instance Arbitrary Text where instance Arbitrary T.Text where
arbitrary = pack <$> arbitrary arbitrary = T.pack <$> arbitrary
instance Arbitrary TI.Day where instance Arbitrary TI.Day where
arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary
@ -45,6 +48,27 @@ instance Arbitrary Date where
arbitrary = Date <$> arbitrary arbitrary = Date <$> arbitrary
shrink (Date xs) = Date <$> shrink xs 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)_. -- | Checks if a given list has no duplicates in _O(n log n)_.
hasNoDups hasNoDups
:: (Ord a) :: (Ord a)

View File

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

View File

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

View File

@ -46,10 +46,6 @@ haskell-http-client
### Unsupported Swagger Features ### Unsupported Swagger Features
* Auth Methods (https://swagger.io/docs/specification/2-0/authentication/)
- use `setHeader` to add any required headers to requests
* Model Inheritance * Model Inheritance
* Default Parameter Values * 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 java -jar swagger-codegen-cli.jar config-help -l haskell-http-client
``` ```
## Usage Notes
### Example SwaggerPetstore Haddock documentation ### 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] 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 [3]: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/haskell-http-client/example-app
### Usage Notes
This library is intended to be imported qualified. This library is intended to be imported qualified.
### Modules
| MODULE | NOTES | | MODULE | NOTES |
| ------------------- | --------------------------------------------------- | | ------------------- | --------------------------------------------------- |
| SwaggerPetstore.Client | use the "dispatch" functions to send requests | | 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.Lens | lenses for model fields |
| SwaggerPetstore.Logging | logging functions and utils | | SwaggerPetstore.Logging | logging functions and utils |
### MimeTypes
This library adds type safety around what swagger specifies as This library adds type safety around what swagger specifies as
Produces and Consumes for each Operation (e.g. the list of MIME types an 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). 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 it's body param of _FooModel_ via `setBodyParam`
* the _addFoo_ operation can set 2 different optional parameters via `applyOptionalParam` * 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 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 MIME type for a given Operation, you should either add a Produces or
Consumes instance for the desired MIME types (assuming the server 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 generated if the model fields are primitive types, and there are
Operations using x-www-form-urlencoded which use those models. Operations using x-www-form-urlencoded which use those models.
### 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. 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[ <!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();}; 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[ <!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();}; 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-15"></a><span class="hs-cpp">#if defined(VERSION_base)</span><span>
</span><a name="line-16"></a><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-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-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-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> </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-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-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-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-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-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-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-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-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> </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 Module : SwaggerPetstore.Client
-}</span><span> -}</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-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-15"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-16"></a><span> </span><a name="line-16"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><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-17"></a><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><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-18"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><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-19"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><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-20"></a><span class="hs-pragma">{-# LANGUAGE DeriveFunctor #-}</span><span>
</span><a name="line-21"></a><span> </span><a name="line-21"></a><span class="hs-pragma">{-# LANGUAGE DeriveFoldable #-}</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">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-22"></a><span class="hs-pragma">{-# LANGUAGE DeriveTraversable #-}</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-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 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-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">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-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 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-26"></a><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-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><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-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><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-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><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><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 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-31"></a><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-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> </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">Time</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</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">Map</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Map</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-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-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-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-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-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-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> </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-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-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-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-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-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-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 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-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">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-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">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-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">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-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">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-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">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-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 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-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">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-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> </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">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-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-comment">-- * Config</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> </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-comment">-- | </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">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-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> </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-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> </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-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> </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-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> </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-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><span class="hs-special">}</span><span> </span><a name="line-61"></a><span>
</span><a name="line-62"></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">-- | display the config</span><span> </span><a name="line-63"></a><span class="hs-comment">-- * 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-64"></a><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-65"></a><span class="hs-comment">-- | </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-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-string">&quot;{ configHost = %v, configUserAgent = %v, ..}&quot;</span><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 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-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 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-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><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 class="hs-comment">-- | constructs a default SwaggerPetstoreConfig</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 class="hs-comment">--</span><span> </span><a name="line-72"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-73"></a><span class="hs-comment">-- configHost:</span><span> </span><a name="line-73"></a><span>
</span><a name="line-74"></a><span class="hs-comment">--</span><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-comment">-- @http://petstore.swagger.io:80/v2@</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 class="hs-comment">--</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 class="hs-comment">-- configUserAgent:</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 class="hs-comment">--</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 class="hs-comment">-- @&quot;swagger-haskell-http-client/1.0.0&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 class="hs-comment">--</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 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-81"></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-82"></a><span class="hs-comment">-- | constructs a default SwaggerPetstoreConfig</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-83"></a><span class="hs-comment">--</span><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-84"></a><span class="hs-comment">-- configHost:</span><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-85"></a><span class="hs-comment">--</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-86"></a><span class="hs-comment">-- @http://petstore.swagger.io:80/v2@</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-87"></a><span class="hs-comment">--</span><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-88"></a><span class="hs-comment">-- configUserAgent:</span><span>
</span><a name="line-89"></a><span> </span><span class="hs-special">}</span><span> </span><span> </span><a name="line-89"></a><span class="hs-comment">--</span><span>
</span><a name="line-90"></a><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-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-91"></a><span class="hs-comment">--</span><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-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><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-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><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-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><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 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-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><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-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><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-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-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-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><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 class="hs-comment">-- | updates the config to disable logging</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 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-102"></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-103"></a><span class="hs-comment">-- | updates config use AuthMethod on matching requests</span><span>
</span><a name="line-104"></a><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><span class="hs-comment">-- * Dispatch</span><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 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 class="hs-comment">-- ** Lbs</span><span> </span><a name="line-107"></a><span>
</span><a name="line-108"></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-comment">-- | send a request returning the raw http response</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><span class="hs-identifier">dispatchLbs</span><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><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-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-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-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><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-113"></a><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-114"></a><span class="hs-comment">-- | updates the config to use stderr logging</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-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><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-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><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-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><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-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 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-119"></a><span>
</span><a name="line-120"></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-comment">-- ** Mime</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><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 class="hs-comment">-- | pair of decoded http body and http response</span><span> </span><a name="line-123"></a><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-124"></a><span class="hs-comment">-- * Dispatch</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-125"></a><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-126"></a><span class="hs-comment">-- ** Lbs</span><span>
</span><a name="line-127"></a><span> </span><span class="hs-special">}</span><span> </span><a name="line-127"></a><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-128"></a><span class="hs-comment">-- | send a request returning the raw http response</span><span>
</span><a name="line-129"></a><span> </span><a name="line-129"></a><span class="hs-identifier">dispatchLbs</span><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-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 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-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><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-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><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-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-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-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-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-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><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 class="hs-comment">-- | send a request returning the 'MimeResult'</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 class="hs-identifier">dispatchMime</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><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-139"></a><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-140"></a><span class="hs-comment">-- ** Mime</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-141"></a><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-142"></a><span class="hs-comment">-- | pair of decoded http body and http response</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-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><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-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><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-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><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-146"></a><span> </span><span class="hs-special">}</span><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-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 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-148"></a><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-149"></a><span class="hs-comment">-- | pair of unrender/parser error and http response</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-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 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-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><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-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-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-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-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-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-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-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-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-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-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-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-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-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-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><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-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%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-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 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-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><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-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 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 class="hs-comment">-- ** Unsafe</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><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 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-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 class="hs-identifier">dispatchLbsUnsafe</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-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-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-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-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><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-174"></a><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-175"></a><span class="hs-comment">-- | like 'dispatchMime', but only returns the decoded http body</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-176"></a><span class="hs-identifier">dispatchMime'</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-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><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-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><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-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><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-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><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 class="hs-comment">-- | dispatch an InitRequest</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><span class="hs-identifier">dispatchInitUnsafe</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><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-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-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-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><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-186"></a><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-187"></a><span class="hs-comment">-- ** Unsafe</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-188"></a><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-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> </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-190"></a><span class="hs-identifier">dispatchLbsUnsafe</span><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-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><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-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><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-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><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-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-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-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-keyword">where</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><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-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-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-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><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-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><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-200"></a><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-201"></a><span class="hs-comment">-- | dispatch an InitRequest</span><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-202"></a><span class="hs-identifier">dispatchInitUnsafe</span><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-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-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-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-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-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-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-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><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-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 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-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><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-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><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-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="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 class="hs-comment">-- * InitRequest</span><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 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 class="hs-comment">-- | wraps an http-client 'Request' with request/response type parameters</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 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-215"></a><span> </span><span class="hs-keyword">where</span><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-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><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-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><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 class="hs-comment">-- | Build an http-client 'Request' record from the supplied config and request</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 class="hs-identifier">_toInitRequest</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><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-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><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-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-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-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-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-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-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-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><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-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-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-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><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-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><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-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="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-230"></a><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-231"></a><span class="hs-comment">-- * InitRequest</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-232"></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-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> </span><span class="hs-special">}</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><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-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><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-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 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-237"></a><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-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> </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-239"></a><span class="hs-identifier">_toInitRequest</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-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><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-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-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><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 class="hs-comment">-- | modify the underlying Request</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><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-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><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-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><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 class="hs-comment">-- | modify the underlying Request (monadic)</span><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 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-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><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-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="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 class="hs-comment">-- ** Logging </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><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 class="hs-comment">-- | Run a block using the configured logger instance</span><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 class="hs-identifier">runConfigLog</span><span> </span><a name="line-255"></a><span> </span><span class="hs-special">}</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-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><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-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><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-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 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 class="hs-comment">-- | Run a block using the configured logger instance (logs exceptions)</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 class="hs-identifier">runConfigLogWithExceptions</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><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-262"></a><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-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><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-264"></a><span>
</span><a name="line-265"></a></pre></body></html> </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 Module : SwaggerPetstore.Logging
Katip Logging functions Katip Logging functions
-}</span><span> -}</span><span>
</span><a name="line-5"></a><span> </span><a name="line-15"></a><span>
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span> </span><a name="line-16"></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-17"></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-18"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
</span><a name="line-9"></a><span> </span><a name="line-19"></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-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-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-21"></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">Katip</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">LG</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> </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 class="hs-comment">-- * Type Aliases (for compatability)</span><span> </span><a name="line-24"></a><span>
</span><a name="line-25"></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-comment">-- | Runs a Katip logging block with the Log environment</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">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-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> </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-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> </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-comment">-- | A Katip logging block</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 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-31"></a><span>
</span><a name="line-32"></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 class="hs-comment">-- | A Katip Log environment</span><span> </span><a name="line-33"></a><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-34"></a><span class="hs-comment">-- * Type Aliases (for compatability)</span><span>
</span><a name="line-35"></a><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-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="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-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 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 class="hs-comment">-- * default logger</span><span> </span><a name="line-39"></a><span>
</span><a name="line-40"></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-comment">-- | the default log environment</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 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-42"></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-43"></a><span class="hs-comment">-- | A Katip Log environment</span><span>
</span><a name="line-44"></a><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 class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span> </span><a name="line-45"></a><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-46"></a><span class="hs-comment">-- | A Katip Log severity</span><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-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-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-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-51"></a><span class="hs-comment">-- | the default 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-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="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-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-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-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">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-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="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-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="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-58"></a><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-59"></a><span class="hs-comment">-- * stdout logger</span><span>
</span><a name="line-60"></a><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-61"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-62"></a><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><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><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 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-64"></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-65"></a><span class="hs-comment">-- | A Katip Log environment which targets stdout</span><span>
</span><a name="line-66"></a><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><span class="hs-comment">-- | A Katip Log environment which targets stderr</span><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 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-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><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-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="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-70"></a><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-71"></a><span class="hs-comment">-- * stderr logger</span><span>
</span><a name="line-72"></a><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-73"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
</span><a name="line-74"></a><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><span class="hs-comment">-- | Disables Katip logging</span><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 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-76"></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-77"></a><span class="hs-comment">-- | A Katip Log environment which targets stderr</span><span>
</span><a name="line-78"></a><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><span class="hs-comment">-- * Log Msg</span><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="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 class="hs-comment">-- | Log a katip message</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 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-82"></a><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-83"></a><span class="hs-comment">-- * Null logger</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-84"></a><span>
</span><a name="line-85"></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-comment">-- * Log Exceptions</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><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 class="hs-comment">-- | re-throws exceptions after logging them</span><span> </span><a name="line-88"></a><span>
</span><a name="line-89"></a><span class="hs-identifier">logExceptions</span><span> </span><a name="line-89"></a><span class="hs-comment">-- * Log Msg</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-90"></a><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-91"></a><span class="hs-comment">-- | Log a katip message</span><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-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><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-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-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-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 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-95"></a><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-96"></a><span class="hs-comment">-- * Log Exceptions</span><span>
</span><a name="line-97"></a><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-98"></a><span class="hs-comment">-- | re-throws exceptions after logging them</span><span>
</span><a name="line-99"></a><span> </span><a name="line-99"></a><span class="hs-identifier">logExceptions</span><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-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><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-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><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 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-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><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-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 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 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-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><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-107"></a><span>
</span><a name="line-108"></a><span> </span><a name="line-108"></a><span class="hs-comment">-- * Log Level</span><span>
</span><a name="line-109"></a></pre></body></html> </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> <!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">{-
</span><a name="line-2"></a><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 Module : SwaggerPetstore.MimeTypes
-}</span><span> -}</span><span>
</span><a name="line-5"></a><span> </span><a name="line-14"></a><span>
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE ConstraintKinds #-}</span><span> </span><a name="line-15"></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-16"></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-17"></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-18"></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-19"></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-20"></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-21"></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-22"></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-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-15"></a><span> </span><a name="line-24"></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-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-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-26"></a><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-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-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">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-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> </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">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-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">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-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 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-34"></a><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-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">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-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 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-37"></a><span>
</span><a name="line-38"></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-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-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 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-40"></a><span>
</span><a name="line-41"></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-comment">-- * Content Negotiation</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> </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-comment">-- | A type for responses without content-body.</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">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-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> </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-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-47"></a><span>
</span><a name="line-48"></a><span class="hs-comment">-- ** Mime Types</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> </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 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-50"></a><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-51"></a><span class="hs-comment">-- * Content Negotiation</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-52"></a><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-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="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-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 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-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 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-56"></a><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-57"></a><span class="hs-comment">-- ** Mime Types</span><span>
</span><a name="line-58"></a><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-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="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-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> </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-comment">-- ** MimeType Class</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> </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">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-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> </span><span class="hs-pragma">{-# MINIMAL mimeType | mimeTypes #-}</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> </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><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-67"></a><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-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> </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-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><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-70"></a><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-71"></a><span class="hs-comment">-- ** MimeType Class</span><span>
</span><a name="line-72"></a><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-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><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-74"></a><span> </span><span class="hs-pragma">{-# MINIMAL mimeType | mimeTypes #-}</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-75"></a><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-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><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-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><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">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-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><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-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><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-81"></a><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-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="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 class="hs-comment">-- ** MimeType Instances</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><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 class="hs-comment">-- | @application/json; charset=utf-8@</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 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-87"></a><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-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 class="hs-comment">-- | @application/xml; charset=utf-8@</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 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-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-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-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 class="hs-comment">-- | @application/x-www-form-urlencoded@</span><span> </span><a name="line-92"></a><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-93"></a><span class="hs-comment">-- ** MimeType Instances</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-94"></a><span>
</span><a name="line-95"></a><span class="hs-comment">-- | @multipart/form-data@</span><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#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-keyword">where</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;multipart/form-data&quot;</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">-- | @text/plain; charset=utf-8@</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#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-keyword">where</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;text/plain&quot;</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/octet-stream@</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#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-keyword">where</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/octet-stream&quot;</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">-- | @&quot;*/*&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#MimeAny"><span class="hs-identifier hs-type">MimeAny</span></a><span> </span><span class="hs-keyword">where</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;*/*&quot;</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-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-107"></a><span class="hs-comment">-- | @text/plain; charset=utf-8@</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-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="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/xml; charset=utf-8@</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#MimeXmlCharsetutf8"><span class="hs-identifier hs-type">MimeXmlCharsetutf8</span></a><span> </span><span class="hs-keyword">where</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/xml; charset=utf-8&quot;</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> </span><a name="line-113"></a><span class="hs-comment">-- | @&quot;*/*&quot;@</span><span>
</span><a name="line-114"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</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 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-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> </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-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 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-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 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-118"></a><span>
</span><a name="line-119"></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> </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 class="hs-comment">-- ** MimeRender Class</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-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-123"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</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-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><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-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> </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-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> </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-128"></a><span>
</span><a name="line-129"></a><span class="hs-comment">-- ** MimeRender Instances</span><span> </span><a name="line-129"></a><span>
</span><a name="line-130"></a><span> </span><a name="line-130"></a><span class="hs-comment">-- ** MimeRender Class</span><span>
</span><a name="line-131"></a><span class="hs-comment">-- | `A.encode`</span><span> </span><a name="line-131"></a><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-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 class="hs-comment">-- | @WH.urlEncodeAsForm@</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 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-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="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 class="hs-comment">-- | @P.id@</span><span> </span><a name="line-136"></a><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-137"></a><span>
</span><a name="line-138"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span> </span><a name="line-138"></a><span class="hs-comment">-- ** MimeRender Instances</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-139"></a><span>
</span><a name="line-140"></a><span class="hs-comment">-- | @BCL.pack@</span><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><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-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> </span><a name="line-142"></a><span class="hs-comment">-- | @WH.urlEncodeAsForm@</span><span>
</span><a name="line-143"></a><span class="hs-comment">-- | @P.id@</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 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-144"></a><span>
</span><a name="line-145"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><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#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-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">-- | @BCL.pack@</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#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-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> </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#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-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 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-151"></a><span>
</span><a name="line-152"></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#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-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-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-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#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-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-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-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#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-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 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-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">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-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><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-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 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-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><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-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">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-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> </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-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-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><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-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> </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-comment">-- | @P.Right . P.const NoContent@</span><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#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-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> </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-comment">-- instance MimeRender MimeOctetStream Double where mimeRender _ = BB.toLazyByteString . BB.doubleDec</span><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-comment">-- instance MimeRender MimeOctetStream Float where mimeRender _ = BB.toLazyByteString . BB.floatDec</span><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 class="hs-comment">-- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec</span><span> </span><a name="line-173"></a><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-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><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 class="hs-comment">-- instance MimeRender MimeXmlCharsetutf8 T.Text where mimeRender _ = undefined</span><span> </span><a name="line-176"></a><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-177"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
</span><a name="line-178"></a><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 class="hs-comment">-- ** MimeUnrender Class</span><span> </span><a name="line-179"></a><span>
</span><a name="line-180"></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-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-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> </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-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> </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-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="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-184"></a><span>
</span><a name="line-185"></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">-- ** MimeUnrender Instances</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-187"></a><span>
</span><a name="line-188"></a><span class="hs-comment">-- | @A.eitherDecode@</span><span> </span><a name="line-188"></a><span class="hs-comment">-- ** MimeUnrender Class</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-189"></a><span>
</span><a name="line-190"></a><span class="hs-comment">-- | @P.left T.unpack . WH.urlDecodeAsForm@</span><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 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-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 class="hs-comment">-- | @P.Right . P.id@</span><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="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 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-194"></a><span>
</span><a name="line-195"></a><span class="hs-comment">-- | @P.left P.show . TL.decodeUtf8'@</span><span> </span><a name="line-195"></a><span class="hs-comment">-- ** MimeUnrender Instances</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-196"></a><span>
</span><a name="line-197"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><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><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-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> </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-comment">-- | @P.Right . P.id@</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-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-201"></a><span class="hs-comment">-- | @P.Right . P.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-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#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-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.Right . BCL.unpack@</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#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-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> </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-comment">-- | @P.Right . P.const NoContent@</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 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-208"></a><span>
</span><a name="line-209"></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-comment">-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined</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">-- instance MimeUnrender MimeJsonCharsetutf8 T.Text where mimeUnrender _ = undefined</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> </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">-- ** Request Consumes</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> </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 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-215"></a><span>
</span><a name="line-216"></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-comment">-- ** Request Produces</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-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-219"></a><span class="hs-comment">-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
</span><a name="line-220"></a></pre></body></html> </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 Module : SwaggerPetstore
-}</span><span> -}</span><span>
</span><a name="line-4"></a><span> </span><a name="line-14"></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-15"></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-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-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-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-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-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-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-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-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-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-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-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-12"></a><span> </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</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-13"></a><span> </span><a name="line-23"></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-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-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-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-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-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-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-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-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-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-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-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-20"></a></pre></body></html> </span><a name="line-30"></a></pre></body></html>

View File

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

View File

@ -12,16 +12,17 @@
Module : SwaggerPetstore.API Module : SwaggerPetstore.API
-} -}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE InstanceSigs #-} {-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module SwaggerPetstore.API where 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.Builder as BB
import qualified Data.ByteString.Char8 as BC import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL 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.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME 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 Web.FormUrlEncoded as WH
import qualified Data.CaseInsensitive as CI 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.Foldable as P
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.Set as Set import qualified Data.Set as Set
@ -217,76 +219,77 @@ instance Produces TestClientModel MimeJSON
-- --
-- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 -- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
-- --
-- AuthMethod: http_basic_test -- AuthMethod: 'AuthBasicHttpBasicTest'
-- --
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
testEndpointParameters testEndpointParameters
:: (Consumes TestEndpointParameters contentType) :: (Consumes TestEndpointParameters contentType)
=> contentType -- ^ request content-type ('MimeType') => contentType -- ^ request content-type ('MimeType')
-> Double -- ^ "number" - None -> Number -- ^ "number" - None
-> Double -- ^ "double" - None -> ParamDouble -- ^ "double" - None
-> Text -- ^ "patternWithoutDelimiter" - None -> PatternWithoutDelimiter -- ^ "patternWithoutDelimiter" - None
-> ByteArray -- ^ "byte" - None -> Byte -- ^ "byte" - None
-> SwaggerPetstoreRequest TestEndpointParameters contentType res -> SwaggerPetstoreRequest TestEndpointParameters contentType res
testEndpointParameters _ number double patternWithoutDelimiter byte = testEndpointParameters _ (Number number) (ParamDouble double) (PatternWithoutDelimiter patternWithoutDelimiter) (Byte byte) =
_mkRequest "POST" ["/fake"] _mkRequest "POST" ["/fake"]
`_addForm` toForm ("number", number) `addForm` toForm ("number", number)
`_addForm` toForm ("double", double) `addForm` toForm ("double", double)
`_addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter) `addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter)
`_addForm` toForm ("byte", byte) `addForm` toForm ("byte", byte)
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicHttpBasicTest)
data TestEndpointParameters data TestEndpointParameters
-- | /Optional Param/ "integer" - None -- | /Optional Param/ "integer" - None
instance HasOptionalParam TestEndpointParameters ParamInteger where instance HasOptionalParam TestEndpointParameters ParamInteger where
applyOptionalParam req (ParamInteger xs) = applyOptionalParam req (ParamInteger xs) =
req `_addForm` toForm ("integer", xs) req `addForm` toForm ("integer", xs)
-- | /Optional Param/ "int32" - None -- | /Optional Param/ "int32" - None
instance HasOptionalParam TestEndpointParameters Int32 where instance HasOptionalParam TestEndpointParameters Int32 where
applyOptionalParam req (Int32 xs) = applyOptionalParam req (Int32 xs) =
req `_addForm` toForm ("int32", xs) req `addForm` toForm ("int32", xs)
-- | /Optional Param/ "int64" - None -- | /Optional Param/ "int64" - None
instance HasOptionalParam TestEndpointParameters Int64 where instance HasOptionalParam TestEndpointParameters Int64 where
applyOptionalParam req (Int64 xs) = applyOptionalParam req (Int64 xs) =
req `_addForm` toForm ("int64", xs) req `addForm` toForm ("int64", xs)
-- | /Optional Param/ "float" - None -- | /Optional Param/ "float" - None
instance HasOptionalParam TestEndpointParameters ParamFloat where instance HasOptionalParam TestEndpointParameters ParamFloat where
applyOptionalParam req (ParamFloat xs) = applyOptionalParam req (ParamFloat xs) =
req `_addForm` toForm ("float", xs) req `addForm` toForm ("float", xs)
-- | /Optional Param/ "string" - None -- | /Optional Param/ "string" - None
instance HasOptionalParam TestEndpointParameters ParamString where instance HasOptionalParam TestEndpointParameters ParamString where
applyOptionalParam req (ParamString xs) = applyOptionalParam req (ParamString xs) =
req `_addForm` toForm ("string", xs) req `addForm` toForm ("string", xs)
-- | /Optional Param/ "binary" - None -- | /Optional Param/ "binary" - None
instance HasOptionalParam TestEndpointParameters ParamBinary where instance HasOptionalParam TestEndpointParameters ParamBinary where
applyOptionalParam req (ParamBinary xs) = applyOptionalParam req (ParamBinary xs) =
req `_addForm` toForm ("binary", xs) req `addForm` toForm ("binary", xs)
-- | /Optional Param/ "date" - None -- | /Optional Param/ "date" - None
instance HasOptionalParam TestEndpointParameters ParamDate where instance HasOptionalParam TestEndpointParameters ParamDate where
applyOptionalParam req (ParamDate xs) = applyOptionalParam req (ParamDate xs) =
req `_addForm` toForm ("date", xs) req `addForm` toForm ("date", xs)
-- | /Optional Param/ "dateTime" - None -- | /Optional Param/ "dateTime" - None
instance HasOptionalParam TestEndpointParameters ParamDateTime where instance HasOptionalParam TestEndpointParameters ParamDateTime where
applyOptionalParam req (ParamDateTime xs) = applyOptionalParam req (ParamDateTime xs) =
req `_addForm` toForm ("dateTime", xs) req `addForm` toForm ("dateTime", xs)
-- | /Optional Param/ "password" - None -- | /Optional Param/ "password" - None
instance HasOptionalParam TestEndpointParameters Password where instance HasOptionalParam TestEndpointParameters Password where
applyOptionalParam req (Password xs) = applyOptionalParam req (Password xs) =
req `_addForm` toForm ("password", xs) req `addForm` toForm ("password", xs)
-- | /Optional Param/ "callback" - None -- | /Optional Param/ "callback" - None
instance HasOptionalParam TestEndpointParameters Callback where instance HasOptionalParam TestEndpointParameters Callback where
applyOptionalParam req (Callback xs) = applyOptionalParam req (Callback xs) =
req `_addForm` toForm ("callback", xs) req `addForm` toForm ("callback", xs)
-- | @application/xml; charset=utf-8@ -- | @application/xml; charset=utf-8@
instance Consumes TestEndpointParameters MimeXmlCharsetutf8 instance Consumes TestEndpointParameters MimeXmlCharsetutf8
@ -321,12 +324,12 @@ data TestEnumParameters
-- | /Optional Param/ "enum_form_string_array" - Form parameter enum test (string array) -- | /Optional Param/ "enum_form_string_array" - Form parameter enum test (string array)
instance HasOptionalParam TestEnumParameters EnumFormStringArray where instance HasOptionalParam TestEnumParameters EnumFormStringArray where
applyOptionalParam req (EnumFormStringArray xs) = 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) -- | /Optional Param/ "enum_form_string" - Form parameter enum test (string)
instance HasOptionalParam TestEnumParameters EnumFormString where instance HasOptionalParam TestEnumParameters EnumFormString where
applyOptionalParam req (EnumFormString xs) = 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) -- | /Optional Param/ "enum_header_string_array" - Header parameter enum test (string array)
instance HasOptionalParam TestEnumParameters EnumHeaderStringArray where 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) -- | /Optional Param/ "enum_query_string_array" - Query parameter enum test (string array)
instance HasOptionalParam TestEnumParameters EnumQueryStringArray where instance HasOptionalParam TestEnumParameters EnumQueryStringArray where
applyOptionalParam req (EnumQueryStringArray xs) = 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) -- | /Optional Param/ "enum_query_string" - Query parameter enum test (string)
instance HasOptionalParam TestEnumParameters EnumQueryString where instance HasOptionalParam TestEnumParameters EnumQueryString where
applyOptionalParam req (EnumQueryString xs) = 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) -- | /Optional Param/ "enum_query_integer" - Query parameter enum test (double)
instance HasOptionalParam TestEnumParameters EnumQueryInteger where instance HasOptionalParam TestEnumParameters EnumQueryInteger where
applyOptionalParam req (EnumQueryInteger xs) = 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) -- | /Optional Param/ "enum_query_double" - Query parameter enum test (double)
instance HasOptionalParam TestEnumParameters EnumQueryDouble where instance HasOptionalParam TestEnumParameters EnumQueryDouble where
applyOptionalParam req (EnumQueryDouble xs) = applyOptionalParam req (EnumQueryDouble xs) =
req `_addForm` toForm ("enum_query_double", xs) req `addForm` toForm ("enum_query_double", xs)
-- | @*/*@ -- | @*/*@
instance Consumes TestEnumParameters MimeAny instance Consumes TestEnumParameters MimeAny
@ -376,13 +379,13 @@ instance Produces TestEnumParameters MimeAny
testJsonFormData testJsonFormData
:: (Consumes TestJsonFormData contentType) :: (Consumes TestJsonFormData contentType)
=> contentType -- ^ request content-type ('MimeType') => contentType -- ^ request content-type ('MimeType')
-> Text -- ^ "param" - field1 -> Param -- ^ "param" - field1
-> Text -- ^ "param2" - field2 -> Param2 -- ^ "param2" - field2
-> SwaggerPetstoreRequest TestJsonFormData contentType NoContent -> SwaggerPetstoreRequest TestJsonFormData contentType NoContent
testJsonFormData _ param param2 = testJsonFormData _ (Param param) (Param2 param2) =
_mkRequest "GET" ["/fake/jsonFormData"] _mkRequest "GET" ["/fake/jsonFormData"]
`_addForm` toForm ("param", param) `addForm` toForm ("param", param)
`_addForm` toForm ("param2", param2) `addForm` toForm ("param2", param2)
data TestJsonFormData data TestJsonFormData
@ -398,7 +401,7 @@ instance Consumes TestJsonFormData MimeJSON
-- --
-- To test class name in snake case -- To test class name in snake case
-- --
-- AuthMethod: api_key_query -- AuthMethod: 'AuthApiKeyApiKeyQuery'
-- --
testClassname testClassname
:: (Consumes TestClassname contentType, MimeRender contentType Client) :: (Consumes TestClassname contentType, MimeRender contentType Client)
@ -408,6 +411,7 @@ testClassname
testClassname _ body = testClassname _ body =
_mkRequest "PATCH" ["/fake_classname_test"] _mkRequest "PATCH" ["/fake_classname_test"]
`setBodyParam` body `setBodyParam` body
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKeyQuery)
data TestClassname data TestClassname
@ -431,7 +435,7 @@ instance Produces TestClassname MimeJSON
-- --
-- --
-- --
-- AuthMethod: petstore_auth -- AuthMethod: 'AuthOAuthPetstoreAuth'
-- --
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
@ -443,6 +447,7 @@ addPet
addPet _ body = addPet _ body =
_mkRequest "POST" ["/pet"] _mkRequest "POST" ["/pet"]
`setBodyParam` body `setBodyParam` body
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data AddPet data AddPet
@ -468,16 +473,17 @@ instance Produces AddPet MimeJSON
-- --
-- --
-- --
-- AuthMethod: petstore_auth -- AuthMethod: 'AuthOAuthPetstoreAuth'
-- --
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
deletePet deletePet
:: Integer -- ^ "petId" - Pet id to delete :: PetId -- ^ "petId" - Pet id to delete
-> SwaggerPetstoreRequest DeletePet MimeNoContent res -> SwaggerPetstoreRequest DeletePet MimeNoContent res
deletePet petId = deletePet (PetId petId) =
_mkRequest "DELETE" ["/pet/",toPath petId] _mkRequest "DELETE" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data DeletePet data DeletePet
instance HasOptionalParam DeletePet ApiKey where instance HasOptionalParam DeletePet ApiKey where
@ -497,14 +503,15 @@ instance Produces DeletePet MimeJSON
-- --
-- Multiple status values can be provided with comma separated strings -- Multiple status values can be provided with comma separated strings
-- --
-- AuthMethod: petstore_auth -- AuthMethod: 'AuthOAuthPetstoreAuth'
-- --
findPetsByStatus 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] -> SwaggerPetstoreRequest FindPetsByStatus MimeNoContent [Pet]
findPetsByStatus status = findPetsByStatus (Status status) =
_mkRequest "GET" ["/pet/findByStatus"] _mkRequest "GET" ["/pet/findByStatus"]
`_setQuery` toQueryColl CommaSeparated ("status", Just status) `setQuery` toQueryColl CommaSeparated ("status", Just status)
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data FindPetsByStatus data FindPetsByStatus
-- | @application/xml@ -- | @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. -- Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
-- --
-- AuthMethod: petstore_auth -- AuthMethod: 'AuthOAuthPetstoreAuth'
-- --
findPetsByTags findPetsByTags
:: [Text] -- ^ "tags" - Tags to filter by :: Tags -- ^ "tags" - Tags to filter by
-> SwaggerPetstoreRequest FindPetsByTags MimeNoContent [Pet] -> SwaggerPetstoreRequest FindPetsByTags MimeNoContent [Pet]
findPetsByTags tags = findPetsByTags (Tags tags) =
_mkRequest "GET" ["/pet/findByTags"] _mkRequest "GET" ["/pet/findByTags"]
`_setQuery` toQueryColl CommaSeparated ("tags", Just tags) `setQuery` toQueryColl CommaSeparated ("tags", Just tags)
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
{-# DEPRECATED findPetsByTags "" #-} {-# DEPRECATED findPetsByTags "" #-}
@ -547,14 +555,15 @@ instance Produces FindPetsByTags MimeJSON
-- --
-- Returns a single pet -- Returns a single pet
-- --
-- AuthMethod: api_key -- AuthMethod: 'AuthApiKeyApiKey'
-- --
getPetById getPetById
:: Integer -- ^ "petId" - ID of pet to return :: PetId -- ^ "petId" - ID of pet to return
-> SwaggerPetstoreRequest GetPetById MimeNoContent Pet -> SwaggerPetstoreRequest GetPetById MimeNoContent Pet
getPetById petId = getPetById (PetId petId) =
_mkRequest "GET" ["/pet/",toPath petId] _mkRequest "GET" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
data GetPetById data GetPetById
-- | @application/xml@ -- | @application/xml@
@ -571,7 +580,7 @@ instance Produces GetPetById MimeJSON
-- --
-- --
-- --
-- AuthMethod: petstore_auth -- AuthMethod: 'AuthOAuthPetstoreAuth'
-- --
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
@ -583,6 +592,7 @@ updatePet
updatePet _ body = updatePet _ body =
_mkRequest "PUT" ["/pet"] _mkRequest "PUT" ["/pet"]
`setBodyParam` body `setBodyParam` body
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UpdatePet data UpdatePet
@ -608,30 +618,31 @@ instance Produces UpdatePet MimeJSON
-- --
-- --
-- --
-- AuthMethod: petstore_auth -- AuthMethod: 'AuthOAuthPetstoreAuth'
-- --
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
updatePetWithForm updatePetWithForm
:: (Consumes UpdatePetWithForm contentType) :: (Consumes UpdatePetWithForm contentType)
=> contentType -- ^ request content-type ('MimeType') => 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 -> SwaggerPetstoreRequest UpdatePetWithForm contentType res
updatePetWithForm _ petId = updatePetWithForm _ (PetId petId) =
_mkRequest "POST" ["/pet/",toPath petId] _mkRequest "POST" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UpdatePetWithForm data UpdatePetWithForm
-- | /Optional Param/ "name" - Updated name of the pet -- | /Optional Param/ "name" - Updated name of the pet
instance HasOptionalParam UpdatePetWithForm Name2 where instance HasOptionalParam UpdatePetWithForm Name2 where
applyOptionalParam req (Name2 xs) = applyOptionalParam req (Name2 xs) =
req `_addForm` toForm ("name", xs) req `addForm` toForm ("name", xs)
-- | /Optional Param/ "status" - Updated status of the pet -- | /Optional Param/ "status" - Updated status of the pet
instance HasOptionalParam UpdatePetWithForm Status where instance HasOptionalParam UpdatePetWithForm StatusText where
applyOptionalParam req (Status xs) = applyOptionalParam req (StatusText xs) =
req `_addForm` toForm ("status", xs) req `addForm` toForm ("status", xs)
-- | @application/x-www-form-urlencoded@ -- | @application/x-www-form-urlencoded@
instance Consumes UpdatePetWithForm MimeFormUrlEncoded instance Consumes UpdatePetWithForm MimeFormUrlEncoded
@ -650,16 +661,17 @@ instance Produces UpdatePetWithForm MimeJSON
-- --
-- --
-- --
-- AuthMethod: petstore_auth -- AuthMethod: 'AuthOAuthPetstoreAuth'
-- --
uploadFile uploadFile
:: (Consumes UploadFile contentType) :: (Consumes UploadFile contentType)
=> contentType -- ^ request content-type ('MimeType') => contentType -- ^ request content-type ('MimeType')
-> Integer -- ^ "petId" - ID of pet to update -> PetId -- ^ "petId" - ID of pet to update
-> SwaggerPetstoreRequest UploadFile contentType ApiResponse -> SwaggerPetstoreRequest UploadFile contentType ApiResponse
uploadFile _ petId = uploadFile _ (PetId petId) =
_mkRequest "POST" ["/pet/",toPath petId,"/uploadImage"] _mkRequest "POST" ["/pet/",toPath petId,"/uploadImage"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UploadFile data UploadFile
@ -693,9 +705,9 @@ instance Produces UploadFile MimeJSON
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
deleteOrder 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 -> SwaggerPetstoreRequest DeleteOrder MimeNoContent res
deleteOrder orderId = deleteOrder (OrderIdText orderId) =
_mkRequest "DELETE" ["/store/order/",toPath orderId] _mkRequest "DELETE" ["/store/order/",toPath orderId]
@ -714,12 +726,13 @@ instance Produces DeleteOrder MimeJSON
-- --
-- Returns a map of status codes to quantities -- Returns a map of status codes to quantities
-- --
-- AuthMethod: api_key -- AuthMethod: 'AuthApiKeyApiKey'
-- --
getInventory getInventory
:: SwaggerPetstoreRequest GetInventory MimeNoContent ((Map.Map String Int)) :: SwaggerPetstoreRequest GetInventory MimeNoContent ((Map.Map String Int))
getInventory = getInventory =
_mkRequest "GET" ["/store/inventory"] _mkRequest "GET" ["/store/inventory"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
data GetInventory data GetInventory
-- | @application/json@ -- | @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 -- For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
-- --
getOrderById 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 -> SwaggerPetstoreRequest GetOrderById MimeNoContent Order
getOrderById orderId = getOrderById (OrderId orderId) =
_mkRequest "GET" ["/store/order/",toPath orderId] _mkRequest "GET" ["/store/order/",toPath orderId]
@ -817,9 +830,9 @@ instance Produces CreateUser MimeJSON
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
createUsersWithArrayInput createUsersWithArrayInput
:: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType [User]) :: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType Body)
=> contentType -- ^ request content-type ('MimeType') => contentType -- ^ request content-type ('MimeType')
-> [User] -- ^ "body" - List of user object -> Body -- ^ "body" - List of user object
-> SwaggerPetstoreRequest CreateUsersWithArrayInput contentType res -> SwaggerPetstoreRequest CreateUsersWithArrayInput contentType res
createUsersWithArrayInput _ body = createUsersWithArrayInput _ body =
_mkRequest "POST" ["/user/createWithArray"] _mkRequest "POST" ["/user/createWithArray"]
@ -828,7 +841,7 @@ createUsersWithArrayInput _ body =
data CreateUsersWithArrayInput data CreateUsersWithArrayInput
-- | /Body Param/ "body" - List of user object -- | /Body Param/ "body" - List of user object
instance HasBodyParam CreateUsersWithArrayInput [User] instance HasBodyParam CreateUsersWithArrayInput Body
-- | @application/xml@ -- | @application/xml@
instance Produces CreateUsersWithArrayInput MimeXML instance Produces CreateUsersWithArrayInput MimeXML
-- | @application/json@ -- | @application/json@
@ -846,9 +859,9 @@ instance Produces CreateUsersWithArrayInput MimeJSON
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
createUsersWithListInput createUsersWithListInput
:: (Consumes CreateUsersWithListInput contentType, MimeRender contentType [User]) :: (Consumes CreateUsersWithListInput contentType, MimeRender contentType Body)
=> contentType -- ^ request content-type ('MimeType') => contentType -- ^ request content-type ('MimeType')
-> [User] -- ^ "body" - List of user object -> Body -- ^ "body" - List of user object
-> SwaggerPetstoreRequest CreateUsersWithListInput contentType res -> SwaggerPetstoreRequest CreateUsersWithListInput contentType res
createUsersWithListInput _ body = createUsersWithListInput _ body =
_mkRequest "POST" ["/user/createWithList"] _mkRequest "POST" ["/user/createWithList"]
@ -857,7 +870,7 @@ createUsersWithListInput _ body =
data CreateUsersWithListInput data CreateUsersWithListInput
-- | /Body Param/ "body" - List of user object -- | /Body Param/ "body" - List of user object
instance HasBodyParam CreateUsersWithListInput [User] instance HasBodyParam CreateUsersWithListInput Body
-- | @application/xml@ -- | @application/xml@
instance Produces CreateUsersWithListInput MimeXML instance Produces CreateUsersWithListInput MimeXML
-- | @application/json@ -- | @application/json@
@ -875,9 +888,9 @@ instance Produces CreateUsersWithListInput MimeJSON
-- Note: Has 'Produces' instances, but no response schema -- Note: Has 'Produces' instances, but no response schema
-- --
deleteUser deleteUser
:: Text -- ^ "username" - The name that needs to be deleted :: Username -- ^ "username" - The name that needs to be deleted
-> SwaggerPetstoreRequest DeleteUser MimeNoContent res -> SwaggerPetstoreRequest DeleteUser MimeNoContent res
deleteUser username = deleteUser (Username username) =
_mkRequest "DELETE" ["/user/",toPath username] _mkRequest "DELETE" ["/user/",toPath username]
@ -897,9 +910,9 @@ instance Produces DeleteUser MimeJSON
-- --
-- --
getUserByName 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 -> SwaggerPetstoreRequest GetUserByName MimeNoContent User
getUserByName username = getUserByName (Username username) =
_mkRequest "GET" ["/user/",toPath username] _mkRequest "GET" ["/user/",toPath username]
@ -919,13 +932,13 @@ instance Produces GetUserByName MimeJSON
-- --
-- --
loginUser loginUser
:: Text -- ^ "username" - The user name for login :: Username -- ^ "username" - The user name for login
-> Text -- ^ "password" - The password for login in clear text -> Password -- ^ "password" - The password for login in clear text
-> SwaggerPetstoreRequest LoginUser MimeNoContent Text -> SwaggerPetstoreRequest LoginUser MimeNoContent Text
loginUser username password = loginUser (Username username) (Password password) =
_mkRequest "GET" ["/user/login"] _mkRequest "GET" ["/user/login"]
`_setQuery` toQuery ("username", Just username) `setQuery` toQuery ("username", Just username)
`_setQuery` toQuery ("password", Just password) `setQuery` toQuery ("password", Just password)
data LoginUser data LoginUser
-- | @application/xml@ -- | @application/xml@
@ -969,10 +982,10 @@ instance Produces LogoutUser MimeJSON
updateUser updateUser
:: (Consumes UpdateUser contentType, MimeRender contentType User) :: (Consumes UpdateUser contentType, MimeRender contentType User)
=> contentType -- ^ request content-type ('MimeType') => 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 -> User -- ^ "body" - Updated user object
-> SwaggerPetstoreRequest UpdateUser contentType res -> SwaggerPetstoreRequest UpdateUser contentType res
updateUser _ username body = updateUser _ (Username username) body =
_mkRequest "PUT" ["/user/",toPath username] _mkRequest "PUT" ["/user/",toPath username]
`setBodyParam` body `setBodyParam` body
@ -1014,64 +1027,81 @@ class HasOptionalParam req param where
infixl 2 -&- infixl 2 -&-
-- * Optional Request Parameter Types -- * 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)
-- | ApiKey
newtype ApiKey = ApiKey { unApiKey :: Text } deriving (P.Eq, P.Show) 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 Name2 = Name2 { unName2 :: Text } deriving (P.Eq, P.Show)
-- | Password
newtype Status = Status { unStatus :: Text } deriving (P.Eq, P.Show) 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) 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) newtype File = File { unFile :: FilePath } deriving (P.Eq, P.Show)
-- * SwaggerPetstoreRequest -- * SwaggerPetstoreRequest
-- | Represents a request. The "req" type variable is the request type. The "res" type variable is the response type. -- | 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 { rMethod :: NH.Method -- ^ Method of SwaggerPetstoreRequest
, rUrlPath :: [BCL.ByteString] -- ^ Endpoint of SwaggerPetstoreRequest , rUrlPath :: [BCL.ByteString] -- ^ Endpoint of SwaggerPetstoreRequest
, rParams :: Params -- ^ params of SwaggerPetstoreRequest , rParams :: Params -- ^ params of SwaggerPetstoreRequest
, rAuthTypes :: [P.TypeRep] -- ^ types of auth methods
} }
deriving (P.Show) deriving (P.Show)
@ -1097,6 +1128,11 @@ rParamsL :: Lens_' (SwaggerPetstoreRequest req contentType res) Params
rParamsL f SwaggerPetstoreRequest{..} = (\rParams -> SwaggerPetstoreRequest { rParams, ..} ) <$> f rParams rParamsL f SwaggerPetstoreRequest{..} = (\rParams -> SwaggerPetstoreRequest { rParams, ..} ) <$> f rParams
{-# INLINE rParamsL #-} {-# INLINE rParamsL #-}
-- | 'rParams' Lens
rAuthTypesL :: Lens_' (SwaggerPetstoreRequest req contentType res) [P.TypeRep]
rAuthTypesL f SwaggerPetstoreRequest{..} = (\rAuthTypes -> SwaggerPetstoreRequest { rAuthTypes, ..} ) <$> f rAuthTypes
{-# INLINE rAuthTypesL #-}
-- | Request Params -- | Request Params
data Params = Params data Params = Params
{ paramsQuery :: NH.Query { paramsQuery :: NH.Query
@ -1134,7 +1170,7 @@ data ParamBody
_mkRequest :: NH.Method -- ^ Method _mkRequest :: NH.Method -- ^ Method
-> [BCL.ByteString] -- ^ Endpoint -> [BCL.ByteString] -- ^ Endpoint
-> SwaggerPetstoreRequest req contentType res -- ^ req: Request Type, res: Response Type -> 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
_mkParams = Params [] [] ParamBodyNone _mkParams = Params [] [] ParamBodyNone
@ -1166,8 +1202,8 @@ _setAcceptHeader req accept =
Just m -> req `setHeader` [("accept", BC.pack $ P.show m)] Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]
Nothing -> req `removeHeader` ["accept"] Nothing -> req `removeHeader` ["accept"]
_setQuery :: SwaggerPetstoreRequest req contentType res -> [NH.QueryItem] -> SwaggerPetstoreRequest req contentType res setQuery :: SwaggerPetstoreRequest req contentType res -> [NH.QueryItem] -> SwaggerPetstoreRequest req contentType res
_setQuery req query = setQuery req query =
req & req &
L.over L.over
(rParamsL . paramsQueryL) (rParamsL . paramsQueryL)
@ -1175,8 +1211,8 @@ _setQuery req query =
where where
cifst = CI.mk . P.fst cifst = CI.mk . P.fst
_addForm :: SwaggerPetstoreRequest req contentType res -> WH.Form -> SwaggerPetstoreRequest req contentType res addForm :: SwaggerPetstoreRequest req contentType res -> WH.Form -> SwaggerPetstoreRequest req contentType res
_addForm req newform = addForm req newform =
let form = case paramsBody (rParams req) of let form = case paramsBody (rParams req) of
ParamBodyFormUrlEncoded _form -> _form ParamBodyFormUrlEncoded _form -> _form
_ -> mempty _ -> mempty
@ -1197,6 +1233,9 @@ _setBodyLBS :: SwaggerPetstoreRequest req contentType res -> BL.ByteString -> Sw
_setBodyLBS req body = _setBodyLBS req body =
req & L.set (rParamsL . paramsBodyL) (ParamBodyBL 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 -- ** Params Utils
@ -1261,3 +1300,60 @@ _toCollA' c encode one xs = case c of
{-# INLINE expandList #-} {-# INLINE expandList #-}
{-# INLINE combine #-} {-# 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 , configUserAgent :: Text -- ^ user-agent supplied in the Request
, configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance , configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance
, configLogContext :: LogContext -- ^ Configures the logger , configLogContext :: LogContext -- ^ Configures the logger
, configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods
} }
-- | display the config -- | display the config
@ -96,13 +97,21 @@ newConfig = do
, configUserAgent = "swagger-haskell-http-client/1.0.0" , configUserAgent = "swagger-haskell-http-client/1.0.0"
, configLogExecWithContext = runDefaultLogExecWithContext , configLogExecWithContext = runDefaultLogExecWithContext
, configLogContext = logCxt , 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 :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
withStdoutLogging p = do withStdoutLogging p = do
logCxt <- stdoutLoggingContext (configLogContext p) logCxt <- stdoutLoggingContext (configLogContext p)
return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt } return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }
-- | updates the config to use stderr logging
withStderrLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig withStderrLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
withStderrLogging p = do withStderrLogging p = do
logCxt <- stderrLoggingContext (configLogContext p) logCxt <- stderrLoggingContext (configLogContext p)
@ -235,7 +244,9 @@ _toInitRequest
-> IO (InitRequest req contentType res accept) -- ^ initialized request -> IO (InitRequest req contentType res accept) -- ^ initialized request
_toInitRequest config req0 accept = do _toInitRequest config req0 accept = do
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0)) 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) reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (rParams req1)
reqQuery = NH.renderQuery True (paramsQuery (rParams req1)) reqQuery = NH.renderQuery True (paramsQuery (rParams req1))
pReq = parsedReq { NH.method = (rMethod req1) pReq = parsedReq { NH.method = (rMethod req1)
@ -251,6 +262,16 @@ _toInitRequest config req0 accept = do
pure (InitRequest outReq) 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 -- | modify the underlying Request
modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept
modifyInitRequest (InitRequest req) f = InitRequest (f req) modifyInitRequest (InitRequest req) f = InitRequest (f req)

View File

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

View File

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

View File

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

View File

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

View File

@ -49,17 +49,24 @@ main = do
env <- getEnvironment env <- getEnvironment
let host = case lookup "HOST" env of mgr <- NH.newManager NH.defaultManagerSettings
Just h -> BCL.pack h
_ -> "http://0.0.0.0/v2"
config0 <- S.withStdoutLogging =<< S.newConfig 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 "\n******** CONFIG ********"
putStrLn (show config) putStrLn (show config)
mgr <- NH.newManager NH.defaultManagerSettings
hspec $ do hspec $ do
testPetOps mgr config testPetOps mgr config
@ -91,7 +98,7 @@ testPetOps mgr config =
Just pet@S.Pet {S.petId = Just petId} -> go (petId, pet) Just pet@S.Pet {S.petId = Just petId} -> go (petId, pet)
_ -> pendingWith "no petId") $ _ -> pendingWith "no petId") $
it "getPetById" $ \(petId, pet) -> do 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 getPetByIdRequestResult <- S.dispatchMime mgr config getPetByIdRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse getPetByIdRequestResult) `shouldBe` NH.status200 NH.responseStatus (S.mimeResultResponse getPetByIdRequestResult) `shouldBe` NH.status200
case S.mimeResult getPetByIdRequestResult of case S.mimeResult getPetByIdRequestResult of
@ -99,7 +106,7 @@ testPetOps mgr config =
Left (S.MimeError e _) -> assertFailure e Left (S.MimeError e _) -> assertFailure e
it "findPetsByStatus" $ do 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 findPetsByStatusResult <- S.dispatchMime mgr config findPetsByStatusRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse findPetsByStatusResult) `shouldBe` NH.status200 NH.responseStatus (S.mimeResultResponse findPetsByStatusResult) `shouldBe` NH.status200
case S.mimeResult findPetsByStatusResult of case S.mimeResult findPetsByStatusResult of
@ -107,7 +114,7 @@ testPetOps mgr config =
Left (S.MimeError e _) -> assertFailure e Left (S.MimeError e _) -> assertFailure e
it "findPetsByTags" $ do 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 findPetsByTagsResult <- S.dispatchMime mgr config findPetsByTagsRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse findPetsByTagsResult) `shouldBe` NH.status200 NH.responseStatus (S.mimeResultResponse findPetsByTagsResult) `shouldBe` NH.status200
case S.mimeResult findPetsByTagsResult of case S.mimeResult findPetsByTagsResult of
@ -129,9 +136,9 @@ testPetOps mgr config =
it "updatePetWithFormRequest" $ do it "updatePetWithFormRequest" $ do
readIORef _pet >>= \case readIORef _pet >>= \case
Just S.Pet {S.petId = Just petId} -> do 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.Name2 "petName"
`S.applyOptionalParam` S.Status "pending" `S.applyOptionalParam` S.StatusText "pending"
updatePetWithFormResponse <- S.dispatchLbs mgr config updatePetWithFormRequest S.MimeJSON updatePetWithFormResponse <- S.dispatchLbs mgr config updatePetWithFormRequest S.MimeJSON
NH.responseStatus updatePetWithFormResponse `shouldBe` NH.status200 NH.responseStatus updatePetWithFormResponse `shouldBe` NH.status200
_ -> pendingWith "no pet" _ -> pendingWith "no pet"
@ -141,7 +148,7 @@ testPetOps mgr config =
Just pet@S.Pet {S.petId = Just petId} -> go petId Just pet@S.Pet {S.petId = Just petId} -> go petId
_ -> pendingWith "no petId") $ _ -> pendingWith "no petId") $
it "uploadFile" $ \petId -> do 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.File "package.yaml"
`S.applyOptionalParam` S.AdditionalMetadata "a package.yaml file" `S.applyOptionalParam` S.AdditionalMetadata "a package.yaml file"
uploadFileRequestResult <- S.dispatchMime mgr config uploadFileRequest S.MimeJSON 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 Just pet@S.Pet {S.petId = Just petId} -> go petId
_ -> pendingWith "no petId") $ _ -> pendingWith "no petId") $
it "deletePet" $ \petId -> do it "deletePet" $ \petId -> do
let deletePetRequest = S.deletePet petId let deletePetRequest = S.deletePet (S.PetId petId)
`S.applyOptionalParam` S.ApiKey "api key" `S.applyOptionalParam` S.ApiKey "api key"
deletePetResponse <- S.dispatchLbs mgr config deletePetRequest S.MimeJSON deletePetResponse <- S.dispatchLbs mgr config deletePetRequest S.MimeJSON
NH.responseStatus deletePetResponse `shouldBe` NH.status200 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) Just order@S.Order {S.orderId = Just orderId} -> go (orderId, order)
_ -> pendingWith "no orderId") $ _ -> pendingWith "no orderId") $
it "getOrderById" $ \(orderId, order) -> do 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 getOrderByIdRequestResult <- S.dispatchMime mgr config getOrderByIdRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse getOrderByIdRequestResult) `shouldBe` NH.status200 NH.responseStatus (S.mimeResultResponse getOrderByIdRequestResult) `shouldBe` NH.status200
case S.mimeResult getOrderByIdRequestResult of 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)) Just S.Order {S.orderId = Just orderId} -> go (T.pack (show orderId))
_ -> pendingWith "no orderId") $ _ -> pendingWith "no orderId") $
it "deleteOrder" $ \orderId -> do it "deleteOrder" $ \orderId -> do
let deleteOrderRequest = S.deleteOrder orderId let deleteOrderRequest = S.deleteOrder (S.OrderIdText orderId)
deleteOrderResult <- S.dispatchLbs mgr config deleteOrderRequest S.MimeJSON deleteOrderResult <- S.dispatchLbs mgr config deleteOrderRequest S.MimeJSON
NH.responseStatus deleteOrderResult `shouldBe` NH.status200 NH.responseStatus deleteOrderResult `shouldBe` NH.status200
@ -249,19 +256,19 @@ testUserOps mgr config = do
before (pure _users) $ before (pure _users) $
it "createUsersWithArrayInput" $ \users -> do 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 createUsersWithArrayInputResult <- S.dispatchLbs mgr config createUsersWithArrayInputRequest S.MimeNoContent
NH.responseStatus createUsersWithArrayInputResult `shouldBe` NH.status200 NH.responseStatus createUsersWithArrayInputResult `shouldBe` NH.status200
before (pure _users) $ before (pure _users) $
it "createUsersWithListInput" $ \users -> do 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 createUsersWithListInputResult <- S.dispatchLbs mgr config createUsersWithListInputRequest S.MimeNoContent
NH.responseStatus createUsersWithListInputResult `shouldBe` NH.status200 NH.responseStatus createUsersWithListInputResult `shouldBe` NH.status200
before (pure (_username, _user)) $ before (pure (_username, _user)) $
it "getUserByName" $ \(username, user) -> do 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 getUserByNameResult <- S.dispatchMime mgr config getUserByNameRequest S.MimeJSON
NH.responseStatus (S.mimeResultResponse getUserByNameResult) `shouldBe` NH.status200 NH.responseStatus (S.mimeResultResponse getUserByNameResult) `shouldBe` NH.status200
case S.mimeResult getUserByNameResult of case S.mimeResult getUserByNameResult of
@ -270,13 +277,13 @@ testUserOps mgr config = do
before (pure (_username, _password)) $ before (pure (_username, _password)) $
it "loginUser" $ \(username, password) -> do 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 loginUserResult <- S.dispatchLbs mgr config loginUserRequest S.MimeJSON
NH.responseStatus loginUserResult `shouldBe` NH.status200 NH.responseStatus loginUserResult `shouldBe` NH.status200
before (pure (_username, _user)) $ before (pure (_username, _user)) $
it "updateUser" $ \(username, user) -> do 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 updateUserResult <- S.dispatchLbs mgr config updateUserRequest S.MimeJSON
NH.responseStatus updateUserResult `shouldBe` NH.status200 NH.responseStatus updateUserResult `shouldBe` NH.status200
@ -286,6 +293,6 @@ testUserOps mgr config = do
before (pure _username) $ before (pure _username) $
it "deleteUser" $ \username -> do it "deleteUser" $ \username -> do
let deleteUserRequest = S.deleteUser username let deleteUserRequest = S.deleteUser (S.Username username)
deleteUserResult <- S.dispatchLbs mgr config deleteUserRequest S.MimeJSON deleteUserResult <- S.dispatchLbs mgr config deleteUserRequest S.MimeJSON
NH.responseStatus deleteUserResult `shouldBe` NH.status200 NH.responseStatus deleteUserResult `shouldBe` NH.status200

View File

@ -2,20 +2,23 @@
module Instances where module Instances where
import Data.Text (Text, pack) import Control.Monad
import Data.Char (isSpace) import Data.Char (isSpace)
import Data.List (sort) import Data.List (sort)
import qualified Data.Time as TI
import Test.QuickCheck 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.HashMap.Strict as HM
import qualified Data.Set as Set 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 ApproxEq
import SwaggerPetstore.Model import SwaggerPetstore.Model
instance Arbitrary Text where instance Arbitrary T.Text where
arbitrary = pack <$> arbitrary arbitrary = T.pack <$> arbitrary
instance Arbitrary TI.Day where instance Arbitrary TI.Day where
arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary
@ -45,6 +48,27 @@ instance Arbitrary Date where
arbitrary = Date <$> arbitrary arbitrary = Date <$> arbitrary
shrink (Date xs) = Date <$> shrink xs 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)_. -- | Checks if a given list has no duplicates in _O(n log n)_.
hasNoDups hasNoDups
:: (Ord a) :: (Ord a)

View File

@ -17,9 +17,10 @@ import SwaggerPetstore.MimeTypes
main :: IO () main :: IO ()
main = main =
hspec $ modifyMaxSize (const 10) $ hspec $ modifyMaxSize (const 10) $ do
do describe "JSON instances" $ describe "JSON instances" $ do
do propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass) pure ()
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass)
propMimeEq MimeJSON (Proxy :: Proxy Animal) propMimeEq MimeJSON (Proxy :: Proxy Animal)
propMimeEq MimeJSON (Proxy :: Proxy AnimalFarm) propMimeEq MimeJSON (Proxy :: Proxy AnimalFarm)
propMimeEq MimeJSON (Proxy :: Proxy ApiResponse) propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)