forked from loafle/openapi-generator-original
[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:
@@ -5,15 +5,14 @@ import io.swagger.models.Model;
|
||||
import io.swagger.models.ModelImpl;
|
||||
import io.swagger.models.Operation;
|
||||
import io.swagger.models.Swagger;
|
||||
import io.swagger.models.properties.ArrayProperty;
|
||||
import io.swagger.models.properties.MapProperty;
|
||||
import io.swagger.models.properties.Property;
|
||||
import io.swagger.models.properties.*;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import io.swagger.models.auth.SecuritySchemeDefinition;
|
||||
import io.swagger.codegen.CliOption;
|
||||
import io.swagger.codegen.CodegenConstants;
|
||||
import io.swagger.codegen.CodegenModel;
|
||||
@@ -26,6 +25,7 @@ import java.io.IOException;
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.StringEscapeUtils;
|
||||
import org.apache.commons.lang3.text.WordUtils;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
@@ -65,8 +65,8 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
static final String MEDIA_IS_JSON = "x-mediaIsJson";
|
||||
|
||||
|
||||
protected Map<String, CodegenParameter> uniqueOptionalParamsByName = new HashMap<String, CodegenParameter>();
|
||||
protected Map<String, CodegenModel> modelNames = new HashMap<String, CodegenModel>();
|
||||
protected Map<String, CodegenParameter> uniqueParamsByName = new HashMap<String, CodegenParameter>();
|
||||
protected Set<String> typeNames = new HashSet<String>();
|
||||
protected Map<String, Map<String,String>> allMimeTypes = new HashMap<String, Map<String,String>>();
|
||||
protected Map<String, String> knownMimeDataTypes = new HashMap<String, String>();
|
||||
protected Map<String, Set<String>> modelMimeTypes = new HashMap<String, Set<String>>();
|
||||
@@ -466,42 +466,49 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
public CodegenOperation fromOperation(String resourcePath, String httpMethod, Operation operation, Map<String, Model> definitions, Swagger swagger) {
|
||||
CodegenOperation op = super.fromOperation(resourcePath, httpMethod, operation, definitions, swagger);
|
||||
|
||||
op.vendorExtensions.put("x-baseOperationId", op.operationId);
|
||||
// prevent aliasing/sharing of operation.vendorExtensions reference
|
||||
op.vendorExtensions = new LinkedHashMap();
|
||||
|
||||
String operationType = toTypeName("Op", op.operationId);
|
||||
op.vendorExtensions.put("x-operationType", operationType);
|
||||
typeNames.add(operationType);
|
||||
|
||||
op.vendorExtensions.put("x-haddockPath", String.format("%s %s", op.httpMethod, op.path.replace("/", "\\/")));
|
||||
op.operationId = toVarName(op.operationId);
|
||||
op.vendorExtensions.put("x-operationType", toTypeName("Op", op.operationId));
|
||||
op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams());
|
||||
|
||||
for (CodegenParameter param : op.allParams) {
|
||||
param.vendorExtensions.put("x-operationType", WordUtils.capitalize(op.operationId));
|
||||
param.vendorExtensions = new LinkedHashMap(); // prevent aliasing/sharing
|
||||
param.vendorExtensions.put("x-operationType", operationType);
|
||||
param.vendorExtensions.put("x-isBodyOrFormParam", param.isBodyParam || param.isFormParam);
|
||||
if (!StringUtils.isBlank(param.collectionFormat)) {
|
||||
param.vendorExtensions.put("x-collectionFormat", mapCollectionFormat(param.collectionFormat));
|
||||
}
|
||||
if (!param.required) {
|
||||
if(!param.required) {
|
||||
op.vendorExtensions.put("x-hasOptionalParams", true);
|
||||
|
||||
}
|
||||
if (typeMapping.containsKey(param.dataType) || param.isPrimitiveType || param.isListContainer || param.isMapContainer || param.isFile) {
|
||||
String paramNameType = toTypeName("Param", param.paramName);
|
||||
|
||||
if (uniqueOptionalParamsByName.containsKey(paramNameType)) {
|
||||
CodegenParameter lastParam = this.uniqueOptionalParamsByName.get(paramNameType);
|
||||
if (uniqueParamsByName.containsKey(paramNameType)) {
|
||||
CodegenParameter lastParam = this.uniqueParamsByName.get(paramNameType);
|
||||
if (lastParam.dataType != null && lastParam.dataType.equals(param.dataType)) {
|
||||
param.vendorExtensions.put("x-duplicate", true);
|
||||
} else {
|
||||
paramNameType = paramNameType + param.dataType;
|
||||
while (modelNames.containsKey(paramNameType)) {
|
||||
while (typeNames.contains(paramNameType)) {
|
||||
paramNameType = generateNextName(paramNameType);
|
||||
}
|
||||
uniqueParamsByName.put(paramNameType, param);
|
||||
}
|
||||
} else {
|
||||
while (modelNames.containsKey(paramNameType)) {
|
||||
while (typeNames.contains(paramNameType)) {
|
||||
paramNameType = generateNextName(paramNameType);
|
||||
}
|
||||
uniqueOptionalParamsByName.put(paramNameType, param);
|
||||
uniqueParamsByName.put(paramNameType, param);
|
||||
}
|
||||
|
||||
param.vendorExtensions.put("x-paramNameType", paramNameType);
|
||||
op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams());
|
||||
typeNames.add(paramNameType);
|
||||
}
|
||||
}
|
||||
if (op.getHasPathParams()) {
|
||||
@@ -573,6 +580,17 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
return op;
|
||||
}
|
||||
|
||||
public List<CodegenSecurity> fromSecurity(Map<String, SecuritySchemeDefinition> schemes) {
|
||||
List<CodegenSecurity> secs = super.fromSecurity(schemes);
|
||||
for(CodegenSecurity sec : secs) {
|
||||
String prefix = "";
|
||||
if(sec.isBasic) prefix = "AuthBasic";
|
||||
if(sec.isApiKey) prefix = "AuthApiKey";
|
||||
if(sec.isOAuth) prefix = "AuthOAuth";
|
||||
sec.name = prefix + toTypeName("",sec.name);
|
||||
}
|
||||
return secs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> postProcessOperations(Map<String, Object> objs) {
|
||||
@@ -586,6 +604,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
|
||||
additionalProperties.put("x-hasUnknownMimeTypes", !unknownMimeTypes.isEmpty());
|
||||
additionalProperties.put("x-unknownMimeTypes", unknownMimeTypes);
|
||||
additionalProperties.put("x-allUniqueParams", uniqueParamsByName.values());
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -619,12 +638,13 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
public CodegenModel fromModel(String name, Model mod, Map<String, Model> allDefinitions) {
|
||||
CodegenModel model = super.fromModel(name, mod, allDefinitions);
|
||||
|
||||
while (uniqueOptionalParamsByName.containsKey(model.classname)) {
|
||||
while (typeNames.contains(model.classname)) {
|
||||
model.classname = generateNextName(model.classname);
|
||||
}
|
||||
typeNames.add(model.classname);
|
||||
|
||||
// From the model name, compute the prefix for the fields.
|
||||
String prefix = WordUtils.uncapitalize(model.classname);
|
||||
String prefix = StringUtils.uncapitalize(model.classname);
|
||||
for (CodegenProperty prop : model.vars) {
|
||||
prop.name = toVarName(prefix, prop.name);
|
||||
}
|
||||
@@ -635,7 +655,6 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
return model;
|
||||
}
|
||||
|
||||
modelNames.put(model.classname, model);
|
||||
return model;
|
||||
}
|
||||
|
||||
@@ -674,6 +693,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
if(StringUtils.isBlank(mediaType)) return;
|
||||
|
||||
String mimeType = getMimeDataType(mediaType);
|
||||
typeNames.add(mimeType);
|
||||
m.put(MEDIA_DATA_TYPE, mimeType);
|
||||
if (isJsonMimeType(mediaType)) {
|
||||
m.put(MEDIA_IS_JSON, "true");
|
||||
@@ -761,6 +781,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toVarName(String name) {
|
||||
return toVarName("", name);
|
||||
@@ -794,8 +815,28 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
return toTypeName("Model", name);
|
||||
}
|
||||
public String toTypeName(String prefix, String name) {
|
||||
name = camelize(underscore(sanitizeName(name)));
|
||||
|
||||
name = escapeIdentifier(prefix, camelize(sanitizeName(name)));
|
||||
return name;
|
||||
}
|
||||
@Override
|
||||
public String toOperationId(String operationId) {
|
||||
if (StringUtils.isEmpty(operationId)) {
|
||||
throw new RuntimeException("Empty method/operation name (operationId) not allowed");
|
||||
}
|
||||
operationId = escapeIdentifier("op",camelize(sanitizeName(operationId), true));
|
||||
String uniqueName = operationId;
|
||||
String uniqueNameType = toTypeName("Op", operationId);
|
||||
while (typeNames.contains(uniqueNameType)) {
|
||||
uniqueName = generateNextName(uniqueName);
|
||||
uniqueNameType = toTypeName("Op", uniqueName);
|
||||
}
|
||||
typeNames.add(uniqueNameType);
|
||||
if(!operationId.equals(uniqueName)) {
|
||||
LOGGER.warn("generated unique operationId `" + uniqueName + "`");
|
||||
}
|
||||
return uniqueName;
|
||||
}
|
||||
public String escapeIdentifier(String prefix, String name) {
|
||||
if(StringUtils.isBlank(prefix)) return name;
|
||||
|
||||
if (isReservedWord(name)) {
|
||||
@@ -815,4 +856,65 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
|
||||
static boolean isJsonMimeType(String mime) {
|
||||
return mime != null && JSON_MIME_PATTERN.matcher(mime).matches();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toDefaultValue(Property p) {
|
||||
if (p instanceof StringProperty) {
|
||||
StringProperty dp = (StringProperty) p;
|
||||
if (dp.getDefault() != null) {
|
||||
return "\"" + escapeText(dp.getDefault()) + "\"";
|
||||
}
|
||||
} else if (p instanceof BooleanProperty) {
|
||||
BooleanProperty dp = (BooleanProperty) p;
|
||||
if (dp.getDefault() != null) {
|
||||
if (dp.getDefault().toString().equalsIgnoreCase("false"))
|
||||
return "False";
|
||||
else
|
||||
return "True";
|
||||
}
|
||||
} else if (p instanceof DoubleProperty) {
|
||||
DoubleProperty dp = (DoubleProperty) p;
|
||||
if (dp.getDefault() != null) {
|
||||
return dp.getDefault().toString();
|
||||
}
|
||||
} else if (p instanceof FloatProperty) {
|
||||
FloatProperty dp = (FloatProperty) p;
|
||||
if (dp.getDefault() != null) {
|
||||
return dp.getDefault().toString();
|
||||
}
|
||||
} else if (p instanceof IntegerProperty) {
|
||||
IntegerProperty dp = (IntegerProperty) p;
|
||||
if (dp.getDefault() != null) {
|
||||
return dp.getDefault().toString();
|
||||
}
|
||||
} else if (p instanceof LongProperty) {
|
||||
LongProperty dp = (LongProperty) p;
|
||||
if (dp.getDefault() != null) {
|
||||
return dp.getDefault().toString();
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// override with any special text escaping logic
|
||||
@SuppressWarnings("static-method")
|
||||
public String escapeText(String input) {
|
||||
if (input == null) {
|
||||
return input;
|
||||
}
|
||||
|
||||
// remove \t, \n, \r
|
||||
// replace \ with \\
|
||||
// replace " with \"
|
||||
// outter unescape to retain the original multi-byte characters
|
||||
// finally escalate characters avoiding code injection
|
||||
return escapeUnsafeCharacters(
|
||||
StringEscapeUtils.unescapeJava(
|
||||
StringEscapeUtils.escapeJava(input)
|
||||
.replace("\\/", "/"))
|
||||
.replaceAll("[\\t\\n\\r]"," ")
|
||||
.replace("\\", "\\\\")
|
||||
.replace("\"", "\\\""));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,16 +3,17 @@
|
||||
Module : {{title}}.API
|
||||
-}
|
||||
|
||||
{-# LANGUAGE RecordWildCards #-}
|
||||
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE ScopedTypeVariables #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE ConstraintKinds #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
||||
{-# LANGUAGE InstanceSigs #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE RecordWildCards #-}
|
||||
{-# LANGUAGE ScopedTypeVariables #-}
|
||||
{-# LANGUAGE ExistentialQuantification #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module {{title}}.API where
|
||||
@@ -31,6 +32,7 @@ import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.ByteString.Builder as BB
|
||||
import qualified Data.ByteString.Char8 as BC
|
||||
import qualified Data.ByteString.Lazy.Char8 as BCL
|
||||
import qualified Data.ByteString.Base64 as B64
|
||||
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
@@ -40,7 +42,7 @@ import qualified Web.HttpApiData as WH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
|
||||
import qualified Data.CaseInsensitive as CI
|
||||
import qualified Data.Data as P (Typeable)
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Set as Set
|
||||
@@ -76,30 +78,31 @@ import qualified Prelude as P
|
||||
-- {{/summary}}{{#notes}}
|
||||
-- {{{.}}}
|
||||
-- {{/notes}}{{#hasAuthMethods}}
|
||||
-- AuthMethod: {{#authMethods}}{{{name}}}{{#hasMore}}, {{/hasMore}}{{/authMethods}}
|
||||
-- AuthMethod: {{#authMethods}}'{{{name}}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}
|
||||
-- {{/hasAuthMethods}}{{#vendorExtensions.x-hasUnknownReturn}}
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
-- {{/vendorExtensions.x-hasUnknownReturn}}
|
||||
{{operationId}}
|
||||
:: {{#vendorExtensions.x-hasBodyOrFormParam}}(Consumes {{{vendorExtensions.x-operationType}}} contentType{{#allParams}}{{#isBodyParam}}{{#required}}, MimeRender contentType {{dataType}}{{/required}}{{/isBodyParam}}{{/allParams}})
|
||||
:: {{#vendorExtensions.x-hasBodyOrFormParam}}(Consumes {{{vendorExtensions.x-operationType}}} contentType{{#allParams}}{{#isBodyParam}}{{#required}}, MimeRender contentType {{#vendorExtensions.x-paramNameType}}{{{.}}}{{/vendorExtensions.x-paramNameType}}{{^vendorExtensions.x-paramNameType}}{{{dataType}}}{{/vendorExtensions.x-paramNameType}}{{/required}}{{/isBodyParam}}{{/allParams}})
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{dataType}} -- ^ "{{{paramName}}}"{{#description}} - {{/description}} {{{description}}}
|
||||
-> {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{#vendorExtensions.x-paramNameType}}{{{.}}}{{/vendorExtensions.x-paramNameType}}{{^vendorExtensions.x-paramNameType}}{{{dataType}}}{{/vendorExtensions.x-paramNameType}} -- ^ "{{{paramName}}}"{{#description}} - {{/description}} {{{description}}}
|
||||
-> {{/required}}{{/allParams}}{{requestType}} {{{vendorExtensions.x-operationType}}} {{#vendorExtensions.x-hasBodyOrFormParam}}contentType{{/vendorExtensions.x-hasBodyOrFormParam}}{{^vendorExtensions.x-hasBodyOrFormParam}}MimeNoContent{{/vendorExtensions.x-hasBodyOrFormParam}} {{vendorExtensions.x-returnType}}
|
||||
{{operationId}} {{#vendorExtensions.x-hasBodyOrFormParam}}_ {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{{paramName}}} {{/required}}{{/allParams}}=
|
||||
{{operationId}} {{#vendorExtensions.x-hasBodyOrFormParam}}_ {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{#isBodyParam}}{{{paramName}}}{{/isBodyParam}}{{^isBodyParam}}({{{vendorExtensions.x-paramNameType}}} {{{paramName}}}){{/isBodyParam}} {{/required}}{{/allParams}}=
|
||||
_mkRequest "{{httpMethod}}" [{{#pathParams}}{{#vendorExtensions.x-pathPrefix}}"{{.}}",{{/vendorExtensions.x-pathPrefix}}toPath {{{paramName}}}{{#hasMore}},{{/hasMore}}{{/pathParams}}{{#vendorExtensions.x-pathSuffix}}{{#vendorExtensions.x-hasPathParams}},{{/vendorExtensions.x-hasPathParams}}"{{.}}"{{/vendorExtensions.x-pathSuffix}}]{{#allParams}}{{#required}}
|
||||
{{#isHeaderParam}}`setHeader` {{>_headerColl}} ("{{{baseName}}}", {{{paramName}}}){{/isHeaderParam}}{{#isQueryParam}}`_setQuery` {{>_queryColl}} ("{{{baseName}}}", Just {{{paramName}}}){{/isQueryParam}}{{#isFormParam}}{{#isFile}}`_addMultiFormPart` NH.partFileSource "{{{baseName}}}" {{{paramName}}}{{/isFile}}{{^isFile}}{{#isMultipart}}`_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData {{{paramName}}}){{/isMultipart}}{{^isMultipart}}`_addForm` {{>_formColl}} ("{{{baseName}}}", {{{paramName}}}){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{#isBodyParam}}`setBodyParam` {{{paramName}}}{{/isBodyParam}}{{/required}}{{/allParams}}{{#isDeprecated}}
|
||||
{{#isHeaderParam}}`setHeader` {{>_headerColl}} ("{{{baseName}}}", {{{paramName}}}){{/isHeaderParam}}{{#isQueryParam}}`setQuery` {{>_queryColl}} ("{{{baseName}}}", Just {{{paramName}}}){{/isQueryParam}}{{#isFormParam}}{{#isFile}}`_addMultiFormPart` NH.partFileSource "{{{baseName}}}" {{{paramName}}}{{/isFile}}{{^isFile}}{{#isMultipart}}`_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData {{{paramName}}}){{/isMultipart}}{{^isMultipart}}`addForm` {{>_formColl}} ("{{{baseName}}}", {{{paramName}}}){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{#isBodyParam}}`setBodyParam` {{{paramName}}}{{/isBodyParam}}{{/required}}{{/allParams}}{{#authMethods}}
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy {{name}}){{/authMethods}}{{#isDeprecated}}
|
||||
|
||||
{-# DEPRECATED {{operationId}} "" #-}{{/isDeprecated}}
|
||||
|
||||
data {{{vendorExtensions.x-operationType}}} {{#allParams}}{{#isBodyParam}}{{#description}}
|
||||
|
||||
-- | /Body Param/ "{{{baseName}}}" - {{{description}}}{{/description}}
|
||||
instance HasBodyParam {{{vendorExtensions.x-operationType}}} {{{dataType}}}{{/isBodyParam}}{{/allParams}} {{#vendorExtensions.x-hasOptionalParams}}{{#allParams}}{{^isBodyParam}}{{^required}}{{#description}}
|
||||
instance HasBodyParam {{{vendorExtensions.x-operationType}}} {{#vendorExtensions.x-paramNameType}}{{{.}}}{{/vendorExtensions.x-paramNameType}}{{^vendorExtensions.x-paramNameType}}{{{dataType}}}{{/vendorExtensions.x-paramNameType}}{{/isBodyParam}}{{/allParams}} {{#vendorExtensions.x-hasOptionalParams}}{{#allParams}}{{^isBodyParam}}{{^required}}{{#description}}
|
||||
|
||||
-- | /Optional Param/ "{{{baseName}}}" - {{{description}}}{{/description}}
|
||||
instance HasOptionalParam {{{vendorExtensions.x-operationType}}} {{{vendorExtensions.x-paramNameType}}} where
|
||||
applyOptionalParam req ({{{vendorExtensions.x-paramNameType}}} xs) =
|
||||
{{#isHeaderParam}}req `setHeader` {{>_headerColl}} ("{{{baseName}}}", xs){{/isHeaderParam}}{{#isQueryParam}}req `_setQuery` {{>_queryColl}} ("{{{baseName}}}", Just xs){{/isQueryParam}}{{#isFormParam}}{{#isFile}}req `_addMultiFormPart` NH.partFileSource "{{{baseName}}}" xs{{/isFile}}{{^isFile}}{{#isMultipart}}req `_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData xs){{/isMultipart}}{{^isMultipart}}req `_addForm` {{>_formColl}} ("{{{baseName}}}", xs){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{/required}}{{/isBodyParam}}{{/allParams}}{{/vendorExtensions.x-hasOptionalParams}}{{#hasConsumes}}
|
||||
{{#isHeaderParam}}req `setHeader` {{>_headerColl}} ("{{{baseName}}}", xs){{/isHeaderParam}}{{#isQueryParam}}req `setQuery` {{>_queryColl}} ("{{{baseName}}}", Just xs){{/isQueryParam}}{{#isFormParam}}{{#isFile}}req `_addMultiFormPart` NH.partFileSource "{{{baseName}}}" xs{{/isFile}}{{^isFile}}{{#isMultipart}}req `_addMultiFormPart` NH.partLBS "{{{baseName}}}" (mimeRender' MimeMultipartFormData xs){{/isMultipart}}{{^isMultipart}}req `addForm` {{>_formColl}} ("{{{baseName}}}", xs){{/isMultipart}}{{/isFile}}{{/isFormParam}}{{/required}}{{/isBodyParam}}{{/allParams}}{{/vendorExtensions.x-hasOptionalParams}}{{#hasConsumes}}
|
||||
|
||||
{{#consumes}}-- | @{{{mediaType}}}@
|
||||
instance Consumes {{{vendorExtensions.x-operationType}}} {{{x-mediaDataType}}}
|
||||
@@ -135,11 +138,12 @@ class HasOptionalParam req param where
|
||||
|
||||
infixl 2 -&-
|
||||
|
||||
-- * Optional Request Parameter Types
|
||||
-- * Request Parameter Types
|
||||
|
||||
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}{{#vendorExtensions.x-hasOptionalParams}}{{#allParams}}{{^required}}{{^vendorExtensions.x-duplicate}}
|
||||
newtype {{{vendorExtensions.x-paramNameType}}} = {{{vendorExtensions.x-paramNameType}}} { un{{{vendorExtensions.x-paramNameType}}} :: {{{dataType}}} } deriving (P.Eq, P.Show)
|
||||
{{/vendorExtensions.x-duplicate}}{{/required}}{{/allParams}}{{/vendorExtensions.x-hasOptionalParams}}{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
|
||||
{{#x-allUniqueParams}}
|
||||
-- | {{{vendorExtensions.x-paramNameType}}}
|
||||
newtype {{{vendorExtensions.x-paramNameType}}} = {{{vendorExtensions.x-paramNameType}}} { un{{{vendorExtensions.x-paramNameType}}} :: {{{dataType}}} } deriving (P.Eq, P.Show{{#isBodyParam}}, A.ToJSON{{/isBodyParam}})
|
||||
{{/x-allUniqueParams}}
|
||||
|
||||
-- * {{requestType}}
|
||||
|
||||
@@ -148,6 +152,7 @@ data {{requestType}} req contentType res = {{requestType}}
|
||||
{ rMethod :: NH.Method -- ^ Method of {{requestType}}
|
||||
, rUrlPath :: [BCL.ByteString] -- ^ Endpoint of {{requestType}}
|
||||
, rParams :: Params -- ^ params of {{requestType}}
|
||||
, rAuthTypes :: [P.TypeRep] -- ^ types of auth methods
|
||||
}
|
||||
deriving (P.Show)
|
||||
|
||||
@@ -166,6 +171,11 @@ rParamsL :: Lens_' ({{requestType}} req contentType res) Params
|
||||
rParamsL f {{requestType}}{..} = (\rParams -> {{requestType}} { rParams, ..} ) <$> f rParams
|
||||
{-# INLINE rParamsL #-}
|
||||
|
||||
-- | 'rParams' Lens
|
||||
rAuthTypesL :: Lens_' ({{requestType}} req contentType res) [P.TypeRep]
|
||||
rAuthTypesL f {{requestType}}{..} = (\rAuthTypes -> {{requestType}} { rAuthTypes, ..} ) <$> f rAuthTypes
|
||||
{-# INLINE rAuthTypesL #-}
|
||||
|
||||
-- | Request Params
|
||||
data Params = Params
|
||||
{ paramsQuery :: NH.Query
|
||||
@@ -203,7 +213,7 @@ data ParamBody
|
||||
_mkRequest :: NH.Method -- ^ Method
|
||||
-> [BCL.ByteString] -- ^ Endpoint
|
||||
-> {{requestType}} req contentType res -- ^ req: Request Type, res: Response Type
|
||||
_mkRequest m u = {{requestType}} m u _mkParams
|
||||
_mkRequest m u = {{requestType}} m u _mkParams []
|
||||
|
||||
_mkParams :: Params
|
||||
_mkParams = Params [] [] ParamBodyNone
|
||||
@@ -235,8 +245,8 @@ _setAcceptHeader req accept =
|
||||
Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]
|
||||
Nothing -> req `removeHeader` ["accept"]
|
||||
|
||||
_setQuery :: {{requestType}} req contentType res -> [NH.QueryItem] -> {{requestType}} req contentType res
|
||||
_setQuery req query =
|
||||
setQuery :: {{requestType}} req contentType res -> [NH.QueryItem] -> {{requestType}} req contentType res
|
||||
setQuery req query =
|
||||
req &
|
||||
L.over
|
||||
(rParamsL . paramsQueryL)
|
||||
@@ -244,8 +254,8 @@ _setQuery req query =
|
||||
where
|
||||
cifst = CI.mk . P.fst
|
||||
|
||||
_addForm :: {{requestType}} req contentType res -> WH.Form -> {{requestType}} req contentType res
|
||||
_addForm req newform =
|
||||
addForm :: {{requestType}} req contentType res -> WH.Form -> {{requestType}} req contentType res
|
||||
addForm req newform =
|
||||
let form = case paramsBody (rParams req) of
|
||||
ParamBodyFormUrlEncoded _form -> _form
|
||||
_ -> mempty
|
||||
@@ -266,6 +276,9 @@ _setBodyLBS :: {{requestType}} req contentType res -> BL.ByteString -> {{request
|
||||
_setBodyLBS req body =
|
||||
req & L.set (rParamsL . paramsBodyL) (ParamBodyBL body)
|
||||
|
||||
_hasAuthType :: AuthMethod authMethod => {{requestType}} req contentType res -> P.Proxy authMethod -> {{requestType}} req contentType res
|
||||
_hasAuthType req proxy =
|
||||
req & L.over rAuthTypesL (P.typeRep proxy :)
|
||||
|
||||
-- ** Params Utils
|
||||
|
||||
@@ -330,3 +343,49 @@ _toCollA' c encode one xs = case c of
|
||||
{-# INLINE expandList #-}
|
||||
{-# INLINE combine #-}
|
||||
|
||||
-- * AuthMethods
|
||||
|
||||
-- | Provides a method to apply auth methods to requests
|
||||
class P.Typeable a => AuthMethod a where
|
||||
applyAuthMethod :: {{requestType}} req contentType res -> a -> {{requestType}} req contentType res
|
||||
|
||||
-- | An existential wrapper for any AuthMethod
|
||||
data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable)
|
||||
|
||||
instance AuthMethod AnyAuthMethod where applyAuthMethod req (AnyAuthMethod a) = applyAuthMethod req a
|
||||
|
||||
{{#authMethods}}{{#isBasic}}-- ** {{name}}
|
||||
data {{name}} =
|
||||
{{name}} B.ByteString B.ByteString -- ^ username password
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod {{name}} where
|
||||
applyAuthMethod req a@({{name}} user pw) =
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)
|
||||
else req
|
||||
where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])
|
||||
|
||||
{{/isBasic}}{{#isApiKey}}-- ** {{name}}
|
||||
data {{name}} =
|
||||
{{name}} Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod {{name}} where
|
||||
applyAuthMethod req a@({{name}} secret) =
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req {{#isKeyInHeader}}`setHeader` toHeader ("{{keyParamName}}", secret){{/isKeyInHeader}}{{^isKeyInHeader}}`setQuery` toQuery ("{{keyParamName}}", Just secret){{/isKeyInHeader}}
|
||||
else req
|
||||
|
||||
{{/isApiKey}}{{#isOAuth}}-- ** {{name}}
|
||||
data {{name}} =
|
||||
{{name}} Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod {{name}} where
|
||||
applyAuthMethod req a@({{name}} secret) =
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("Authorization", "Bearer " <> secret)
|
||||
else req
|
||||
|
||||
{{/isOAuth}}{{/authMethods}}
|
||||
|
||||
@@ -59,6 +59,7 @@ data {{configType}} = {{configType}}
|
||||
, configUserAgent :: Text -- ^ user-agent supplied in the Request
|
||||
, configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance
|
||||
, configLogContext :: LogContext -- ^ Configures the logger
|
||||
, configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods
|
||||
}
|
||||
|
||||
-- | display the config
|
||||
@@ -87,13 +88,21 @@ newConfig = do
|
||||
, configUserAgent = "{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}{{{artifactId}}}/{{{artifactVersion}}}{{/httpUserAgent}}"
|
||||
, configLogExecWithContext = runDefaultLogExecWithContext
|
||||
, configLogContext = logCxt
|
||||
, configAuthMethods = []
|
||||
}
|
||||
|
||||
-- | updates config use AuthMethod on matching requests
|
||||
addAuthMethod :: AuthMethod auth => {{configType}} -> auth -> {{configType}}
|
||||
addAuthMethod config@{{configType}} {configAuthMethods = as} a =
|
||||
config { configAuthMethods = AnyAuthMethod a : as}
|
||||
|
||||
-- | updates the config to use stdout logging
|
||||
withStdoutLogging :: {{configType}} -> IO {{configType}}
|
||||
withStdoutLogging p = do
|
||||
logCxt <- stdoutLoggingContext (configLogContext p)
|
||||
return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }
|
||||
|
||||
-- | updates the config to use stderr logging
|
||||
withStderrLogging :: {{configType}} -> IO {{configType}}
|
||||
withStderrLogging p = do
|
||||
logCxt <- stderrLoggingContext (configLogContext p)
|
||||
@@ -226,7 +235,9 @@ _toInitRequest
|
||||
-> IO (InitRequest req contentType res accept) -- ^ initialized request
|
||||
_toInitRequest config req0 accept = do
|
||||
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0))
|
||||
let req1 = _setAcceptHeader req0 accept & _setContentTypeHeader
|
||||
let req1 = _applyAuthMethods req0 config
|
||||
& _setContentTypeHeader
|
||||
& flip _setAcceptHeader accept
|
||||
reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (rParams req1)
|
||||
reqQuery = NH.renderQuery True (paramsQuery (rParams req1))
|
||||
pReq = parsedReq { NH.method = (rMethod req1)
|
||||
@@ -242,6 +253,16 @@ _toInitRequest config req0 accept = do
|
||||
|
||||
pure (InitRequest outReq)
|
||||
|
||||
-- | apply all matching AuthMethods in config to request
|
||||
_applyAuthMethods
|
||||
:: {{requestType}} req contentType res
|
||||
-> {{configType}}
|
||||
-> {{requestType}} req contentType res
|
||||
_applyAuthMethods req {{configType}} {configAuthMethods = as} =
|
||||
foldl go req as
|
||||
where
|
||||
go r (AnyAuthMethod a) = r `applyAuthMethod` a
|
||||
|
||||
-- | modify the underlying Request
|
||||
modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept
|
||||
modifyInitRequest (InitRequest req) f = InitRequest (f req)
|
||||
|
||||
@@ -56,7 +56,7 @@ import qualified Prelude as P
|
||||
{{#model}}
|
||||
|
||||
-- ** {{classname}}
|
||||
-- |{{#title}}
|
||||
-- | {{classname}}{{#title}}
|
||||
-- {{{.}}}
|
||||
-- {{/title}}{{#description}}
|
||||
-- {{{.}}}{{/description}}
|
||||
@@ -65,12 +65,15 @@ data {{classname}} = {{classname}}
|
||||
, {{/hasMore}}{{/vars}}
|
||||
} deriving (P.Show,P.Eq,P.Typeable{{#modelDeriving}},{{modelDeriving}}{{/modelDeriving}})
|
||||
|
||||
|
||||
-- | FromJSON {{classname}}
|
||||
instance A.FromJSON {{classname}} where
|
||||
parseJSON = A.withObject "{{classname}}" $ \o ->
|
||||
{{^hasVars}}pure {{/hasVars}}{{classname}}
|
||||
{{#hasVars}}<$>{{/hasVars}}{{#vars}} (o {{#required}}.: {{/required}}{{^required}}{{^allowFromJsonNulls}}.:!{{/allowFromJsonNulls}}{{#allowFromJsonNulls}}.:?{{/allowFromJsonNulls}}{{/required}} "{{baseName}}"){{#hasMore}}
|
||||
<*>{{/hasMore}}{{/vars}}
|
||||
|
||||
-- | ToJSON {{classname}}
|
||||
instance A.ToJSON {{classname}} where
|
||||
toJSON {{classname}} {{#hasVars}}{..}{{/hasVars}} =
|
||||
{{^allowToJsonNulls}}_omitNulls{{/allowToJsonNulls}}{{#allowToJsonNulls}}A.object{{/allowToJsonNulls}}
|
||||
@@ -79,12 +82,14 @@ instance A.ToJSON {{classname}} where
|
||||
]
|
||||
|
||||
{{#vendorExtensions.x-hasMimeFormUrlEncoded}}
|
||||
-- | FromForm {{classname}}
|
||||
instance WH.FromForm {{classname}} where
|
||||
fromForm f =
|
||||
{{^hasVars}}pure {{/hasVars}}{{classname}}
|
||||
{{#hasVars}}<$>{{/hasVars}}{{#vars}} ({{#required}}WH.parseUnique {{/required}}{{^required}}WH.parseMaybe {{/required}}"{{baseName}}" f){{#hasMore}}
|
||||
<*>{{/hasMore}}{{/vars}}
|
||||
|
||||
-- | ToForm {{classname}}
|
||||
instance WH.ToForm {{classname}} where
|
||||
toForm {{classname}} {{#hasVars}}{..}{{/hasVars}} =
|
||||
WH.Form $ HM.fromList $ P.catMaybes $
|
||||
@@ -111,21 +116,23 @@ mk{{classname}} {{#requiredVars}}{{name}} {{/requiredVars}}=
|
||||
-- * Utils
|
||||
|
||||
-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)
|
||||
|
||||
_omitNulls :: [(Text, A.Value)] -> A.Value
|
||||
_omitNulls = A.object . P.filter notNull
|
||||
where
|
||||
notNull (_, A.Null) = False
|
||||
notNull _ = True
|
||||
|
||||
-- | Encodes fields using WH.toQueryParam
|
||||
_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])
|
||||
_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x
|
||||
|
||||
-- | Collapse (Just "") to Nothing
|
||||
_emptyToNothing :: Maybe String -> Maybe String
|
||||
_emptyToNothing (Just "") = Nothing
|
||||
_emptyToNothing x = x
|
||||
{-# INLINE _emptyToNothing #-}
|
||||
|
||||
-- | Collapse (Just mempty) to Nothing
|
||||
_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a
|
||||
_memptyToNothing (Just x) | x P.== P.mempty = Nothing
|
||||
_memptyToNothing x = x
|
||||
@@ -158,6 +165,7 @@ _showDateTime =
|
||||
{{^dateTimeFormat}}TI.formatISO8601Millis{{/dateTimeFormat}}{{#dateTimeFormat}}TI.formatTime TI.defaultTimeLocale "{{{dateTimeFormat}}}"{{/dateTimeFormat}}
|
||||
{-# INLINE _showDateTime #-}
|
||||
|
||||
-- | parse an ISO8601 date-time string
|
||||
_parseISO8601 :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t
|
||||
_parseISO8601 t =
|
||||
P.asum $
|
||||
|
||||
@@ -46,10 +46,6 @@ haskell-http-client
|
||||
|
||||
### Unsupported Swagger Features
|
||||
|
||||
* Auth Methods (https://swagger.io/docs/specification/2-0/authentication/)
|
||||
|
||||
- use `setHeader` to add any required headers to requests
|
||||
|
||||
* Model Inheritance
|
||||
|
||||
* Default Parameter Values
|
||||
@@ -92,6 +88,7 @@ View the full list of Codegen "config option" parameters with the command:
|
||||
java -jar swagger-codegen-cli.jar config-help -l haskell-http-client
|
||||
```
|
||||
|
||||
## Usage Notes
|
||||
|
||||
### Example SwaggerPetstore Haddock documentation
|
||||
|
||||
@@ -103,12 +100,12 @@ An example of the generated haddock documentation targeting the server http://pe
|
||||
|
||||
An example application using the auto-generated haskell-http-client bindings for the server http://petstore.swagger.io/ can be found [here][3]
|
||||
|
||||
[3]: https://github.com/swagger-api/swagger-codegen/tree/c7d145a4ba3c0627e04ece9eb97e354ac91be821/samples/client/petstore/haskell-http-client/example-app
|
||||
|
||||
### Usage Notes
|
||||
[3]: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/haskell-http-client/example-app
|
||||
|
||||
This library is intended to be imported qualified.
|
||||
|
||||
### Modules
|
||||
|
||||
| MODULE | NOTES |
|
||||
| ------------------- | --------------------------------------------------- |
|
||||
| {{title}}.Client | use the "dispatch" functions to send requests |
|
||||
@@ -118,6 +115,9 @@ This library is intended to be imported qualified.
|
||||
| {{title}}.Lens | lenses for model fields |
|
||||
| {{title}}.Logging | logging functions and utils |
|
||||
|
||||
|
||||
### MimeTypes
|
||||
|
||||
This library adds type safety around what swagger specifies as
|
||||
Produces and Consumes for each Operation (e.g. the list of MIME types an
|
||||
Operation can Produce (using 'accept' headers) and Consume (using 'content-type' headers).
|
||||
@@ -151,16 +151,6 @@ this would indicate that:
|
||||
* the _addFoo_ operation can set it's body param of _FooModel_ via `setBodyParam`
|
||||
* the _addFoo_ operation can set 2 different optional parameters via `applyOptionalParam`
|
||||
|
||||
putting this together:
|
||||
|
||||
```haskell
|
||||
let addFooRequest = addFoo MimeJSON foomodel requiredparam1 requiredparam2
|
||||
`applyOptionalParam` FooId 1
|
||||
`applyOptionalParam` FooName "name"
|
||||
`setHeader` [("api_key","xxyy")]
|
||||
addFooResult <- dispatchMime mgr config addFooRequest MimeXML
|
||||
```
|
||||
|
||||
If the swagger spec doesn't declare it can accept or produce a certain
|
||||
MIME type for a given Operation, you should either add a Produces or
|
||||
Consumes instance for the desired MIME types (assuming the server
|
||||
@@ -174,4 +164,29 @@ x-www-form-urlencoded instances (FromFrom, ToForm) will also be
|
||||
generated if the model fields are primitive types, and there are
|
||||
Operations using x-www-form-urlencoded which use those models.
|
||||
|
||||
### 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.
|
||||
@@ -94,6 +94,7 @@ test-suite tests
|
||||
, time
|
||||
, iso8601-time
|
||||
, aeson
|
||||
, vector
|
||||
, semigroups
|
||||
, QuickCheck
|
||||
other-modules:
|
||||
|
||||
@@ -2,20 +2,23 @@
|
||||
|
||||
module Instances where
|
||||
|
||||
import Data.Text (Text, pack)
|
||||
import Control.Monad
|
||||
import Data.Char (isSpace)
|
||||
import Data.List (sort)
|
||||
import qualified Data.Time as TI
|
||||
import Test.QuickCheck
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.HashMap.Strict as HM
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Time as TI
|
||||
import qualified Data.Vector as V
|
||||
|
||||
import ApproxEq
|
||||
import {{title}}.Model
|
||||
|
||||
instance Arbitrary Text where
|
||||
arbitrary = pack <$> arbitrary
|
||||
instance Arbitrary T.Text where
|
||||
arbitrary = T.pack <$> arbitrary
|
||||
|
||||
instance Arbitrary TI.Day where
|
||||
arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary
|
||||
@@ -45,6 +48,27 @@ instance Arbitrary Date where
|
||||
arbitrary = Date <$> arbitrary
|
||||
shrink (Date xs) = Date <$> shrink xs
|
||||
|
||||
-- | A naive Arbitrary instance for A.Value:
|
||||
instance Arbitrary A.Value where
|
||||
arbitrary = frequency [(3, simpleTypes), (1, arrayTypes), (1, objectTypes)]
|
||||
where
|
||||
simpleTypes :: Gen A.Value
|
||||
simpleTypes =
|
||||
frequency
|
||||
[ (1, return A.Null)
|
||||
, (2, liftM A.Bool (arbitrary :: Gen Bool))
|
||||
, (2, liftM (A.Number . fromIntegral) (arbitrary :: Gen Int))
|
||||
, (2, liftM (A.String . T.pack) (arbitrary :: Gen String))
|
||||
]
|
||||
mapF (k, v) = (T.pack k, v)
|
||||
simpleAndArrays = frequency [(1, sized sizedArray), (4, simpleTypes)]
|
||||
arrayTypes = sized sizedArray
|
||||
objectTypes = sized sizedObject
|
||||
sizedArray n = liftM (A.Array . V.fromList) $ replicateM n simpleTypes
|
||||
sizedObject n =
|
||||
liftM (A.object . map mapF) $
|
||||
replicateM n $ (,) <$> (arbitrary :: Gen String) <*> simpleAndArrays
|
||||
|
||||
-- | Checks if a given list has no duplicates in _O(n log n)_.
|
||||
hasNoDups
|
||||
:: (Ord a)
|
||||
|
||||
@@ -17,7 +17,8 @@ import {{title}}.MimeTypes
|
||||
|
||||
main :: IO ()
|
||||
main =
|
||||
hspec $ modifyMaxSize (const 10) $
|
||||
do describe "JSON instances" $
|
||||
do {{#models}}{{#model}}propMimeEq MimeJSON (Proxy :: Proxy {{classname}})
|
||||
{{/model}}{{/models}}
|
||||
hspec $ modifyMaxSize (const 10) $ do
|
||||
describe "JSON instances" $ do
|
||||
pure ()
|
||||
{{#models}}{{#model}}propMimeEq MimeJSON (Proxy :: Proxy {{classname}})
|
||||
{{/model}}{{/models}}
|
||||
|
||||
@@ -2,9 +2,9 @@ STACKCMD := stack --install-ghc
|
||||
.PHONY: all clean build test test-integration build-example build-integration
|
||||
all: clean build test build-example build-integration
|
||||
clean: ; (rm -Rf ./.stack-work ./example-app/.stack-work ./tests-integration/.stack-work);
|
||||
build: ; ($(STACKCMD) haddock);
|
||||
test: ; ($(STACKCMD) test);
|
||||
build-example: build ; (cd ./example-app; $(STACKCMD) build);
|
||||
build: ; ($(STACKCMD) haddock --fast);
|
||||
test: ; ($(STACKCMD) test --fast);
|
||||
build-example: build ; (cd ./example-app; $(STACKCMD) build --fast);
|
||||
# a test-only project may exit with ExitFailure, despite building successfully
|
||||
build-integration: build ; (cd ./tests-integration; $(STACKCMD) build --no-run-tests);
|
||||
test-integration: build-integration ; (cd ./tests-integration; $(STACKCMD) test);
|
||||
build-integration: build ; (cd ./tests-integration; $(STACKCMD) build --no-run-tests --fast);
|
||||
test-integration: build-integration ; (cd ./tests-integration; $(STACKCMD) test --fast);
|
||||
|
||||
@@ -46,10 +46,6 @@ haskell-http-client
|
||||
|
||||
### Unsupported Swagger Features
|
||||
|
||||
* Auth Methods (https://swagger.io/docs/specification/2-0/authentication/)
|
||||
|
||||
- use `setHeader` to add any required headers to requests
|
||||
|
||||
* Model Inheritance
|
||||
|
||||
* Default Parameter Values
|
||||
@@ -92,6 +88,7 @@ View the full list of Codegen "config option" parameters with the command:
|
||||
java -jar swagger-codegen-cli.jar config-help -l haskell-http-client
|
||||
```
|
||||
|
||||
## Usage Notes
|
||||
|
||||
### Example SwaggerPetstore Haddock documentation
|
||||
|
||||
@@ -103,12 +100,12 @@ An example of the generated haddock documentation targeting the server http://pe
|
||||
|
||||
An example application using the auto-generated haskell-http-client bindings for the server http://petstore.swagger.io/ can be found [here][3]
|
||||
|
||||
[3]: https://github.com/swagger-api/swagger-codegen/tree/c7d145a4ba3c0627e04ece9eb97e354ac91be821/samples/client/petstore/haskell-http-client/example-app
|
||||
|
||||
### Usage Notes
|
||||
[3]: https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/haskell-http-client/example-app
|
||||
|
||||
This library is intended to be imported qualified.
|
||||
|
||||
### Modules
|
||||
|
||||
| MODULE | NOTES |
|
||||
| ------------------- | --------------------------------------------------- |
|
||||
| SwaggerPetstore.Client | use the "dispatch" functions to send requests |
|
||||
@@ -118,6 +115,9 @@ This library is intended to be imported qualified.
|
||||
| SwaggerPetstore.Lens | lenses for model fields |
|
||||
| SwaggerPetstore.Logging | logging functions and utils |
|
||||
|
||||
|
||||
### MimeTypes
|
||||
|
||||
This library adds type safety around what swagger specifies as
|
||||
Produces and Consumes for each Operation (e.g. the list of MIME types an
|
||||
Operation can Produce (using 'accept' headers) and Consume (using 'content-type' headers).
|
||||
@@ -151,16 +151,6 @@ this would indicate that:
|
||||
* the _addFoo_ operation can set it's body param of _FooModel_ via `setBodyParam`
|
||||
* the _addFoo_ operation can set 2 different optional parameters via `applyOptionalParam`
|
||||
|
||||
putting this together:
|
||||
|
||||
```haskell
|
||||
let addFooRequest = addFoo MimeJSON foomodel requiredparam1 requiredparam2
|
||||
`applyOptionalParam` FooId 1
|
||||
`applyOptionalParam` FooName "name"
|
||||
`setHeader` [("api_key","xxyy")]
|
||||
addFooResult <- dispatchMime mgr config addFooRequest MimeXML
|
||||
```
|
||||
|
||||
If the swagger spec doesn't declare it can accept or produce a certain
|
||||
MIME type for a given Operation, you should either add a Produces or
|
||||
Consumes instance for the desired MIME types (assuming the server
|
||||
@@ -174,4 +164,29 @@ x-www-form-urlencoded instances (FromFrom, ToForm) will also be
|
||||
generated if the model fields are primitive types, and there are
|
||||
Operations using x-www-form-urlencoded which use those models.
|
||||
|
||||
### Authentication
|
||||
|
||||
A haskell data type will be generated for each swagger authentication type.
|
||||
|
||||
If for example the AuthMethod `AuthOAuthFoo` is generated for OAuth operations, then
|
||||
`addAuthMethod` should be used to add the AuthMethod config.
|
||||
|
||||
When a request is dispatched, if a matching auth method is found in
|
||||
the config, it will be applied to the request.
|
||||
|
||||
### Example
|
||||
|
||||
```haskell
|
||||
mgr <- newManager defaultManagerSettings
|
||||
config0 <- withStdoutLogging =<< newConfig
|
||||
let config = config0
|
||||
`addAuthMethod` AuthOAuthFoo "secret-key"
|
||||
|
||||
let addFooRequest = addFoo MimeJSON foomodel requiredparam1 requiredparam2
|
||||
`applyOptionalParam` FooId 1
|
||||
`applyOptionalParam` FooName "name"
|
||||
`setHeader` [("qux_header","xxyy")]
|
||||
addFooResult <- dispatchMime mgr config addFooRequest MimeXML
|
||||
```
|
||||
|
||||
See the example app and the haddocks for details.
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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> </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> </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> </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> </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
@@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - R)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client</p></div><div id="content"><div id="alphabet"><ul><li><a href="doc-index-A.html">A</a></li><li><a href="doc-index-B.html">B</a></li><li><a href="doc-index-C.html">C</a></li><li><a href="doc-index-D.html">D</a></li><li><a href="doc-index-E.html">E</a></li><li><a href="doc-index-F.html">F</a></li><li><a href="doc-index-G.html">G</a></li><li><a href="doc-index-H.html">H</a></li><li><a href="doc-index-I.html">I</a></li><li><a href="doc-index-L.html">L</a></li><li><a href="doc-index-M.html">M</a></li><li><a href="doc-index-N.html">N</a></li><li><a href="doc-index-O.html">O</a></li><li><a href="doc-index-P.html">P</a></li><li><a href="doc-index-R.html">R</a></li><li><a href="doc-index-S.html">S</a></li><li><a href="doc-index-T.html">T</a></li><li><a href="doc-index-U.html">U</a></li><li><a href="doc-index-W.html">W</a></li><li><a href="doc-index-45.html">-</a></li><li><a href="doc-index-95.html">_</a></li><li><a href="doc-index-All.html">All</a></li></ul></div><div id="index"><p class="caption">Index - R</p><table><tr><td class="src">ReadOnlyFirst</td><td> </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> </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
@@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SwaggerPetstore.Client</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">SwaggerPetstore.Client</p></div><div id="interface"><h1>Config</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:SwaggerPetstoreConfig" target="main">SwaggerPetstoreConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:newConfig" target="main">newConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStdoutLogging" target="main">withStdoutLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStderrLogging" target="main">withStderrLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withNoLogging" target="main">withNoLogging</a></p></div><h1>Dispatch</h1><h2>Lbs</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbs" target="main">dispatchLbs</a></p></div><h2>Mime</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeResult" target="main">MimeResult</a> res</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeError" target="main">MimeError</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime" target="main">dispatchMime</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime-39-" target="main">dispatchMime'</a></p></div><h2>Unsafe</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbsUnsafe" target="main">dispatchLbsUnsafe</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchInitUnsafe" target="main">dispatchInitUnsafe</a></p></div><h1>InitRequest</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:InitRequest" target="main">InitRequest</a> req contentType res accept</p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:_toInitRequest" target="main">_toInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequest" target="main">modifyInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequestM" target="main">modifyInitRequestM</a></p></div><h2>Logging </h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLog" target="main">runConfigLog</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLogWithExceptions" target="main">runConfigLogWithExceptions</a></p></div></div></body></html>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">SwaggerPetstore.Client</p></div><div id="interface"><h1>Config</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:SwaggerPetstoreConfig" target="main">SwaggerPetstoreConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:newConfig" target="main">newConfig</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:addAuthMethod" target="main">addAuthMethod</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStdoutLogging" target="main">withStdoutLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withStderrLogging" target="main">withStderrLogging</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:withNoLogging" target="main">withNoLogging</a></p></div><h1>Dispatch</h1><h2>Lbs</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbs" target="main">dispatchLbs</a></p></div><h2>Mime</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeResult" target="main">MimeResult</a> res</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:MimeError" target="main">MimeError</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime" target="main">dispatchMime</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchMime-39-" target="main">dispatchMime'</a></p></div><h2>Unsafe</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchLbsUnsafe" target="main">dispatchLbsUnsafe</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:dispatchInitUnsafe" target="main">dispatchInitUnsafe</a></p></div><h1>InitRequest</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Client.html#t:InitRequest" target="main">InitRequest</a> req contentType res accept</p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:_toInitRequest" target="main">_toInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:_applyAuthMethods" target="main">_applyAuthMethods</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequest" target="main">modifyInitRequest</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:modifyInitRequestM" target="main">modifyInitRequestM</a></p></div><h2>Logging </h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLog" target="main">runConfigLog</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runConfigLogWithExceptions" target="main">runConfigLogWithExceptions</a></p></div></div></body></html>
|
||||
@@ -15,7 +15,7 @@
|
||||
</span><a name="line-15"></a><span class="hs-cpp">#if defined(VERSION_base)</span><span>
|
||||
</span><a name="line-16"></a><span>
|
||||
</span><a name="line-17"></a><span class="hs-cpp">#if MIN_VERSION_base(4,0,0)</span><span>
|
||||
</span><a name="line-18"></a><span class="hs-identifier">catchIO</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679168393"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-></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">-></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">-></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">-></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">-></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">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679170528"><span class="hs-identifier hs-type">a</span></a><span>
|
||||
</span><a name="line-19"></a><span class="hs-cpp">#else</span><span>
|
||||
</span><a name="line-20"></a><span class="hs-identifier">catchIO</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span> </span><span class="hs-glyph">-></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">-></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">-></span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span>
|
||||
</span><a name="line-21"></a><span class="hs-cpp">#endif</span><span>
|
||||
@@ -45,7 +45,7 @@
|
||||
</span><a name="line-45"></a><a name="getSysconfDir"><a href="Paths_swagger_petstore.html#getSysconfDir"><span class="hs-identifier">getSysconfDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">"swagger_petstore_sysconfdir"</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">-></span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#sysconfdir"><span class="hs-identifier hs-var">sysconfdir</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-46"></a><span>
|
||||
</span><a name="line-47"></a><span class="hs-identifier">getDataFileName</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">FilePath</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-identifier hs-type">FilePath</span><span>
|
||||
</span><a name="line-48"></a><a name="getDataFileName"><a href="Paths_swagger_petstore.html#getDataFileName"><span class="hs-identifier">getDataFileName</span></a></a><span> </span><a name="local-6989586621679168719"><a href="#local-6989586621679168719"><span class="hs-identifier">name</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-49"></a><span> </span><a name="local-6989586621679168720"><a href="#local-6989586621679168720"><span class="hs-identifier">dir</span></a></a><span> </span><span class="hs-glyph"><-</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">"/"</span><span> </span><span class="hs-operator hs-var">++</span><span> </span><a href="#local-6989586621679168719"><span class="hs-identifier hs-var">name</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-48"></a><a name="getDataFileName"><a href="Paths_swagger_petstore.html#getDataFileName"><span class="hs-identifier">getDataFileName</span></a></a><span> </span><a name="local-6989586621679170854"><a href="#local-6989586621679170854"><span class="hs-identifier">name</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-49"></a><span> </span><a name="local-6989586621679170855"><a href="#local-6989586621679170855"><span class="hs-identifier">dir</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="Paths_swagger_petstore.html#getDataDir"><span class="hs-identifier hs-var">getDataDir</span></a><span>
|
||||
</span><a name="line-50"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679170855"><span class="hs-identifier hs-var">dir</span></a><span> </span><span class="hs-operator hs-var">++</span><span> </span><span class="hs-string">"/"</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>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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: \" \\
|
||||
|
||||
OpenAPI spec version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}</span><span>
|
||||
</span><a name="line-10"></a><span>
|
||||
</span><a name="line-11"></a><span class="hs-comment">{-|
|
||||
Module : SwaggerPetstore.Client
|
||||
-}</span><span>
|
||||
</span><a name="line-4"></a><span>
|
||||
</span><a name="line-5"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
|
||||
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
|
||||
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
|
||||
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
|
||||
</span><a name="line-9"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
|
||||
</span><a name="line-10"></a><span class="hs-pragma">{-# LANGUAGE DeriveFunctor #-}</span><span>
|
||||
</span><a name="line-11"></a><span class="hs-pragma">{-# LANGUAGE DeriveFoldable #-}</span><span>
|
||||
</span><a name="line-12"></a><span class="hs-pragma">{-# LANGUAGE DeriveTraversable #-}</span><span>
|
||||
</span><a name="line-13"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
|
||||
</span><a name="line-14"></a><span>
|
||||
</span><a name="line-15"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-16"></a><span>
|
||||
</span><a name="line-17"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
|
||||
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
|
||||
</span><a name="line-19"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
|
||||
</span><a name="line-20"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
|
||||
</span><a name="line-21"></a><span>
|
||||
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-23"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
|
||||
</span><a name="line-24"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
|
||||
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-26"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Function</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var"><></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-31"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Catch</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">MonadThrow</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-33"></a><span>
|
||||
</span><a name="line-34"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Time</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</span><span>
|
||||
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Map</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Map</span><span>
|
||||
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-37"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-38"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Printf</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-39"></a><span>
|
||||
</span><a name="line-40"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
|
||||
</span><a name="line-41"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
|
||||
</span><a name="line-42"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
|
||||
</span><a name="line-43"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
|
||||
</span><a name="line-44"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
|
||||
</span><a name="line-45"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-46"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">TLS</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-47"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">MultipartFormData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-48"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">Method</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-49"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-50"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">URI</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-51"></a><span>
|
||||
</span><a name="line-52"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
|
||||
</span><a name="line-53"></a><span class="hs-comment">-- * Config</span><span>
|
||||
</span><a name="line-54"></a><span>
|
||||
</span><a name="line-55"></a><span class="hs-comment">-- | </span><span>
|
||||
</span><a name="line-56"></a><span class="hs-keyword">data</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span>
|
||||
</span><a name="line-57"></a><span> </span><span class="hs-special">{</span><span> </span><a name="configHost"><a href="SwaggerPetstore.Client.html#configHost"><span class="hs-identifier">configHost</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ host supplied in the Request</span><span>
|
||||
</span><a name="line-58"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configUserAgent"><a href="SwaggerPetstore.Client.html#configUserAgent"><span class="hs-identifier">configUserAgent</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ user-agent supplied in the Request</span><span>
|
||||
</span><a name="line-59"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogExecWithContext"><a href="SwaggerPetstore.Client.html#configLogExecWithContext"><span class="hs-identifier">configLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span> </span><span class="hs-comment">-- ^ Run a block using a Logger instance</span><span>
|
||||
</span><a name="line-60"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogContext"><a href="SwaggerPetstore.Client.html#configLogContext"><span class="hs-identifier">configLogContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-comment">-- ^ Configures the logger</span><span>
|
||||
</span><a name="line-61"></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-62"></a><span>
|
||||
</span><a name="line-63"></a><span class="hs-comment">-- | display the config</span><span>
|
||||
</span><a name="line-64"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">Show</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-65"></a><span> </span><a name="local-8214565720323792830"><span class="hs-identifier">show</span></a><span> </span><a name="local-6989586621679159198"><a href="#local-6989586621679159198"><span class="hs-identifier">c</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-66"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">printf</span><span>
|
||||
</span><a name="line-67"></a><span> </span><span class="hs-string">"{ configHost = %v, configUserAgent = %v, ..}"</span><span>
|
||||
</span><a name="line-68"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679159198"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-69"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679159198"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-70"></a><span>
|
||||
</span><a name="line-71"></a><span class="hs-comment">-- | constructs a default SwaggerPetstoreConfig</span><span>
|
||||
</span><a name="line-72"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-73"></a><span class="hs-comment">-- configHost:</span><span>
|
||||
</span><a name="line-74"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-75"></a><span class="hs-comment">-- @http://petstore.swagger.io:80/v2@</span><span>
|
||||
</span><a name="line-76"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-77"></a><span class="hs-comment">-- configUserAgent:</span><span>
|
||||
</span><a name="line-78"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-79"></a><span class="hs-comment">-- @"swagger-haskell-http-client/1.0.0"@</span><span>
|
||||
</span><a name="line-80"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-81"></a><span class="hs-identifier">newConfig</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-82"></a><a name="newConfig"><a href="SwaggerPetstore.Client.html#newConfig"><span class="hs-identifier">newConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-83"></a><span> </span><a name="local-6989586621679158710"><a href="#local-6989586621679158710"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier hs-var">initLogContext</span></a><span>
|
||||
</span><a name="line-84"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-85"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configHost</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">"http://petstore.swagger.io:80/v2"</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">"swagger-haskell-http-client/1.0.0"</span><span>
|
||||
</span><a name="line-87"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
|
||||
</span><a name="line-88"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158710"><span class="hs-identifier hs-var">logCxt</span></a><span>
|
||||
</span><a name="line-89"></a><span> </span><span class="hs-special">}</span><span> </span><span>
|
||||
</span><a name="line-90"></a><span>
|
||||
</span><a name="line-91"></a><span class="hs-identifier">withStdoutLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-92"></a><a name="withStdoutLogging"><a href="SwaggerPetstore.Client.html#withStdoutLogging"><span class="hs-identifier">withStdoutLogging</span></a></a><span> </span><a name="local-6989586621679158711"><a href="#local-6989586621679158711"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-93"></a><span> </span><a name="local-6989586621679158712"><a href="#local-6989586621679158712"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier hs-var">stdoutLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679158711"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-94"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679158711"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier hs-var">stdoutLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158712"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-95"></a><span>
|
||||
</span><a name="line-96"></a><span class="hs-identifier">withStderrLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-97"></a><a name="withStderrLogging"><a href="SwaggerPetstore.Client.html#withStderrLogging"><span class="hs-identifier">withStderrLogging</span></a></a><span> </span><a name="local-6989586621679158713"><a href="#local-6989586621679158713"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-98"></a><span> </span><a name="local-6989586621679158714"><a href="#local-6989586621679158714"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier hs-var">stderrLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679158713"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-99"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679158713"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier hs-var">stderrLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158714"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-100"></a><span>
|
||||
</span><a name="line-101"></a><span class="hs-comment">-- | updates the config to disable logging</span><span>
|
||||
</span><a name="line-102"></a><span class="hs-identifier">withNoLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-103"></a><a name="withNoLogging"><a href="SwaggerPetstore.Client.html#withNoLogging"><span class="hs-identifier">withNoLogging</span></a></a><span> </span><a name="local-6989586621679158715"><a href="#local-6989586621679158715"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679158715"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier hs-var">runNullLogExec</span></a><span class="hs-special">}</span><span>
|
||||
</span><a name="line-104"></a><span>
|
||||
</span><a name="line-105"></a><span class="hs-comment">-- * Dispatch</span><span>
|
||||
</span><a name="line-106"></a><span>
|
||||
</span><a name="line-107"></a><span class="hs-comment">-- ** Lbs</span><span>
|
||||
</span><a name="line-108"></a><span>
|
||||
</span><a name="line-109"></a><span class="hs-comment">-- | send a request returning the raw http response</span><span>
|
||||
</span><a name="line-110"></a><span class="hs-identifier">dispatchLbs</span><span>
|
||||
</span><a name="line-111"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679158706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158707"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158708"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-112"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-113"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-114"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158708"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158709"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-115"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679158707"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-116"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-117"></a><a name="dispatchLbs"><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier">dispatchLbs</span></a></a><span> </span><a name="local-6989586621679158716"><a href="#local-6989586621679158716"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158717"><a href="#local-6989586621679158717"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158718"><a href="#local-6989586621679158718"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158719"><a href="#local-6989586621679158719"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-118"></a><span> </span><a name="local-6989586621679158720"><a href="#local-6989586621679158720"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679158717"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158718"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158719"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
|
||||
</span><a name="line-119"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679158716"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158717"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158720"><span class="hs-identifier hs-var">initReq</span></a><span>
|
||||
</span><a name="line-120"></a><span>
|
||||
</span><a name="line-121"></a><span class="hs-comment">-- ** Mime</span><span>
|
||||
</span><a name="line-122"></a><span>
|
||||
</span><a name="line-123"></a><span class="hs-comment">-- | pair of decoded http body and http response</span><span>
|
||||
</span><a name="line-124"></a><span class="hs-keyword">data</span><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><a name="local-6989586621679158674"><a href="#local-6989586621679158674"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-125"></a><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="mimeResult"><a href="SwaggerPetstore.Client.html#mimeResult"><span class="hs-identifier">mimeResult</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679158674"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ decoded http body</span><span>
|
||||
</span><a name="line-126"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeResultResponse"><a href="SwaggerPetstore.Client.html#mimeResultResponse"><span class="hs-identifier">mimeResultResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
|
||||
</span><a name="line-127"></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-128"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Functor</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Foldable</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Traversable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-129"></a><span>
|
||||
</span><a name="line-130"></a><span class="hs-comment">-- | pair of unrender/parser error and http response</span><span>
|
||||
</span><a name="line-131"></a><span class="hs-keyword">data</span><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-132"></a><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-special">{</span><span>
|
||||
</span><a name="line-133"></a><span> </span><a name="mimeError"><a href="SwaggerPetstore.Client.html#mimeError"><span class="hs-identifier">mimeError</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-comment">-- ^ unrender/parser error</span><span>
|
||||
</span><a name="line-134"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeErrorResponse"><a href="SwaggerPetstore.Client.html#mimeErrorResponse"><span class="hs-identifier">mimeErrorResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
|
||||
</span><a name="line-135"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-136"></a><span>
|
||||
</span><a name="line-137"></a><span class="hs-comment">-- | send a request returning the 'MimeResult'</span><span>
|
||||
</span><a name="line-138"></a><span class="hs-identifier">dispatchMime</span><span>
|
||||
</span><a name="line-139"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679158702"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158703"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679158703"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679158704"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158705"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-140"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-141"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-142"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158702"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158705"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158704"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-143"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679158703"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-144"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-type">MimeResult</span></a><span> </span><a href="#local-6989586621679158704"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-145"></a><a name="dispatchMime"><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier">dispatchMime</span></a></a><span> </span><a name="local-6989586621679158721"><a href="#local-6989586621679158721"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158722"><a href="#local-6989586621679158722"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158723"><a href="#local-6989586621679158723"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158724"><a href="#local-6989586621679158724"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-146"></a><span> </span><a name="local-6989586621679158725"><a href="#local-6989586621679158725"><span class="hs-identifier">httpResponse</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier hs-var">dispatchLbs</span></a><span> </span><a href="#local-6989586621679158721"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158722"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158723"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158724"><span class="hs-identifier hs-var">accept</span></a><span>
|
||||
</span><a name="line-147"></a><span> </span><a name="local-6989586621679158728"><a href="#local-6989586621679158728"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-glyph"><-</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">"Client"</span><span> </span><a href="#local-6989586621679158722"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-149"></a><span> </span><span class="hs-keyword">do</span><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier hs-var">mimeUnrender'</span></a><span> </span><a href="#local-6989586621679158724"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseBody</span><span> </span><a href="#local-6989586621679158725"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-150"></a><span> </span><span class="hs-identifier hs-var">Left</span><span> </span><a name="local-6989586621679158726"><a href="#local-6989586621679158726"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-151"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><span class="hs-string">"Client"</span><span> </span><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier hs-var">levelError</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><a href="#local-6989586621679158726"><span class="hs-identifier hs-var">s</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-152"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Left</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-var">MimeError</span></a><span> </span><a href="#local-6989586621679158726"><span class="hs-identifier hs-var">s</span></a><span> </span><a href="#local-6989586621679158725"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-153"></a><span> </span><span class="hs-identifier hs-var">Right</span><span> </span><a name="local-6989586621679158727"><a href="#local-6989586621679158727"><span class="hs-identifier">r</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Right</span><span> </span><a href="#local-6989586621679158727"><span class="hs-identifier hs-var">r</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-154"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a href="#local-6989586621679158728"><span class="hs-identifier hs-var">parsedResult</span></a><span> </span><a href="#local-6989586621679158725"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-15"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
|
||||
</span><a name="line-16"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
|
||||
</span><a name="line-17"></a><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
|
||||
</span><a name="line-18"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
|
||||
</span><a name="line-19"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
|
||||
</span><a name="line-20"></a><span class="hs-pragma">{-# LANGUAGE DeriveFunctor #-}</span><span>
|
||||
</span><a name="line-21"></a><span class="hs-pragma">{-# LANGUAGE DeriveFoldable #-}</span><span>
|
||||
</span><a name="line-22"></a><span class="hs-pragma">{-# LANGUAGE DeriveTraversable #-}</span><span>
|
||||
</span><a name="line-23"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
|
||||
</span><a name="line-24"></a><span>
|
||||
</span><a name="line-25"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-26"></a><span>
|
||||
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
|
||||
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
|
||||
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
|
||||
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
|
||||
</span><a name="line-31"></a><span>
|
||||
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-33"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
|
||||
</span><a name="line-34"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
|
||||
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Function</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-37"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var"><></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-38"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-39"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-40"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-41"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-42"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Catch</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">MonadThrow</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-43"></a><span>
|
||||
</span><a name="line-44"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Time</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</span><span>
|
||||
</span><a name="line-45"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Map</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Map</span><span>
|
||||
</span><a name="line-46"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-47"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-48"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Printf</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-49"></a><span>
|
||||
</span><a name="line-50"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
|
||||
</span><a name="line-51"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
|
||||
</span><a name="line-52"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
|
||||
</span><a name="line-53"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
|
||||
</span><a name="line-54"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
|
||||
</span><a name="line-55"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-56"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">TLS</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-57"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span class="hs-operator">.</span><span class="hs-identifier">MultipartFormData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-58"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">Method</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-59"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-60"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span class="hs-operator">.</span><span class="hs-identifier">URI</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</span><span>
|
||||
</span><a name="line-61"></a><span>
|
||||
</span><a name="line-62"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
|
||||
</span><a name="line-63"></a><span class="hs-comment">-- * Config</span><span>
|
||||
</span><a name="line-64"></a><span>
|
||||
</span><a name="line-65"></a><span class="hs-comment">-- | </span><span>
|
||||
</span><a name="line-66"></a><span class="hs-keyword">data</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="SwaggerPetstoreConfig"><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier">SwaggerPetstoreConfig</span></a></a><span>
|
||||
</span><a name="line-67"></a><span> </span><span class="hs-special">{</span><span> </span><a name="configHost"><a href="SwaggerPetstore.Client.html#configHost"><span class="hs-identifier">configHost</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ host supplied in the Request</span><span>
|
||||
</span><a name="line-68"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configUserAgent"><a href="SwaggerPetstore.Client.html#configUserAgent"><span class="hs-identifier">configUserAgent</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ user-agent supplied in the Request</span><span>
|
||||
</span><a name="line-69"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogExecWithContext"><a href="SwaggerPetstore.Client.html#configLogExecWithContext"><span class="hs-identifier">configLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span> </span><span class="hs-comment">-- ^ Run a block using a Logger instance</span><span>
|
||||
</span><a name="line-70"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLogContext"><a href="SwaggerPetstore.Client.html#configLogContext"><span class="hs-identifier">configLogContext</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-comment">-- ^ Configures the logger</span><span>
|
||||
</span><a name="line-71"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configAuthMethods"><a href="SwaggerPetstore.Client.html#configAuthMethods"><span class="hs-identifier">configAuthMethods</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.API.html#AnyAuthMethod"><span class="hs-identifier hs-type">AnyAuthMethod</span></a><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ List of configured auth methods</span><span>
|
||||
</span><a name="line-72"></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-73"></a><span>
|
||||
</span><a name="line-74"></a><span class="hs-comment">-- | display the config</span><span>
|
||||
</span><a name="line-75"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">Show</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-76"></a><span> </span><a name="local-8214565720323792830"><span class="hs-identifier">show</span></a><span> </span><a name="local-6989586621679161225"><a href="#local-6989586621679161225"><span class="hs-identifier">c</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-77"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">printf</span><span>
|
||||
</span><a name="line-78"></a><span> </span><span class="hs-string">"{ configHost = %v, configUserAgent = %v, ..}"</span><span>
|
||||
</span><a name="line-79"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679161225"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-80"></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679161225"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-81"></a><span>
|
||||
</span><a name="line-82"></a><span class="hs-comment">-- | constructs a default SwaggerPetstoreConfig</span><span>
|
||||
</span><a name="line-83"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-84"></a><span class="hs-comment">-- configHost:</span><span>
|
||||
</span><a name="line-85"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-86"></a><span class="hs-comment">-- @http://petstore.swagger.io:80/v2@</span><span>
|
||||
</span><a name="line-87"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-88"></a><span class="hs-comment">-- configUserAgent:</span><span>
|
||||
</span><a name="line-89"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-90"></a><span class="hs-comment">-- @"swagger-haskell-http-client/1.0.0"@</span><span>
|
||||
</span><a name="line-91"></a><span class="hs-comment">--</span><span>
|
||||
</span><a name="line-92"></a><span class="hs-identifier">newConfig</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-93"></a><a name="newConfig"><a href="SwaggerPetstore.Client.html#newConfig"><span class="hs-identifier">newConfig</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-94"></a><span> </span><a name="local-6989586621679160729"><a href="#local-6989586621679160729"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier hs-var">initLogContext</span></a><span>
|
||||
</span><a name="line-95"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-96"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configHost</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">"http://petstore.swagger.io:80/v2"</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">"swagger-haskell-http-client/1.0.0"</span><span>
|
||||
</span><a name="line-98"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
|
||||
</span><a name="line-99"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160729"><span class="hs-identifier hs-var">logCxt</span></a><span>
|
||||
</span><a name="line-100"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configAuthMethods</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
|
||||
</span><a name="line-101"></a><span> </span><span class="hs-special">}</span><span> </span><span>
|
||||
</span><a name="line-102"></a><span>
|
||||
</span><a name="line-103"></a><span class="hs-comment">-- | updates config use AuthMethod on matching requests</span><span>
|
||||
</span><a name="line-104"></a><span class="hs-identifier">addAuthMethod</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.API.html#AuthMethod"><span class="hs-identifier hs-type">AuthMethod</span></a><span> </span><a href="#local-6989586621679160728"><span class="hs-identifier hs-type">auth</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679160728"><span class="hs-identifier hs-type">auth</span></a><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><a name="line-105"></a><a name="addAuthMethod"><a href="SwaggerPetstore.Client.html#addAuthMethod"><span class="hs-identifier">addAuthMethod</span></a></a><span> </span><a name="local-6989586621679160730"><a href="#local-6989586621679160730"><span class="hs-identifier">config</span></a></a><span class="hs-glyph">@</span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-special">{</span><span class="hs-identifier">configAuthMethods</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">as</span><span class="hs-special">}</span><span> </span><a name="local-6989586621679160732"><a href="#local-6989586621679160732"><span class="hs-identifier">a</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-106"></a><span> </span><a href="#local-6989586621679160730"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configAuthMethods</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#AnyAuthMethod"><span class="hs-identifier hs-var">AnyAuthMethod</span></a><span> </span><a href="#local-6989586621679160732"><span class="hs-identifier hs-var">a</span></a><span> </span><span class="hs-glyph">:</span><span> </span><span class="hs-keyword">as</span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-107"></a><span>
|
||||
</span><a name="line-108"></a><span class="hs-comment">-- | updates the config to use stdout logging</span><span>
|
||||
</span><a name="line-109"></a><span class="hs-identifier">withStdoutLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-110"></a><a name="withStdoutLogging"><a href="SwaggerPetstore.Client.html#withStdoutLogging"><span class="hs-identifier">withStdoutLogging</span></a></a><span> </span><a name="local-6989586621679160733"><a href="#local-6989586621679160733"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-111"></a><span> </span><a name="local-6989586621679160734"><a href="#local-6989586621679160734"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier hs-var">stdoutLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679160733"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-112"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679160733"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier hs-var">stdoutLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160734"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-113"></a><span>
|
||||
</span><a name="line-114"></a><span class="hs-comment">-- | updates the config to use stderr logging</span><span>
|
||||
</span><a name="line-115"></a><span class="hs-identifier">withStderrLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-116"></a><a name="withStderrLogging"><a href="SwaggerPetstore.Client.html#withStderrLogging"><span class="hs-identifier">withStderrLogging</span></a></a><span> </span><a name="local-6989586621679160735"><a href="#local-6989586621679160735"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-117"></a><span> </span><a name="local-6989586621679160736"><a href="#local-6989586621679160736"><span class="hs-identifier">logCxt</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier hs-var">stderrLoggingContext</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679160735"><span class="hs-identifier hs-var">p</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-118"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679160735"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier hs-var">stderrLoggingExec</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLogContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160736"><span class="hs-identifier hs-var">logCxt</span></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-119"></a><span>
|
||||
</span><a name="line-120"></a><span class="hs-comment">-- | updates the config to disable logging</span><span>
|
||||
</span><a name="line-121"></a><span class="hs-identifier">withNoLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
|
||||
</span><a name="line-122"></a><a name="withNoLogging"><a href="SwaggerPetstore.Client.html#withNoLogging"><span class="hs-identifier">withNoLogging</span></a></a><span> </span><a name="local-6989586621679160737"><a href="#local-6989586621679160737"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679160737"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier hs-var">runNullLogExec</span></a><span class="hs-special">}</span><span>
|
||||
</span><a name="line-123"></a><span>
|
||||
</span><a name="line-124"></a><span class="hs-comment">-- * Dispatch</span><span>
|
||||
</span><a name="line-125"></a><span>
|
||||
</span><a name="line-126"></a><span class="hs-comment">-- ** Lbs</span><span>
|
||||
</span><a name="line-127"></a><span>
|
||||
</span><a name="line-128"></a><span class="hs-comment">-- | send a request returning the raw http response</span><span>
|
||||
</span><a name="line-129"></a><span class="hs-identifier">dispatchLbs</span><span>
|
||||
</span><a name="line-130"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679160724"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160725"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160726"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-131"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-132"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-133"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160724"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160726"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160727"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-134"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679160725"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-135"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-136"></a><a name="dispatchLbs"><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier">dispatchLbs</span></a></a><span> </span><a name="local-6989586621679160738"><a href="#local-6989586621679160738"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160739"><a href="#local-6989586621679160739"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160740"><a href="#local-6989586621679160740"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160741"><a href="#local-6989586621679160741"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-137"></a><span> </span><a name="local-6989586621679160742"><a href="#local-6989586621679160742"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679160739"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160740"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160741"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
|
||||
</span><a name="line-138"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679160738"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160739"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160742"><span class="hs-identifier hs-var">initReq</span></a><span>
|
||||
</span><a name="line-139"></a><span>
|
||||
</span><a name="line-140"></a><span class="hs-comment">-- ** Mime</span><span>
|
||||
</span><a name="line-141"></a><span>
|
||||
</span><a name="line-142"></a><span class="hs-comment">-- | pair of decoded http body and http response</span><span>
|
||||
</span><a name="line-143"></a><span class="hs-keyword">data</span><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><a name="local-6989586621679160689"><a href="#local-6989586621679160689"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-144"></a><span> </span><a name="MimeResult"><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier">MimeResult</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="mimeResult"><a href="SwaggerPetstore.Client.html#mimeResult"><span class="hs-identifier">mimeResult</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679160689"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ decoded http body</span><span>
|
||||
</span><a name="line-145"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeResultResponse"><a href="SwaggerPetstore.Client.html#mimeResultResponse"><span class="hs-identifier">mimeResultResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
|
||||
</span><a name="line-146"></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-147"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Functor</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Foldable</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Traversable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-148"></a><span>
|
||||
</span><a name="line-149"></a><span class="hs-comment">-- | pair of unrender/parser error and http response</span><span>
|
||||
</span><a name="line-150"></a><span class="hs-keyword">data</span><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-151"></a><span> </span><a name="MimeError"><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier">MimeError</span></a></a><span> </span><span class="hs-special">{</span><span>
|
||||
</span><a name="line-152"></a><span> </span><a name="mimeError"><a href="SwaggerPetstore.Client.html#mimeError"><span class="hs-identifier">mimeError</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-comment">-- ^ unrender/parser error</span><span>
|
||||
</span><a name="line-153"></a><span> </span><span class="hs-special">,</span><span> </span><a name="mimeErrorResponse"><a href="SwaggerPetstore.Client.html#mimeErrorResponse"><span class="hs-identifier">mimeErrorResponse</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-comment">-- ^ http response </span><span>
|
||||
</span><a name="line-154"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-155"></a><span>
|
||||
</span><a name="line-156"></a><span class="hs-comment">-- | like 'dispatchMime', but only returns the decoded http body</span><span>
|
||||
</span><a name="line-157"></a><span class="hs-identifier">dispatchMime'</span><span>
|
||||
</span><a name="line-158"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679158698"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158699"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679158699"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679158700"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158701"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-156"></a><span class="hs-comment">-- | send a request returning the 'MimeResult'</span><span>
|
||||
</span><a name="line-157"></a><span class="hs-identifier">dispatchMime</span><span>
|
||||
</span><a name="line-158"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679160720"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160721"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679160721"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679160722"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160723"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-159"></a><span> </span><span class="hs-glyph">=></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">-></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">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158698"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158701"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158700"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-162"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679158699"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-163"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679158700"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-164"></a><a name="dispatchMime%27"><a href="SwaggerPetstore.Client.html#dispatchMime%27"><span class="hs-identifier">dispatchMime'</span></a></a><span> </span><a name="local-6989586621679158729"><a href="#local-6989586621679158729"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158730"><a href="#local-6989586621679158730"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158731"><a href="#local-6989586621679158731"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158732"><a href="#local-6989586621679158732"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-165"></a><span> </span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a name="local-6989586621679158733"><a href="#local-6989586621679158733"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier hs-var">dispatchMime</span></a><span> </span><a href="#local-6989586621679158729"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158730"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158731"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158732"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
|
||||
</span><a name="line-166"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679158733"><span class="hs-identifier hs-var">parsedResult</span></a><span>
|
||||
</span><a name="line-167"></a><span>
|
||||
</span><a name="line-168"></a><span class="hs-comment">-- ** Unsafe</span><span>
|
||||
</span><a name="line-169"></a><span>
|
||||
</span><a name="line-170"></a><span class="hs-comment">-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the "accept" 'MimeType'. (Useful if the server's response is undocumented)</span><span>
|
||||
</span><a name="line-171"></a><span class="hs-identifier">dispatchLbsUnsafe</span><span>
|
||||
</span><a name="line-172"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158694"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158695"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-173"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-174"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-175"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158696"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158695"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158697"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-176"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679158694"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-177"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-178"></a><a name="dispatchLbsUnsafe"><a href="SwaggerPetstore.Client.html#dispatchLbsUnsafe"><span class="hs-identifier">dispatchLbsUnsafe</span></a></a><span> </span><a name="local-6989586621679158734"><a href="#local-6989586621679158734"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158735"><a href="#local-6989586621679158735"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679158736"><a href="#local-6989586621679158736"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679158737"><a href="#local-6989586621679158737"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-179"></a><span> </span><a name="local-6989586621679158738"><a href="#local-6989586621679158738"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679158735"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158736"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679158737"><span class="hs-identifier hs-var">accept</span></a><span>
|
||||
</span><a name="line-180"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679158734"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679158735"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679158738"><span class="hs-identifier hs-var">initReq</span></a><span>
|
||||
</span><a name="line-181"></a><span>
|
||||
</span><a name="line-182"></a><span class="hs-comment">-- | dispatch an InitRequest</span><span>
|
||||
</span><a name="line-183"></a><span class="hs-identifier">dispatchInitUnsafe</span><span>
|
||||
</span><a name="line-184"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-185"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-186"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158690"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158691"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158692"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158693"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ init request</span><span>
|
||||
</span><a name="line-187"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-188"></a><a name="dispatchInitUnsafe"><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier">dispatchInitUnsafe</span></a></a><span> </span><a name="local-6989586621679158739"><a href="#local-6989586621679158739"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679158740"><a href="#local-6989586621679158740"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679158741"><a href="#local-6989586621679158741"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-189"></a><span> </span><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier hs-var">runConfigLogWithExceptions</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="#local-6989586621679158740"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-190"></a><span> </span><span class="hs-keyword">do</span><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><a href="#local-6989586621679158744"><span class="hs-identifier hs-var">requestLogMsg</span></a><span>
|
||||
</span><a name="line-191"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><a href="#local-6989586621679158745"><span class="hs-identifier hs-var">requestDbgLogMsg</span></a><span>
|
||||
</span><a name="line-192"></a><span> </span><a name="local-6989586621679159177"><a href="#local-6989586621679159177"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">liftIO</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">httpLbs</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><a href="#local-6989586621679158739"><span class="hs-identifier hs-var">manager</span></a><span>
|
||||
</span><a name="line-193"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679158747"><span class="hs-identifier hs-var">responseLogMsg</span></a><span> </span><a href="#local-6989586621679159177"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-194"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679158742"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679159177"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-195"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679159177"><span class="hs-identifier hs-var">res</span></a><span>
|
||||
</span><a name="line-196"></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-197"></a><span> </span><a name="local-6989586621679158742"><a href="#local-6989586621679158742"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">"Client"</span><span>
|
||||
</span><a name="line-198"></a><span> </span><a name="local-6989586621679158743"><a href="#local-6989586621679158743"><span class="hs-identifier">endpoint</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-199"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-200"></a><span> </span><span class="hs-identifier hs-var">BC</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-201"></a><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var"><></span><span> </span><span class="hs-string">" "</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">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"><></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"><></span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span>
|
||||
</span><a name="line-202"></a><span> </span><a name="local-6989586621679158744"><a href="#local-6989586621679158744"><span class="hs-identifier">requestLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">"REQ:"</span><span> </span><span class="hs-operator hs-var"><></span><span> </span><a href="#local-6989586621679158743"><span class="hs-identifier hs-var">endpoint</span></a><span>
|
||||
</span><a name="line-203"></a><span> </span><a name="local-6989586621679158745"><a href="#local-6989586621679158745"><span class="hs-identifier">requestDbgLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-204"></a><span> </span><span class="hs-string">"Headers="</span><span> </span><span class="hs-operator hs-var"><></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"><></span><span> </span><span class="hs-string">" Body="</span><span> </span><span class="hs-operator hs-var"><></span><span>
|
||||
</span><a name="line-205"></a><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><a href="#local-6989586621679158741"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-206"></a><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a name="local-6989586621679158748"><a href="#local-6989586621679158748"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span> </span><a href="#local-6989586621679158748"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-207"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-string">"<RequestBody>"</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-208"></a><span> </span><a name="local-6989586621679158746"><a href="#local-6989586621679158746"><span class="hs-identifier">responseStatusCode</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">statusCode</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseStatus</span><span>
|
||||
</span><a name="line-209"></a><span> </span><a name="local-6989586621679158747"><a href="#local-6989586621679158747"><span class="hs-identifier">responseLogMsg</span></a></a><span> </span><a name="local-6989586621679159123"><a href="#local-6989586621679159123"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-210"></a><span> </span><span class="hs-string">"RES:statusCode="</span><span> </span><span class="hs-operator hs-var"><></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"><></span><span> </span><span class="hs-string">" ("</span><span> </span><span class="hs-operator hs-var"><></span><span> </span><a href="#local-6989586621679158743"><span class="hs-identifier hs-var">endpoint</span></a><span> </span><span class="hs-operator hs-var"><></span><span> </span><span class="hs-string">")"</span><span>
|
||||
</span><a name="line-211"></a><span>
|
||||
</span><a name="line-212"></a><span class="hs-comment">-- * InitRequest</span><span>
|
||||
</span><a name="line-213"></a><span>
|
||||
</span><a name="line-214"></a><span class="hs-comment">-- | wraps an http-client 'Request' with request/response type parameters</span><span>
|
||||
</span><a name="line-215"></a><span class="hs-keyword">newtype</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span> </span><a name="local-6989586621679158670"><a href="#local-6989586621679158670"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679158671"><a href="#local-6989586621679158671"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679158672"><a href="#local-6989586621679158672"><span class="hs-identifier">res</span></a></a><span> </span><a name="local-6989586621679158673"><a href="#local-6989586621679158673"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span>
|
||||
</span><a name="line-216"></a><span> </span><span class="hs-special">{</span><span> </span><a name="unInitRequest"><a href="SwaggerPetstore.Client.html#unInitRequest"><span class="hs-identifier">unInitRequest</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span>
|
||||
</span><a name="line-217"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-218"></a><span>
|
||||
</span><a name="line-219"></a><span class="hs-comment">-- | Build an http-client 'Request' record from the supplied config and request</span><span>
|
||||
</span><a name="line-220"></a><span class="hs-identifier">_toInitRequest</span><span>
|
||||
</span><a name="line-221"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158686"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679158687"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-222"></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-223"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679158688"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158687"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158689"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-224"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679158686"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-225"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158688"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158687"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158689"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158686"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ initialized request</span><span>
|
||||
</span><a name="line-226"></a><a name="_toInitRequest"><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier">_toInitRequest</span></a></a><span> </span><a name="local-6989586621679159178"><a href="#local-6989586621679159178"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679159179"><a href="#local-6989586621679159179"><span class="hs-identifier">req0</span></a></a><span> </span><a name="local-6989586621679159180"><a href="#local-6989586621679159180"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-227"></a><span> </span><a name="local-6989586621679159181"><a href="#local-6989586621679159181"><span class="hs-identifier">parsedReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">parseRequest</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">append</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679159178"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">concat</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rUrlPath</span><span> </span><a href="#local-6989586621679159179"><span class="hs-identifier hs-var">req0</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-228"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679159182"><a href="#local-6989586621679159182"><span class="hs-identifier">req1</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#_setAcceptHeader"><span class="hs-identifier hs-var">_setAcceptHeader</span></a><span> </span><a href="#local-6989586621679159179"><span class="hs-identifier hs-var">req0</span></a><span> </span><a href="#local-6989586621679159180"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-operator hs-var">&</span><span> </span><a href="SwaggerPetstore.API.html#_setContentTypeHeader"><span class="hs-identifier hs-var">_setContentTypeHeader</span></a><span>
|
||||
</span><a name="line-229"></a><span> </span><a name="local-6989586621679159183"><a href="#local-6989586621679159183"><span class="hs-identifier">reqHeaders</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-string">"User-Agent"</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toHeader</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679159178"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">:</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-230"></a><span> </span><a name="local-6989586621679159184"><a href="#local-6989586621679159184"><span class="hs-identifier">reqQuery</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">renderQuery</span><span> </span><span class="hs-identifier hs-var">True</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">paramsQuery</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-231"></a><span> </span><a name="local-6989586621679159185"><a href="#local-6989586621679159185"><span class="hs-identifier">pReq</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679159181"><span class="hs-identifier hs-var">parsedReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rMethod</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-232"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestHeaders</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679159183"><span class="hs-identifier hs-var">reqHeaders</span></a><span>
|
||||
</span><a name="line-233"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679159184"><span class="hs-identifier hs-var">reqQuery</span></a><span>
|
||||
</span><a name="line-234"></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-235"></a><span> </span><a name="local-6989586621679159190"><a href="#local-6989586621679159190"><span class="hs-identifier">outReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679159182"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-236"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyNone"><span class="hs-identifier hs-var">ParamBodyNone</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-237"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyB"><span class="hs-identifier hs-var">ParamBodyB</span></a><span> </span><a name="local-6989586621679159186"><a href="#local-6989586621679159186"><span class="hs-identifier">bs</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyBS</span><span> </span><a href="#local-6989586621679159186"><span class="hs-identifier hs-var">bs</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-238"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyBL"><span class="hs-identifier hs-var">ParamBodyBL</span></a><span> </span><a name="local-6989586621679159187"><a href="#local-6989586621679159187"><span class="hs-identifier">bl</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a href="#local-6989586621679159187"><span class="hs-identifier hs-var">bl</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-239"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier hs-var">ParamBodyFormUrlEncoded</span></a><span> </span><a name="local-6989586621679159188"><a href="#local-6989586621679159188"><span class="hs-identifier">form</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeForm</span><span> </span><a href="#local-6989586621679159188"><span class="hs-identifier hs-var">form</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-240"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier hs-var">ParamBodyMultipartFormData</span></a><span> </span><a name="local-6989586621679159189"><a href="#local-6989586621679159189"><span class="hs-identifier">parts</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formDataBody</span><span> </span><a href="#local-6989586621679159189"><span class="hs-identifier hs-var">parts</span></a><span> </span><a href="#local-6989586621679159185"><span class="hs-identifier hs-var">pReq</span></a><span>
|
||||
</span><a name="line-241"></a><span>
|
||||
</span><a name="line-242"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a href="#local-6989586621679159190"><span class="hs-identifier hs-var">outReq</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-243"></a><span>
|
||||
</span><a name="line-244"></a><span class="hs-comment">-- | modify the underlying Request</span><span>
|
||||
</span><a name="line-245"></a><span class="hs-identifier">modifyInitRequest</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158682"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158683"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158684"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158685"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-></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">-></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">-></span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158682"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158683"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158684"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158685"><span class="hs-identifier hs-type">accept</span></a><span> </span><span>
|
||||
</span><a name="line-246"></a><a name="modifyInitRequest"><a href="SwaggerPetstore.Client.html#modifyInitRequest"><span class="hs-identifier">modifyInitRequest</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679159191"><a href="#local-6989586621679159191"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679159192"><a href="#local-6989586621679159192"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159192"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679159191"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-247"></a><span>
|
||||
</span><a name="line-248"></a><span class="hs-comment">-- | modify the underlying Request (monadic)</span><span>
|
||||
</span><a name="line-249"></a><span class="hs-identifier">modifyInitRequestM</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Monad</span><span> </span><a href="#local-6989586621679158677"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=></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">-></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">-></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">-></span><span> </span><a href="#local-6989586621679158677"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679158678"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679158679"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679158680"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679158681"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-250"></a><a name="modifyInitRequestM"><a href="SwaggerPetstore.Client.html#modifyInitRequestM"><span class="hs-identifier">modifyInitRequestM</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679159193"><a href="#local-6989586621679159193"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679159194"><a href="#local-6989586621679159194"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679159194"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679159193"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-251"></a><span>
|
||||
</span><a name="line-252"></a><span class="hs-comment">-- ** Logging </span><span>
|
||||
</span><a name="line-253"></a><span>
|
||||
</span><a name="line-254"></a><span class="hs-comment">-- | Run a block using the configured logger instance</span><span>
|
||||
</span><a name="line-255"></a><span class="hs-identifier">runConfigLog</span><span>
|
||||
</span><a name="line-256"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679158676"><span class="hs-identifier hs-type">m</span></a><span>
|
||||
</span><a name="line-257"></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679158676"><span class="hs-identifier hs-type">m</span></a><span>
|
||||
</span><a name="line-258"></a><a name="runConfigLog"><a href="SwaggerPetstore.Client.html#runConfigLog"><span class="hs-identifier">runConfigLog</span></a></a><span> </span><a name="local-6989586621679159195"><a href="#local-6989586621679159195"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">configLogExecWithContext</span><span> </span><a href="#local-6989586621679159195"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLogContext</span><span> </span><a href="#local-6989586621679159195"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-259"></a><span>
|
||||
</span><a name="line-260"></a><span class="hs-comment">-- | Run a block using the configured logger instance (logs exceptions)</span><span>
|
||||
</span><a name="line-261"></a><span class="hs-identifier">runConfigLogWithExceptions</span><span>
|
||||
</span><a name="line-262"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadCatch</span><span> </span><a href="#local-6989586621679158675"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679158675"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-263"></a><span> </span><span class="hs-glyph">=></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">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679158675"><span class="hs-identifier hs-type">m</span></a><span>
|
||||
</span><a name="line-264"></a><a name="runConfigLogWithExceptions"><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier">runConfigLogWithExceptions</span></a></a><span> </span><a name="local-6989586621679159196"><a href="#local-6989586621679159196"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679159197"><a href="#local-6989586621679159197"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#runConfigLog"><span class="hs-identifier hs-var">runConfigLog</span></a><span> </span><a href="#local-6989586621679159197"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="SwaggerPetstore.Logging.html#logExceptions"><span class="hs-identifier hs-var">logExceptions</span></a><span> </span><a href="#local-6989586621679159196"><span class="hs-identifier hs-var">src</span></a><span>
|
||||
</span><a name="line-265"></a></pre></body></html>
|
||||
</span><a name="line-161"></a><span> </span><span class="hs-glyph">-></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">-></span><span> </span><a href="#local-6989586621679160721"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-163"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-type">MimeResult</span></a><span> </span><a href="#local-6989586621679160722"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-164"></a><a name="dispatchMime"><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier">dispatchMime</span></a></a><span> </span><a name="local-6989586621679160743"><a href="#local-6989586621679160743"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160744"><a href="#local-6989586621679160744"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160745"><a href="#local-6989586621679160745"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160746"><a href="#local-6989586621679160746"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-165"></a><span> </span><a name="local-6989586621679160747"><a href="#local-6989586621679160747"><span class="hs-identifier">httpResponse</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier hs-var">dispatchLbs</span></a><span> </span><a href="#local-6989586621679160743"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160744"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160745"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160746"><span class="hs-identifier hs-var">accept</span></a><span>
|
||||
</span><a name="line-166"></a><span> </span><a name="local-6989586621679160750"><a href="#local-6989586621679160750"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-glyph"><-</span><span>
|
||||
</span><a name="line-167"></a><span> </span><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier hs-var">runConfigLogWithExceptions</span></a><span> </span><span class="hs-string">"Client"</span><span> </span><a href="#local-6989586621679160744"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-168"></a><span> </span><span class="hs-keyword">do</span><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier hs-var">mimeUnrender'</span></a><span> </span><a href="#local-6989586621679160746"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseBody</span><span> </span><a href="#local-6989586621679160747"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-169"></a><span> </span><span class="hs-identifier hs-var">Left</span><span> </span><a name="local-6989586621679160748"><a href="#local-6989586621679160748"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-170"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><span class="hs-string">"Client"</span><span> </span><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier hs-var">levelError</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><a href="#local-6989586621679160748"><span class="hs-identifier hs-var">s</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-171"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Left</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-var">MimeError</span></a><span> </span><a href="#local-6989586621679160748"><span class="hs-identifier hs-var">s</span></a><span> </span><a href="#local-6989586621679160747"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-172"></a><span> </span><span class="hs-identifier hs-var">Right</span><span> </span><a name="local-6989586621679160749"><a href="#local-6989586621679160749"><span class="hs-identifier">r</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Right</span><span> </span><a href="#local-6989586621679160749"><span class="hs-identifier hs-var">r</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-173"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a href="#local-6989586621679160750"><span class="hs-identifier hs-var">parsedResult</span></a><span> </span><a href="#local-6989586621679160747"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-174"></a><span>
|
||||
</span><a name="line-175"></a><span class="hs-comment">-- | like 'dispatchMime', but only returns the decoded http body</span><span>
|
||||
</span><a name="line-176"></a><span class="hs-identifier">dispatchMime'</span><span>
|
||||
</span><a name="line-177"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="#local-6989586621679160716"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160717"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="#local-6989586621679160717"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679160718"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160719"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-178"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-179"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-180"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160716"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160719"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160718"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-181"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679160717"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-182"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679160718"><span class="hs-identifier hs-type">res</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-183"></a><a name="dispatchMime%27"><a href="SwaggerPetstore.Client.html#dispatchMime%27"><span class="hs-identifier">dispatchMime'</span></a></a><span> </span><a name="local-6989586621679160751"><a href="#local-6989586621679160751"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160752"><a href="#local-6989586621679160752"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160753"><a href="#local-6989586621679160753"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160754"><a href="#local-6989586621679160754"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-184"></a><span> </span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a name="local-6989586621679160755"><a href="#local-6989586621679160755"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier hs-var">dispatchMime</span></a><span> </span><a href="#local-6989586621679160751"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160752"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160753"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160754"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
|
||||
</span><a name="line-185"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679160755"><span class="hs-identifier hs-var">parsedResult</span></a><span>
|
||||
</span><a name="line-186"></a><span>
|
||||
</span><a name="line-187"></a><span class="hs-comment">-- ** Unsafe</span><span>
|
||||
</span><a name="line-188"></a><span>
|
||||
</span><a name="line-189"></a><span class="hs-comment">-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the "accept" 'MimeType'. (Useful if the server's response is undocumented)</span><span>
|
||||
</span><a name="line-190"></a><span class="hs-identifier">dispatchLbsUnsafe</span><span>
|
||||
</span><a name="line-191"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160712"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160713"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-192"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-193"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-194"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160714"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160713"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160715"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-195"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679160712"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-196"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-197"></a><a name="dispatchLbsUnsafe"><a href="SwaggerPetstore.Client.html#dispatchLbsUnsafe"><span class="hs-identifier">dispatchLbsUnsafe</span></a></a><span> </span><a name="local-6989586621679160756"><a href="#local-6989586621679160756"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160757"><a href="#local-6989586621679160757"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679160758"><a href="#local-6989586621679160758"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679160759"><a href="#local-6989586621679160759"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-198"></a><span> </span><a name="local-6989586621679160760"><a href="#local-6989586621679160760"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679160757"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160758"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679160759"><span class="hs-identifier hs-var">accept</span></a><span>
|
||||
</span><a name="line-199"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679160756"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679160757"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679160760"><span class="hs-identifier hs-var">initReq</span></a><span>
|
||||
</span><a name="line-200"></a><span>
|
||||
</span><a name="line-201"></a><span class="hs-comment">-- | dispatch an InitRequest</span><span>
|
||||
</span><a name="line-202"></a><span class="hs-identifier">dispatchInitUnsafe</span><span>
|
||||
</span><a name="line-203"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
|
||||
</span><a name="line-204"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-205"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160708"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160709"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160710"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160711"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ init request</span><span>
|
||||
</span><a name="line-206"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
|
||||
</span><a name="line-207"></a><a name="dispatchInitUnsafe"><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier">dispatchInitUnsafe</span></a></a><span> </span><a name="local-6989586621679160761"><a href="#local-6989586621679160761"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679160762"><a href="#local-6989586621679160762"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a name="local-6989586621679160763"><a href="#local-6989586621679160763"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-208"></a><span> </span><a href="SwaggerPetstore.Client.html#runConfigLogWithExceptions"><span class="hs-identifier hs-var">runConfigLogWithExceptions</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="#local-6989586621679160762"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-209"></a><span> </span><span class="hs-keyword">do</span><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><a href="#local-6989586621679160766"><span class="hs-identifier hs-var">requestLogMsg</span></a><span>
|
||||
</span><a name="line-210"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><a href="#local-6989586621679160767"><span class="hs-identifier hs-var">requestDbgLogMsg</span></a><span>
|
||||
</span><a name="line-211"></a><span> </span><a name="local-6989586621679161199"><a href="#local-6989586621679161199"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">liftIO</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">httpLbs</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><a href="#local-6989586621679160761"><span class="hs-identifier hs-var">manager</span></a><span>
|
||||
</span><a name="line-212"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier hs-var">levelInfo</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679160769"><span class="hs-identifier hs-var">responseLogMsg</span></a><span> </span><a href="#local-6989586621679161199"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-213"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679160764"><span class="hs-identifier hs-var">src</span></a><span> </span><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier hs-var">levelDebug</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679161199"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-214"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679161199"><span class="hs-identifier hs-var">res</span></a><span>
|
||||
</span><a name="line-215"></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-216"></a><span> </span><a name="local-6989586621679160764"><a href="#local-6989586621679160764"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">"Client"</span><span>
|
||||
</span><a name="line-217"></a><span> </span><a name="local-6989586621679160765"><a href="#local-6989586621679160765"><span class="hs-identifier">endpoint</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-218"></a><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-219"></a><span> </span><span class="hs-identifier hs-var">BC</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span>
|
||||
</span><a name="line-220"></a><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var"><></span><span> </span><span class="hs-string">" "</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">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"><></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"><></span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span>
|
||||
</span><a name="line-221"></a><span> </span><a name="local-6989586621679160766"><a href="#local-6989586621679160766"><span class="hs-identifier">requestLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">"REQ:"</span><span> </span><span class="hs-operator hs-var"><></span><span> </span><a href="#local-6989586621679160765"><span class="hs-identifier hs-var">endpoint</span></a><span>
|
||||
</span><a name="line-222"></a><span> </span><a name="local-6989586621679160767"><a href="#local-6989586621679160767"><span class="hs-identifier">requestDbgLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-223"></a><span> </span><span class="hs-string">"Headers="</span><span> </span><span class="hs-operator hs-var"><></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"><></span><span> </span><span class="hs-string">" Body="</span><span> </span><span class="hs-operator hs-var"><></span><span>
|
||||
</span><a name="line-224"></a><span> </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><a href="#local-6989586621679160763"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-225"></a><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a name="local-6989586621679160770"><a href="#local-6989586621679160770"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span> </span><a href="#local-6989586621679160770"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-226"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-string">"<RequestBody>"</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-227"></a><span> </span><a name="local-6989586621679160768"><a href="#local-6989586621679160768"><span class="hs-identifier">responseStatusCode</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">statusCode</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">responseStatus</span><span>
|
||||
</span><a name="line-228"></a><span> </span><a name="local-6989586621679160769"><a href="#local-6989586621679160769"><span class="hs-identifier">responseLogMsg</span></a></a><span> </span><a name="local-6989586621679161145"><a href="#local-6989586621679161145"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-229"></a><span> </span><span class="hs-string">"RES:statusCode="</span><span> </span><span class="hs-operator hs-var"><></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"><></span><span> </span><span class="hs-string">" ("</span><span> </span><span class="hs-operator hs-var"><></span><span> </span><a href="#local-6989586621679160765"><span class="hs-identifier hs-var">endpoint</span></a><span> </span><span class="hs-operator hs-var"><></span><span> </span><span class="hs-string">")"</span><span>
|
||||
</span><a name="line-230"></a><span>
|
||||
</span><a name="line-231"></a><span class="hs-comment">-- * InitRequest</span><span>
|
||||
</span><a name="line-232"></a><span>
|
||||
</span><a name="line-233"></a><span class="hs-comment">-- | wraps an http-client 'Request' with request/response type parameters</span><span>
|
||||
</span><a name="line-234"></a><span class="hs-keyword">newtype</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span> </span><a name="local-6989586621679160685"><a href="#local-6989586621679160685"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679160686"><a href="#local-6989586621679160686"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679160687"><a href="#local-6989586621679160687"><span class="hs-identifier">res</span></a></a><span> </span><a name="local-6989586621679160688"><a href="#local-6989586621679160688"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="InitRequest"><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier">InitRequest</span></a></a><span>
|
||||
</span><a name="line-235"></a><span> </span><span class="hs-special">{</span><span> </span><a name="unInitRequest"><a href="SwaggerPetstore.Client.html#unInitRequest"><span class="hs-identifier">unInitRequest</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span>
|
||||
</span><a name="line-236"></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-237"></a><span>
|
||||
</span><a name="line-238"></a><span class="hs-comment">-- | Build an http-client 'Request' record from the supplied config and request</span><span>
|
||||
</span><a name="line-239"></a><span class="hs-identifier">_toInitRequest</span><span>
|
||||
</span><a name="line-240"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160704"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679160705"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-241"></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
|
||||
</span><a name="line-242"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160705"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160707"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
|
||||
</span><a name="line-243"></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679160704"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ "accept" 'MimeType'</span><span>
|
||||
</span><a name="line-244"></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679160706"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160705"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160707"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679160704"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ initialized request</span><span>
|
||||
</span><a name="line-245"></a><a name="_toInitRequest"><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier">_toInitRequest</span></a></a><span> </span><a name="local-6989586621679161200"><a href="#local-6989586621679161200"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679161201"><a href="#local-6989586621679161201"><span class="hs-identifier">req0</span></a></a><span> </span><a name="local-6989586621679161202"><a href="#local-6989586621679161202"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-246"></a><span> </span><a name="local-6989586621679161203"><a href="#local-6989586621679161203"><span class="hs-identifier">parsedReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">parseRequest</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">append</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679161200"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">concat</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rUrlPath</span><span> </span><a href="#local-6989586621679161201"><span class="hs-identifier hs-var">req0</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-247"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679161204"><a href="#local-6989586621679161204"><span class="hs-identifier">req1</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#_applyAuthMethods"><span class="hs-identifier hs-var">_applyAuthMethods</span></a><span> </span><a href="#local-6989586621679161201"><span class="hs-identifier hs-var">req0</span></a><span> </span><a href="#local-6989586621679161200"><span class="hs-identifier hs-var">config</span></a><span>
|
||||
</span><a name="line-248"></a><span> </span><span class="hs-operator hs-var">&</span><span> </span><a href="SwaggerPetstore.API.html#_setContentTypeHeader"><span class="hs-identifier hs-var">_setContentTypeHeader</span></a><span>
|
||||
</span><a name="line-249"></a><span> </span><span class="hs-operator hs-var">&</span><span> </span><span class="hs-identifier hs-var">flip</span><span> </span><a href="SwaggerPetstore.API.html#_setAcceptHeader"><span class="hs-identifier hs-var">_setAcceptHeader</span></a><span> </span><a href="#local-6989586621679161202"><span class="hs-identifier hs-var">accept</span></a><span>
|
||||
</span><a name="line-250"></a><span> </span><a name="local-6989586621679161205"><a href="#local-6989586621679161205"><span class="hs-identifier">reqHeaders</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-string">"User-Agent"</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toHeader</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679161200"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">:</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-251"></a><span> </span><a name="local-6989586621679161206"><a href="#local-6989586621679161206"><span class="hs-identifier">reqQuery</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">renderQuery</span><span> </span><span class="hs-identifier hs-var">True</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">paramsQuery</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-252"></a><span> </span><a name="local-6989586621679161207"><a href="#local-6989586621679161207"><span class="hs-identifier">pReq</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679161203"><span class="hs-identifier hs-var">parsedReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">method</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rMethod</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-253"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestHeaders</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679161205"><span class="hs-identifier hs-var">reqHeaders</span></a><span>
|
||||
</span><a name="line-254"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679161206"><span class="hs-identifier hs-var">reqQuery</span></a><span>
|
||||
</span><a name="line-255"></a><span> </span><span class="hs-special">}</span><span>
|
||||
</span><a name="line-256"></a><span> </span><a name="local-6989586621679161212"><a href="#local-6989586621679161212"><span class="hs-identifier">outReq</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">rParams</span><span> </span><a href="#local-6989586621679161204"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-257"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyNone"><span class="hs-identifier hs-var">ParamBodyNone</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-258"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyB"><span class="hs-identifier hs-var">ParamBodyB</span></a><span> </span><a name="local-6989586621679161208"><a href="#local-6989586621679161208"><span class="hs-identifier">bs</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyBS</span><span> </span><a href="#local-6989586621679161208"><span class="hs-identifier hs-var">bs</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-259"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyBL"><span class="hs-identifier hs-var">ParamBodyBL</span></a><span> </span><a name="local-6989586621679161209"><a href="#local-6989586621679161209"><span class="hs-identifier">bl</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><a href="#local-6989586621679161209"><span class="hs-identifier hs-var">bl</span></a><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-260"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier hs-var">ParamBodyFormUrlEncoded</span></a><span> </span><a name="local-6989586621679161210"><a href="#local-6989586621679161210"><span class="hs-identifier">form</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestBody</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">RequestBodyLBS</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeForm</span><span> </span><a href="#local-6989586621679161210"><span class="hs-identifier hs-var">form</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-261"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier hs-var">ParamBodyMultipartFormData</span></a><span> </span><a name="local-6989586621679161211"><a href="#local-6989586621679161211"><span class="hs-identifier">parts</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formDataBody</span><span> </span><a href="#local-6989586621679161211"><span class="hs-identifier hs-var">parts</span></a><span> </span><a href="#local-6989586621679161207"><span class="hs-identifier hs-var">pReq</span></a><span>
|
||||
</span><a name="line-262"></a><span>
|
||||
</span><a name="line-263"></a><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-var">InitRequest</span></a><span> </span><a href="#local-6989586621679161212"><span class="hs-identifier hs-var">outReq</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-264"></a><span>
|
||||
</span><a name="line-265"></a><span class="hs-comment">-- | apply all matching AuthMethods in config to request</span><span>
|
||||
</span><a name="line-266"></a><span class="hs-identifier">_applyAuthMethods</span><span>
|
||||
</span><a name="line-267"></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679160701"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679160702"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679160703"><span class="hs-identifier hs-type">res</span></a><span>
|
||||
</span><a name="line-268"></a><span> </span><span class="hs-glyph">-></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">-></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">-></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">-></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">-></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">=></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">-></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">-></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">-></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">=></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></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">=></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">-></span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-></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>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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: \" \\
|
||||
|
||||
OpenAPI spec version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}</span><span>
|
||||
</span><a name="line-10"></a><span>
|
||||
</span><a name="line-11"></a><span class="hs-comment">{-|
|
||||
Module : SwaggerPetstore.Logging
|
||||
Katip Logging functions
|
||||
-}</span><span>
|
||||
</span><a name="line-5"></a><span>
|
||||
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
|
||||
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
|
||||
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
|
||||
</span><a name="line-9"></a><span>
|
||||
</span><a name="line-10"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-11"></a><span>
|
||||
</span><a name="line-12"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-13"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-14"></a><span>
|
||||
</span><a name="line-15"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
|
||||
</span><a name="line-16"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-17"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Trans</span><span class="hs-operator">.</span><span class="hs-identifier">Reader</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-19"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Lens</span><span class="hs-operator">.</span><span class="hs-identifier">Micro</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">L</span><span>
|
||||
</span><a name="line-20"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">System</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">IO</span><span>
|
||||
</span><a name="line-15"></a><span>
|
||||
</span><a name="line-16"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
|
||||
</span><a name="line-17"></a><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
|
||||
</span><a name="line-18"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
|
||||
</span><a name="line-19"></a><span>
|
||||
</span><a name="line-20"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-21"></a><span>
|
||||
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Katip</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">LG</span><span>
|
||||
</span><a name="line-23"></a><span>
|
||||
</span><a name="line-24"></a><span class="hs-comment">-- * Type Aliases (for compatability)</span><span>
|
||||
</span><a name="line-25"></a><span>
|
||||
</span><a name="line-26"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-27"></a><span class="hs-keyword">type</span><span> </span><a name="LogExecWithContext"><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier">LogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096641"><a href="#local-6989586621679096641"><span class="hs-identifier">m</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=></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">-></span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span>
|
||||
</span><a name="line-29"></a><span>
|
||||
</span><a name="line-30"></a><span class="hs-comment">-- | A Katip logging block</span><span>
|
||||
</span><a name="line-31"></a><span class="hs-keyword">type</span><span> </span><a name="LogExec"><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier">LogExec</span></a></a><span> </span><a name="local-6989586621679096639"><a href="#local-6989586621679096639"><span class="hs-identifier">m</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096640"><a href="#local-6989586621679096640"><span class="hs-identifier">a</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">KatipT</span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span>
|
||||
</span><a name="line-32"></a><span>
|
||||
</span><a name="line-33"></a><span class="hs-comment">-- | A Katip Log environment</span><span>
|
||||
</span><a name="line-34"></a><span class="hs-keyword">type</span><span> </span><a name="LogContext"><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier">LogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogEnv</span><span>
|
||||
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-23"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-24"></a><span>
|
||||
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Safe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">E</span><span>
|
||||
</span><a name="line-26"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Trans</span><span class="hs-operator">.</span><span class="hs-identifier">Reader</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Lens</span><span class="hs-operator">.</span><span class="hs-identifier">Micro</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">L</span><span>
|
||||
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">System</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">IO</span><span>
|
||||
</span><a name="line-31"></a><span>
|
||||
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Katip</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">LG</span><span>
|
||||
</span><a name="line-33"></a><span>
|
||||
</span><a name="line-34"></a><span class="hs-comment">-- * Type Aliases (for compatability)</span><span>
|
||||
</span><a name="line-35"></a><span>
|
||||
</span><a name="line-36"></a><span class="hs-comment">-- | A Katip Log severity</span><span>
|
||||
</span><a name="line-37"></a><span class="hs-keyword">type</span><span> </span><a name="LogLevel"><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier">LogLevel</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Severity</span><span>
|
||||
</span><a name="line-38"></a><span>
|
||||
</span><a name="line-39"></a><span class="hs-comment">-- * default logger</span><span>
|
||||
</span><a name="line-40"></a><span>
|
||||
</span><a name="line-41"></a><span class="hs-comment">-- | the default log environment</span><span>
|
||||
</span><a name="line-42"></a><span class="hs-identifier">initLogContext</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
|
||||
</span><a name="line-43"></a><a name="initLogContext"><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier">initLogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">initLogEnv</span><span> </span><span class="hs-string">"SwaggerPetstore"</span><span> </span><span class="hs-string">"dev"</span><span>
|
||||
</span><a name="line-44"></a><span>
|
||||
</span><a name="line-45"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-46"></a><span class="hs-identifier">runDefaultLogExecWithContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-47"></a><a name="runDefaultLogExecWithContext"><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier">runDefaultLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">runKatipT</span><span>
|
||||
</span><a name="line-36"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-37"></a><span class="hs-keyword">type</span><span> </span><a name="LogExecWithContext"><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier">LogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096641"><a href="#local-6989586621679096641"><span class="hs-identifier">m</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadIO</span><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=></span><span>
|
||||
</span><a name="line-38"></a><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier hs-type">LogExec</span></a><span> </span><a href="#local-6989586621679096641"><span class="hs-identifier hs-type">m</span></a><span>
|
||||
</span><a name="line-39"></a><span>
|
||||
</span><a name="line-40"></a><span class="hs-comment">-- | A Katip logging block</span><span>
|
||||
</span><a name="line-41"></a><span class="hs-keyword">type</span><span> </span><a name="LogExec"><a href="SwaggerPetstore.Logging.html#LogExec"><span class="hs-identifier">LogExec</span></a></a><span> </span><a name="local-6989586621679096639"><a href="#local-6989586621679096639"><span class="hs-identifier">m</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096640"><a href="#local-6989586621679096640"><span class="hs-identifier">a</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">KatipT</span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679096639"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096640"><span class="hs-identifier hs-type">a</span></a><span>
|
||||
</span><a name="line-42"></a><span>
|
||||
</span><a name="line-43"></a><span class="hs-comment">-- | A Katip Log environment</span><span>
|
||||
</span><a name="line-44"></a><span class="hs-keyword">type</span><span> </span><a name="LogContext"><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier">LogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogEnv</span><span>
|
||||
</span><a name="line-45"></a><span>
|
||||
</span><a name="line-46"></a><span class="hs-comment">-- | A Katip Log severity</span><span>
|
||||
</span><a name="line-47"></a><span class="hs-keyword">type</span><span> </span><a name="LogLevel"><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier">LogLevel</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Severity</span><span>
|
||||
</span><a name="line-48"></a><span>
|
||||
</span><a name="line-49"></a><span class="hs-comment">-- * stdout logger</span><span>
|
||||
</span><a name="line-49"></a><span class="hs-comment">-- * default logger</span><span>
|
||||
</span><a name="line-50"></a><span>
|
||||
</span><a name="line-51"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-52"></a><span class="hs-identifier">stdoutLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-53"></a><a name="stdoutLoggingExec"><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier">stdoutLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
|
||||
</span><a name="line-51"></a><span class="hs-comment">-- | the default log environment</span><span>
|
||||
</span><a name="line-52"></a><span class="hs-identifier">initLogContext</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
|
||||
</span><a name="line-53"></a><a name="initLogContext"><a href="SwaggerPetstore.Logging.html#initLogContext"><span class="hs-identifier">initLogContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">initLogEnv</span><span> </span><span class="hs-string">"SwaggerPetstore"</span><span> </span><span class="hs-string">"dev"</span><span>
|
||||
</span><a name="line-54"></a><span>
|
||||
</span><a name="line-55"></a><span class="hs-comment">-- | A Katip Log environment which targets stdout</span><span>
|
||||
</span><a name="line-56"></a><span class="hs-identifier">stdoutLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
|
||||
</span><a name="line-57"></a><a name="stdoutLoggingContext"><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier">stdoutLoggingContext</span></a></a><span> </span><a name="local-6989586621679097049"><a href="#local-6989586621679097049"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-58"></a><span> </span><a name="local-6989586621679097185"><a href="#local-6989586621679097185"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stdout</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
|
||||
</span><a name="line-59"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">"stdout"</span><span> </span><a href="#local-6989586621679097185"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097049"><span class="hs-identifier hs-var">cxt</span></a><span>
|
||||
</span><a name="line-55"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-56"></a><span class="hs-identifier">runDefaultLogExecWithContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-57"></a><a name="runDefaultLogExecWithContext"><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier">runDefaultLogExecWithContext</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">runKatipT</span><span>
|
||||
</span><a name="line-58"></a><span>
|
||||
</span><a name="line-59"></a><span class="hs-comment">-- * stdout logger</span><span>
|
||||
</span><a name="line-60"></a><span>
|
||||
</span><a name="line-61"></a><span class="hs-comment">-- * stderr logger</span><span>
|
||||
</span><a name="line-62"></a><span>
|
||||
</span><a name="line-63"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-64"></a><span class="hs-identifier">stderrLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-65"></a><a name="stderrLoggingExec"><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier">stderrLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
|
||||
</span><a name="line-66"></a><span>
|
||||
</span><a name="line-67"></a><span class="hs-comment">-- | A Katip Log environment which targets stderr</span><span>
|
||||
</span><a name="line-68"></a><span class="hs-identifier">stderrLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
|
||||
</span><a name="line-69"></a><a name="stderrLoggingContext"><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier">stderrLoggingContext</span></a></a><span> </span><a name="local-6989586621679097186"><a href="#local-6989586621679097186"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-70"></a><span> </span><a name="local-6989586621679097187"><a href="#local-6989586621679097187"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stderr</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
|
||||
</span><a name="line-71"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">"stderr"</span><span> </span><a href="#local-6989586621679097187"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097186"><span class="hs-identifier hs-var">cxt</span></a><span>
|
||||
</span><a name="line-61"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-62"></a><span class="hs-identifier">stdoutLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-63"></a><a name="stdoutLoggingExec"><a href="SwaggerPetstore.Logging.html#stdoutLoggingExec"><span class="hs-identifier">stdoutLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
|
||||
</span><a name="line-64"></a><span>
|
||||
</span><a name="line-65"></a><span class="hs-comment">-- | A Katip Log environment which targets stdout</span><span>
|
||||
</span><a name="line-66"></a><span class="hs-identifier">stdoutLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
|
||||
</span><a name="line-67"></a><a name="stdoutLoggingContext"><a href="SwaggerPetstore.Logging.html#stdoutLoggingContext"><span class="hs-identifier">stdoutLoggingContext</span></a></a><span> </span><a name="local-6989586621679097049"><a href="#local-6989586621679097049"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-68"></a><span> </span><a name="local-6989586621679097185"><a href="#local-6989586621679097185"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stdout</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
|
||||
</span><a name="line-69"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">"stdout"</span><span> </span><a href="#local-6989586621679097185"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097049"><span class="hs-identifier hs-var">cxt</span></a><span>
|
||||
</span><a name="line-70"></a><span>
|
||||
</span><a name="line-71"></a><span class="hs-comment">-- * stderr logger</span><span>
|
||||
</span><a name="line-72"></a><span>
|
||||
</span><a name="line-73"></a><span class="hs-comment">-- * Null logger</span><span>
|
||||
</span><a name="line-74"></a><span>
|
||||
</span><a name="line-75"></a><span class="hs-comment">-- | Disables Katip logging</span><span>
|
||||
</span><a name="line-76"></a><span class="hs-identifier">runNullLogExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-77"></a><a name="runNullLogExec"><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier">runNullLogExec</span></a></a><span> </span><a name="local-6989586621679097188"><a href="#local-6989586621679097188"><span class="hs-identifier">le</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">KatipT</span><span> </span><a name="local-6989586621679097189"><a href="#local-6989586621679097189"><span class="hs-identifier">f</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">P</span><span class="hs-operator">.</span><span class="hs-identifier">runReaderT</span><span> </span><a href="#local-6989586621679097189"><span class="hs-identifier hs-var">f</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">L</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">set</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logEnvScribes</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><a href="#local-6989586621679097188"><span class="hs-identifier hs-var">le</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-78"></a><span>
|
||||
</span><a name="line-79"></a><span class="hs-comment">-- * Log Msg</span><span>
|
||||
</span><a name="line-80"></a><span>
|
||||
</span><a name="line-81"></a><span class="hs-comment">-- | Log a katip message</span><span>
|
||||
</span><a name="line-82"></a><span class="hs-identifier">_log</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">Text</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><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-83"></a><a name="_log"><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier">_log</span></a></a><span> </span><a name="local-6989586621679097190"><a href="#local-6989586621679097190"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679097191"><a href="#local-6989586621679097191"><span class="hs-identifier">level</span></a></a><span> </span><a name="local-6989586621679097192"><a href="#local-6989586621679097192"><span class="hs-identifier">msg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-84"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logMsg</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><a href="#local-6989586621679097190"><span class="hs-identifier hs-var">src</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097191"><span class="hs-identifier hs-var">level</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logStr</span><span> </span><a href="#local-6989586621679097192"><span class="hs-identifier hs-var">msg</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-85"></a><span>
|
||||
</span><a name="line-86"></a><span class="hs-comment">-- * Log Exceptions</span><span>
|
||||
</span><a name="line-87"></a><span>
|
||||
</span><a name="line-88"></a><span class="hs-comment">-- | re-throws exceptions after logging them</span><span>
|
||||
</span><a name="line-89"></a><span class="hs-identifier">logExceptions</span><span>
|
||||
</span><a name="line-90"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadCatch</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-91"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-></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">-></span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096643"><span class="hs-identifier hs-type">a</span></a><span>
|
||||
</span><a name="line-92"></a><a name="logExceptions"><a href="SwaggerPetstore.Logging.html#logExceptions"><span class="hs-identifier">logExceptions</span></a></a><span> </span><a name="local-6989586621679097193"><a href="#local-6989586621679097193"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-93"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">handle</span><span>
|
||||
</span><a name="line-94"></a><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679097454"><a href="#local-6989586621679097454"><span class="hs-identifier">e</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">SomeException</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-95"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679097193"><span class="hs-identifier hs-var">src</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-96"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">throw</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-73"></a><span class="hs-comment">-- | Runs a Katip logging block with the Log environment</span><span>
|
||||
</span><a name="line-74"></a><span class="hs-identifier">stderrLoggingExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-75"></a><a name="stderrLoggingExec"><a href="SwaggerPetstore.Logging.html#stderrLoggingExec"><span class="hs-identifier">stderrLoggingExec</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Logging.html#runDefaultLogExecWithContext"><span class="hs-identifier hs-var">runDefaultLogExecWithContext</span></a><span>
|
||||
</span><a name="line-76"></a><span>
|
||||
</span><a name="line-77"></a><span class="hs-comment">-- | A Katip Log environment which targets stderr</span><span>
|
||||
</span><a name="line-78"></a><span class="hs-identifier">stderrLoggingContext</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="SwaggerPetstore.Logging.html#LogContext"><span class="hs-identifier hs-type">LogContext</span></a><span>
|
||||
</span><a name="line-79"></a><a name="stderrLoggingContext"><a href="SwaggerPetstore.Logging.html#stderrLoggingContext"><span class="hs-identifier">stderrLoggingContext</span></a></a><span> </span><a name="local-6989586621679097186"><a href="#local-6989586621679097186"><span class="hs-identifier">cxt</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-80"></a><span> </span><a name="local-6989586621679097187"><a href="#local-6989586621679097187"><span class="hs-identifier">handleScribe</span></a></a><span> </span><span class="hs-glyph"><-</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mkHandleScribe</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ColorIfTerminal</span><span> </span><span class="hs-identifier hs-var">IO</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">stderr</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">V2</span><span>
|
||||
</span><a name="line-81"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">registerScribe</span><span> </span><span class="hs-string">"stderr"</span><span> </span><a href="#local-6989586621679097187"><span class="hs-identifier hs-var">handleScribe</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultScribeSettings</span><span> </span><a href="#local-6989586621679097186"><span class="hs-identifier hs-var">cxt</span></a><span>
|
||||
</span><a name="line-82"></a><span>
|
||||
</span><a name="line-83"></a><span class="hs-comment">-- * Null logger</span><span>
|
||||
</span><a name="line-84"></a><span>
|
||||
</span><a name="line-85"></a><span class="hs-comment">-- | Disables Katip logging</span><span>
|
||||
</span><a name="line-86"></a><span class="hs-identifier">runNullLogExec</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogExecWithContext"><span class="hs-identifier hs-type">LogExecWithContext</span></a><span>
|
||||
</span><a name="line-87"></a><a name="runNullLogExec"><a href="SwaggerPetstore.Logging.html#runNullLogExec"><span class="hs-identifier">runNullLogExec</span></a></a><span> </span><a name="local-6989586621679097188"><a href="#local-6989586621679097188"><span class="hs-identifier">le</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">KatipT</span><span> </span><a name="local-6989586621679097189"><a href="#local-6989586621679097189"><span class="hs-identifier">f</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">P</span><span class="hs-operator">.</span><span class="hs-identifier">runReaderT</span><span> </span><a href="#local-6989586621679097189"><span class="hs-identifier hs-var">f</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">L</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">set</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logEnvScribes</span><span> </span><span class="hs-identifier hs-var">mempty</span><span> </span><a href="#local-6989586621679097188"><span class="hs-identifier hs-var">le</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-88"></a><span>
|
||||
</span><a name="line-89"></a><span class="hs-comment">-- * Log Msg</span><span>
|
||||
</span><a name="line-90"></a><span>
|
||||
</span><a name="line-91"></a><span class="hs-comment">-- | Log a katip message</span><span>
|
||||
</span><a name="line-92"></a><span class="hs-identifier">_log</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">Text</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><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679097048"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-93"></a><a name="_log"><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier">_log</span></a></a><span> </span><a name="local-6989586621679097190"><a href="#local-6989586621679097190"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679097191"><a href="#local-6989586621679097191"><span class="hs-identifier">level</span></a></a><span> </span><a name="local-6989586621679097192"><a href="#local-6989586621679097192"><span class="hs-identifier">msg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-94"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logMsg</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><a href="#local-6989586621679097190"><span class="hs-identifier hs-var">src</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097191"><span class="hs-identifier hs-var">level</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logStr</span><span> </span><a href="#local-6989586621679097192"><span class="hs-identifier hs-var">msg</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-95"></a><span>
|
||||
</span><a name="line-96"></a><span class="hs-comment">-- * Log Exceptions</span><span>
|
||||
</span><a name="line-97"></a><span>
|
||||
</span><a name="line-98"></a><span class="hs-comment">-- * Log Level</span><span>
|
||||
</span><a name="line-99"></a><span>
|
||||
</span><a name="line-100"></a><span class="hs-identifier">levelInfo</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
|
||||
</span><a name="line-101"></a><a name="levelInfo"><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier">levelInfo</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span>
|
||||
</span><a name="line-102"></a><span>
|
||||
</span><a name="line-103"></a><span class="hs-identifier">levelError</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
|
||||
</span><a name="line-104"></a><a name="levelError"><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier">levelError</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span>
|
||||
</span><a name="line-105"></a><span>
|
||||
</span><a name="line-106"></a><span class="hs-identifier">levelDebug</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
|
||||
</span><a name="line-107"></a><a name="levelDebug"><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier">levelDebug</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">DebugS</span><span>
|
||||
</span><a name="line-108"></a><span>
|
||||
</span><a name="line-109"></a></pre></body></html>
|
||||
</span><a name="line-98"></a><span class="hs-comment">-- | re-throws exceptions after logging them</span><span>
|
||||
</span><a name="line-99"></a><span class="hs-identifier">logExceptions</span><span>
|
||||
</span><a name="line-100"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Katip</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MonadCatch</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-101"></a><span> </span><span class="hs-glyph">=></span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-></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">-></span><span> </span><a href="#local-6989586621679096642"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679096643"><span class="hs-identifier hs-type">a</span></a><span>
|
||||
</span><a name="line-102"></a><a name="logExceptions"><a href="SwaggerPetstore.Logging.html#logExceptions"><span class="hs-identifier">logExceptions</span></a></a><span> </span><a name="local-6989586621679097193"><a href="#local-6989586621679097193"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-103"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">handle</span><span>
|
||||
</span><a name="line-104"></a><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679097454"><a href="#local-6989586621679097454"><span class="hs-identifier">e</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">SomeException</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-keyword">do</span><span>
|
||||
</span><a name="line-105"></a><span> </span><a href="SwaggerPetstore.Logging.html#_log"><span class="hs-identifier hs-var">_log</span></a><span> </span><a href="#local-6989586621679097193"><span class="hs-identifier hs-var">src</span></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-106"></a><span> </span><span class="hs-identifier hs-var">E</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">throw</span><span> </span><a href="#local-6989586621679097454"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-107"></a><span>
|
||||
</span><a name="line-108"></a><span class="hs-comment">-- * Log Level</span><span>
|
||||
</span><a name="line-109"></a><span>
|
||||
</span><a name="line-110"></a><span class="hs-identifier">levelInfo</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
|
||||
</span><a name="line-111"></a><a name="levelInfo"><a href="SwaggerPetstore.Logging.html#levelInfo"><span class="hs-identifier">levelInfo</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">InfoS</span><span>
|
||||
</span><a name="line-112"></a><span>
|
||||
</span><a name="line-113"></a><span class="hs-identifier">levelError</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
|
||||
</span><a name="line-114"></a><a name="levelError"><a href="SwaggerPetstore.Logging.html#levelError"><span class="hs-identifier">levelError</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">ErrorS</span><span>
|
||||
</span><a name="line-115"></a><span>
|
||||
</span><a name="line-116"></a><span class="hs-identifier">levelDebug</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Logging.html#LogLevel"><span class="hs-identifier hs-type">LogLevel</span></a><span>
|
||||
</span><a name="line-117"></a><a name="levelDebug"><a href="SwaggerPetstore.Logging.html#levelDebug"><span class="hs-identifier">levelDebug</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">DebugS</span><span>
|
||||
</span><a name="line-118"></a><span>
|
||||
</span><a name="line-119"></a></pre></body></html>
|
||||
@@ -1,220 +1,229 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span>
|
||||
</span><a name="line-2"></a><span class="hs-comment">{-|
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">{-
|
||||
Swagger Petstore
|
||||
|
||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
|
||||
OpenAPI spec version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}</span><span>
|
||||
</span><a name="line-10"></a><span>
|
||||
</span><a name="line-11"></a><span class="hs-comment">{-|
|
||||
Module : SwaggerPetstore.MimeTypes
|
||||
-}</span><span>
|
||||
</span><a name="line-5"></a><span>
|
||||
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE ConstraintKinds #-}</span><span>
|
||||
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
|
||||
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE FlexibleInstances #-}</span><span>
|
||||
</span><a name="line-9"></a><span class="hs-pragma">{-# LANGUAGE MultiParamTypeClasses #-}</span><span>
|
||||
</span><a name="line-10"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
|
||||
</span><a name="line-11"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
|
||||
</span><a name="line-12"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
|
||||
</span><a name="line-13"></a><span>
|
||||
</span><a name="line-14"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-15"></a><span>
|
||||
</span><a name="line-16"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">M</span><span>
|
||||
</span><a name="line-17"></a><span>
|
||||
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
|
||||
</span><a name="line-19"></a><span>
|
||||
</span><a name="line-20"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
|
||||
</span><a name="line-21"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
|
||||
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
|
||||
</span><a name="line-23"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
|
||||
</span><a name="line-24"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
|
||||
</span><a name="line-25"></a><span>
|
||||
</span><a name="line-14"></a><span>
|
||||
</span><a name="line-15"></a><span class="hs-pragma">{-# LANGUAGE ConstraintKinds #-}</span><span>
|
||||
</span><a name="line-16"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
|
||||
</span><a name="line-17"></a><span class="hs-pragma">{-# LANGUAGE FlexibleInstances #-}</span><span>
|
||||
</span><a name="line-18"></a><span class="hs-pragma">{-# LANGUAGE MultiParamTypeClasses #-}</span><span>
|
||||
</span><a name="line-19"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
|
||||
</span><a name="line-20"></a><span class="hs-pragma">{-# LANGUAGE ScopedTypeVariables #-}</span><span>
|
||||
</span><a name="line-21"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
|
||||
</span><a name="line-22"></a><span>
|
||||
</span><a name="line-23"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-24"></a><span>
|
||||
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">M</span><span>
|
||||
</span><a name="line-26"></a><span>
|
||||
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Media</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">ME</span><span>
|
||||
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
|
||||
</span><a name="line-28"></a><span>
|
||||
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-31"></a><span>
|
||||
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Data</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-33"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-34"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">String</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-37"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Arrow</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">left</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-38"></a><span>
|
||||
</span><a name="line-39"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">$</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var"><$></span><span class="hs-special">)</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 class="hs-identifier hs-type">Maybe</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Bool</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Char</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Double</span><span class="hs-special">,</span><span class="hs-identifier hs-type">FilePath</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Float</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Int</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Integer</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">,</span><span class="hs-identifier hs-var">undefined</span><span class="hs-special">,</span><span class="hs-identifier hs-var">mempty</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-40"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-41"></a><span>
|
||||
</span><a name="line-42"></a><span class="hs-comment">-- * Content Negotiation</span><span>
|
||||
</span><a name="line-43"></a><span>
|
||||
</span><a name="line-44"></a><span class="hs-comment">-- | A type for responses without content-body.</span><span>
|
||||
</span><a name="line-45"></a><span class="hs-keyword">data</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span>
|
||||
</span><a name="line-46"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</span><span>
|
||||
</span><a name="line-30"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</span><span>
|
||||
</span><a name="line-31"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</span><span>
|
||||
</span><a name="line-32"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</span><span>
|
||||
</span><a name="line-33"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</span><span class="hs-operator">.</span><span class="hs-identifier">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BCL</span><span>
|
||||
</span><a name="line-34"></a><span>
|
||||
</span><a name="line-35"></a><span>
|
||||
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Media</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">ME</span><span>
|
||||
</span><a name="line-37"></a><span>
|
||||
</span><a name="line-38"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">FormUrlEncoded</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-39"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
|
||||
</span><a name="line-40"></a><span>
|
||||
</span><a name="line-41"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Data</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-42"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-43"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-44"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">String</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-45"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Encoding</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</span><span>
|
||||
</span><a name="line-46"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Arrow</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">left</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-47"></a><span>
|
||||
</span><a name="line-48"></a><span class="hs-comment">-- ** Mime Types</span><span>
|
||||
</span><a name="line-49"></a><span>
|
||||
</span><a name="line-50"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-51"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-52"></a><span class="hs-keyword">data</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-53"></a><span class="hs-keyword">data</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-54"></a><span class="hs-keyword">data</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-55"></a><span class="hs-keyword">data</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-56"></a><span class="hs-keyword">data</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-57"></a><span class="hs-keyword">data</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-48"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">$</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var"><$></span><span class="hs-special">)</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 class="hs-identifier hs-type">Maybe</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Bool</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Char</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Double</span><span class="hs-special">,</span><span class="hs-identifier hs-type">FilePath</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Float</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Int</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Integer</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">,</span><span class="hs-identifier hs-var">undefined</span><span class="hs-special">,</span><span class="hs-identifier hs-var">mempty</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-49"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
|
||||
</span><a name="line-50"></a><span>
|
||||
</span><a name="line-51"></a><span class="hs-comment">-- * Content Negotiation</span><span>
|
||||
</span><a name="line-52"></a><span>
|
||||
</span><a name="line-53"></a><span class="hs-comment">-- | A type for responses without content-body.</span><span>
|
||||
</span><a name="line-54"></a><span class="hs-keyword">data</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="NoContent"><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier">NoContent</span></a></a><span>
|
||||
</span><a name="line-55"></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Eq</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-56"></a><span>
|
||||
</span><a name="line-57"></a><span class="hs-comment">-- ** Mime Types</span><span>
|
||||
</span><a name="line-58"></a><span>
|
||||
</span><a name="line-59"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-60"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-61"></a><span>
|
||||
</span><a name="line-62"></a><span class="hs-comment">-- ** MimeType Class</span><span>
|
||||
</span><a name="line-63"></a><span>
|
||||
</span><a name="line-64"></a><span class="hs-keyword">class</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="MimeType"><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier">MimeType</span></a></a><span> </span><a name="local-6989586621679091890"><a href="#local-6989586621679091890"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-65"></a><span> </span><span class="hs-pragma">{-# MINIMAL mimeType | mimeTypes #-}</span><span>
|
||||
</span><a name="line-66"></a><span>
|
||||
</span><a name="line-67"></a><span> </span><span class="hs-identifier">mimeTypes</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
|
||||
</span><a name="line-68"></a><span> </span><a name="local-8214565720323866764"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier">mimeTypes</span></a></a><span> </span><a name="local-6989586621679092039"><a href="#local-6989586621679092039"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-69"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><a href="#local-6989586621679092039"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-70"></a><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679092040"><a href="#local-6989586621679092040"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679092040"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
|
||||
</span><a name="line-71"></a><span> </span><span class="hs-identifier hs-var">Nothing</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
|
||||
</span><a name="line-59"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJSON"><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier">MimeJSON</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-60"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXML"><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier">MimeXML</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-61"></a><span class="hs-keyword">data</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimePlainText"><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier">MimePlainText</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-62"></a><span class="hs-keyword">data</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeFormUrlEncoded"><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier">MimeFormUrlEncoded</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-63"></a><span class="hs-keyword">data</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier">MimeMultipartFormData</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-64"></a><span class="hs-keyword">data</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeOctetStream"><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier">MimeOctetStream</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-65"></a><span class="hs-keyword">data</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeNoContent"><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier">MimeNoContent</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-66"></a><span class="hs-keyword">data</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeAny"><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier">MimeAny</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-67"></a><span>
|
||||
</span><a name="line-68"></a><span class="hs-keyword">data</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeXmlCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier">MimeXmlCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-69"></a><span class="hs-keyword">data</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="MimeJsonCharsetutf8"><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier">MimeJsonCharsetutf8</span></a></a><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</span><span>
|
||||
</span><a name="line-70"></a><span>
|
||||
</span><a name="line-71"></a><span class="hs-comment">-- ** MimeType Class</span><span>
|
||||
</span><a name="line-72"></a><span>
|
||||
</span><a name="line-73"></a><span> </span><span class="hs-identifier">mimeType</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
|
||||
</span><a name="line-74"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><a name="local-6989586621679092041"><a href="#local-6989586621679092041"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-75"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><a href="#local-6989586621679092041"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-76"></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
|
||||
</span><a name="line-77"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679092042"><a href="#local-6989586621679092042"><span class="hs-identifier">x</span></a></a><span class="hs-glyph">:</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679092042"><span class="hs-identifier hs-var">x</span></a><span>
|
||||
</span><a name="line-78"></a><span>
|
||||
</span><a name="line-79"></a><span> </span><span class="hs-identifier">mimeType'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
|
||||
</span><a name="line-80"></a><span> </span><a name="local-8214565720323866766"><a href="SwaggerPetstore.MimeTypes.html#mimeType%27"><span class="hs-identifier">mimeType'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-81"></a><span> </span><span class="hs-identifier">mimeTypes'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
|
||||
</span><a name="line-82"></a><span> </span><a name="local-8214565720323866767"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes%27"><span class="hs-identifier">mimeTypes'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-83"></a><span>
|
||||
</span><a name="line-84"></a><span class="hs-comment">-- ** MimeType Instances</span><span>
|
||||
</span><a name="line-85"></a><span>
|
||||
</span><a name="line-86"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
|
||||
</span><a name="line-87"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-88"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/json"</span><span>
|
||||
</span><a name="line-89"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
|
||||
</span><a name="line-90"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-91"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/xml"</span><span>
|
||||
</span><a name="line-92"></a><span class="hs-comment">-- | @application/x-www-form-urlencoded@</span><span>
|
||||
</span><a name="line-93"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-94"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/x-www-form-urlencoded"</span><span>
|
||||
</span><a name="line-95"></a><span class="hs-comment">-- | @multipart/form-data@</span><span>
|
||||
</span><a name="line-96"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-97"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"multipart/form-data"</span><span>
|
||||
</span><a name="line-98"></a><span class="hs-comment">-- | @text/plain; charset=utf-8@</span><span>
|
||||
</span><a name="line-99"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-100"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"text/plain"</span><span>
|
||||
</span><a name="line-101"></a><span class="hs-comment">-- | @application/octet-stream@</span><span>
|
||||
</span><a name="line-102"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-103"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/octet-stream"</span><span>
|
||||
</span><a name="line-104"></a><span class="hs-comment">-- | @"*/*"@</span><span>
|
||||
</span><a name="line-105"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier hs-type">MimeAny</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-106"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"*/*"</span><span>
|
||||
</span><a name="line-107"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-108"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
|
||||
</span><a name="line-109"></a><span>
|
||||
</span><a name="line-110"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
|
||||
</span><a name="line-111"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier hs-type">MimeXmlCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-112"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/xml; charset=utf-8"</span><span>
|
||||
</span><a name="line-113"></a><span>
|
||||
</span><a name="line-114"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
|
||||
</span><a name="line-115"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-116"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/json; charset=utf-8"</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">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092049"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
|
||||
</span><a name="line-118"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
|
||||
</span><a name="line-119"></a><span>
|
||||
</span><a name="line-120"></a><span>
|
||||
</span><a name="line-121"></a><span class="hs-comment">-- ** MimeRender Class</span><span>
|
||||
</span><a name="line-73"></a><span class="hs-keyword">class</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Typeable</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="MimeType"><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier">MimeType</span></a></a><span> </span><a name="local-6989586621679091890"><a href="#local-6989586621679091890"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-74"></a><span> </span><span class="hs-pragma">{-# MINIMAL mimeType | mimeTypes #-}</span><span>
|
||||
</span><a name="line-75"></a><span>
|
||||
</span><a name="line-76"></a><span> </span><span class="hs-identifier">mimeTypes</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
|
||||
</span><a name="line-77"></a><span> </span><a name="local-8214565720323866764"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier">mimeTypes</span></a></a><span> </span><a name="local-6989586621679092039"><a href="#local-6989586621679092039"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-78"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><a href="#local-6989586621679092039"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-79"></a><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679092040"><a href="#local-6989586621679092040"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679092040"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
|
||||
</span><a name="line-80"></a><span> </span><span class="hs-identifier hs-var">Nothing</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
|
||||
</span><a name="line-81"></a><span>
|
||||
</span><a name="line-82"></a><span> </span><span class="hs-identifier">mimeType</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
|
||||
</span><a name="line-83"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><a name="local-6989586621679092041"><a href="#local-6989586621679092041"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
|
||||
</span><a name="line-84"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><a href="#local-6989586621679092041"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
|
||||
</span><a name="line-85"></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
|
||||
</span><a name="line-86"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679092042"><a href="#local-6989586621679092042"><span class="hs-identifier">x</span></a></a><span class="hs-glyph">:</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679092042"><span class="hs-identifier hs-var">x</span></a><span>
|
||||
</span><a name="line-87"></a><span>
|
||||
</span><a name="line-88"></a><span> </span><span class="hs-identifier">mimeType'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
|
||||
</span><a name="line-89"></a><span> </span><a name="local-8214565720323866766"><a href="SwaggerPetstore.MimeTypes.html#mimeType%27"><span class="hs-identifier">mimeType'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier hs-var">mimeType</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-90"></a><span> </span><span class="hs-identifier">mimeTypes'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
|
||||
</span><a name="line-91"></a><span> </span><a name="local-8214565720323866767"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes%27"><span class="hs-identifier">mimeTypes'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier hs-var">mimeTypes</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091890"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
|
||||
</span><a name="line-92"></a><span>
|
||||
</span><a name="line-93"></a><span class="hs-comment">-- ** MimeType Instances</span><span>
|
||||
</span><a name="line-94"></a><span>
|
||||
</span><a name="line-95"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
|
||||
</span><a name="line-96"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-97"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/json"</span><span>
|
||||
</span><a name="line-98"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
|
||||
</span><a name="line-99"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-100"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/xml"</span><span>
|
||||
</span><a name="line-101"></a><span class="hs-comment">-- | @application/x-www-form-urlencoded@</span><span>
|
||||
</span><a name="line-102"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-103"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/x-www-form-urlencoded"</span><span>
|
||||
</span><a name="line-104"></a><span class="hs-comment">-- | @multipart/form-data@</span><span>
|
||||
</span><a name="line-105"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-106"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"multipart/form-data"</span><span>
|
||||
</span><a name="line-107"></a><span class="hs-comment">-- | @text/plain; charset=utf-8@</span><span>
|
||||
</span><a name="line-108"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-109"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"text/plain"</span><span>
|
||||
</span><a name="line-110"></a><span class="hs-comment">-- | @application/octet-stream@</span><span>
|
||||
</span><a name="line-111"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-112"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/octet-stream"</span><span>
|
||||
</span><a name="line-113"></a><span class="hs-comment">-- | @"*/*"@</span><span>
|
||||
</span><a name="line-114"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeAny"><span class="hs-identifier hs-type">MimeAny</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-115"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"*/*"</span><span>
|
||||
</span><a name="line-116"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-117"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
|
||||
</span><a name="line-118"></a><span>
|
||||
</span><a name="line-119"></a><span class="hs-comment">-- | @application/xml; charset=utf-8@</span><span>
|
||||
</span><a name="line-120"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXmlCharsetutf8"><span class="hs-identifier hs-type">MimeXmlCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-121"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/xml; charset=utf-8"</span><span>
|
||||
</span><a name="line-122"></a><span>
|
||||
</span><a name="line-123"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="MimeRender"><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier">MimeRender</span></a></a><span> </span><a name="local-6989586621679091887"><a href="#local-6989586621679091887"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091888"><a href="#local-6989586621679091888"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-124"></a><span> </span><span class="hs-identifier">mimeRender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
|
||||
</span><a name="line-125"></a><span> </span><span class="hs-identifier">mimeRender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
|
||||
</span><a name="line-126"></a><span> </span><a name="local-8214565720323866762"><a href="SwaggerPetstore.MimeTypes.html#mimeRender%27"><span class="hs-identifier">mimeRender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091889"><a href="#local-6989586621679091889"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier hs-var">mimeRender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091889"><span class="hs-identifier hs-var">x</span></a><span>
|
||||
</span><a name="line-127"></a><span>
|
||||
</span><a name="line-123"></a><span class="hs-comment">-- | @application/json; charset=utf-8@</span><span>
|
||||
</span><a name="line-124"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-125"></a><span> </span><a name="local-8214565720323866765"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromString</span><span> </span><span class="hs-string">"application/json; charset=utf-8"</span><span>
|
||||
</span><a name="line-126"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToJSON</span><span> </span><a href="#local-6989586621679092049"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092049"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
|
||||
</span><a name="line-127"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJsonCharsetutf8"><span class="hs-identifier hs-type">MimeJsonCharsetutf8</span></a><span> </span><a href="#local-6989586621679092048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
|
||||
</span><a name="line-128"></a><span>
|
||||
</span><a name="line-129"></a><span class="hs-comment">-- ** MimeRender Instances</span><span>
|
||||
</span><a name="line-130"></a><span>
|
||||
</span><a name="line-131"></a><span class="hs-comment">-- | `A.encode`</span><span>
|
||||
</span><a name="line-132"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToJSON</span><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
|
||||
</span><a name="line-133"></a><span class="hs-comment">-- | @WH.urlEncodeAsForm@</span><span>
|
||||
</span><a name="line-134"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToForm</span><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeAsForm</span><span>
|
||||
</span><a name="line-135"></a><span>
|
||||
</span><a name="line-136"></a><span class="hs-comment">-- | @P.id@</span><span>
|
||||
</span><a name="line-137"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-138"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
|
||||
</span><a name="line-139"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
|
||||
</span><a name="line-140"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
|
||||
</span><a name="line-141"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
|
||||
</span><a name="line-142"></a><span>
|
||||
</span><a name="line-143"></a><span class="hs-comment">-- | @P.id@</span><span>
|
||||
</span><a name="line-144"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-145"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
|
||||
</span><a name="line-146"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
|
||||
</span><a name="line-147"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
|
||||
</span><a name="line-148"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
|
||||
</span><a name="line-149"></a><span>
|
||||
</span><a name="line-150"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-151"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Binary"><span class="hs-identifier hs-type">Binary</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">unBinary</span><span>
|
||||
</span><a name="line-152"></a><span>
|
||||
</span><a name="line-153"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#ByteArray"><span class="hs-identifier hs-type">ByteArray</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-154"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Bool</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-155"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Char</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-156"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Date"><span class="hs-identifier hs-type">Date</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-157"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#DateTime"><span class="hs-identifier hs-type">DateTime</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-158"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Double</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-159"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Float</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-160"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Int</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-161"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-162"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-163"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-164"></a><span>
|
||||
</span><a name="line-165"></a><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToHttpApiData</span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
|
||||
</span><a name="line-166"></a><a name="mimeRenderDefaultMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toQueryParam</span><span>
|
||||
</span><a name="line-167"></a><span>
|
||||
</span><a name="line-168"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
|
||||
</span><a name="line-169"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">empty</span><span>
|
||||
</span><a name="line-170"></a><span>
|
||||
</span><a name="line-171"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Double where mimeRender _ = BB.toLazyByteString . BB.doubleDec</span><span>
|
||||
</span><a name="line-172"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Float where mimeRender _ = BB.toLazyByteString . BB.floatDec</span><span>
|
||||
</span><a name="line-173"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec</span><span>
|
||||
</span><a name="line-174"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Integer where mimeRender _ = BB.toLazyByteString . BB.integerDec</span><span>
|
||||
</span><a name="line-175"></a><span>
|
||||
</span><a name="line-176"></a><span class="hs-comment">-- instance MimeRender MimeXmlCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
|
||||
</span><a name="line-177"></a><span class="hs-comment">-- instance MimeRender MimeJsonCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
|
||||
</span><a name="line-178"></a><span>
|
||||
</span><a name="line-179"></a><span class="hs-comment">-- ** MimeUnrender Class</span><span>
|
||||
</span><a name="line-180"></a><span>
|
||||
</span><a name="line-181"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="MimeUnrender"><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier">MimeUnrender</span></a></a><span> </span><a name="local-6989586621679091884"><a href="#local-6989586621679091884"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091885"><a href="#local-6989586621679091885"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-182"></a><span> </span><span class="hs-identifier">mimeUnrender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></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">-></span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
|
||||
</span><a name="line-183"></a><span> </span><span class="hs-identifier">mimeUnrender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></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">-></span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
|
||||
</span><a name="line-184"></a><span> </span><a name="local-8214565720323866759"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier">mimeUnrender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091886"><a href="#local-6989586621679091886"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier hs-var">mimeUnrender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091886"><span class="hs-identifier hs-var">x</span></a><span>
|
||||
</span><a name="line-185"></a><span>
|
||||
</span><a name="line-186"></a><span class="hs-comment">-- ** MimeUnrender Instances</span><span>
|
||||
</span><a name="line-129"></a><span>
|
||||
</span><a name="line-130"></a><span class="hs-comment">-- ** MimeRender Class</span><span>
|
||||
</span><a name="line-131"></a><span>
|
||||
</span><a name="line-132"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="MimeRender"><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier">MimeRender</span></a></a><span> </span><a name="local-6989586621679091887"><a href="#local-6989586621679091887"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091888"><a href="#local-6989586621679091888"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-133"></a><span> </span><span class="hs-identifier">mimeRender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
|
||||
</span><a name="line-134"></a><span> </span><span class="hs-identifier">mimeRender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></span><span> </span><a href="#local-6989586621679091888"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
|
||||
</span><a name="line-135"></a><span> </span><a name="local-8214565720323866762"><a href="SwaggerPetstore.MimeTypes.html#mimeRender%27"><span class="hs-identifier">mimeRender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091889"><a href="#local-6989586621679091889"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier hs-var">mimeRender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091887"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091889"><span class="hs-identifier hs-var">x</span></a><span>
|
||||
</span><a name="line-136"></a><span>
|
||||
</span><a name="line-137"></a><span>
|
||||
</span><a name="line-138"></a><span class="hs-comment">-- ** MimeRender Instances</span><span>
|
||||
</span><a name="line-139"></a><span>
|
||||
</span><a name="line-140"></a><span class="hs-comment">-- | `A.encode`</span><span>
|
||||
</span><a name="line-141"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToJSON</span><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encode</span><span>
|
||||
</span><a name="line-142"></a><span class="hs-comment">-- | @WH.urlEncodeAsForm@</span><span>
|
||||
</span><a name="line-143"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToForm</span><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092046"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlEncodeAsForm</span><span>
|
||||
</span><a name="line-144"></a><span>
|
||||
</span><a name="line-145"></a><span class="hs-comment">-- | @P.id@</span><span>
|
||||
</span><a name="line-146"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-147"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
|
||||
</span><a name="line-148"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
|
||||
</span><a name="line-149"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
|
||||
</span><a name="line-150"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
|
||||
</span><a name="line-151"></a><span>
|
||||
</span><a name="line-152"></a><span class="hs-comment">-- | @P.id@</span><span>
|
||||
</span><a name="line-153"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-154"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
|
||||
</span><a name="line-155"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span>
|
||||
</span><a name="line-156"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
|
||||
</span><a name="line-157"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span>
|
||||
</span><a name="line-158"></a><span>
|
||||
</span><a name="line-159"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-160"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Binary"><span class="hs-identifier hs-type">Binary</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">unBinary</span><span>
|
||||
</span><a name="line-161"></a><span>
|
||||
</span><a name="line-162"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#ByteArray"><span class="hs-identifier hs-type">ByteArray</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-163"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Bool</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-164"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Char</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-165"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#Date"><span class="hs-identifier hs-type">Date</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-166"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><a href="SwaggerPetstore.Model.html#DateTime"><span class="hs-identifier hs-type">DateTime</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-167"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Double</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-168"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Float</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-169"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Int</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-170"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-171"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-172"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier hs-var">mimeRenderDefaultMultipartFormData</span></a><span>
|
||||
</span><a name="line-173"></a><span>
|
||||
</span><a name="line-174"></a><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ToHttpApiData</span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="#local-6989586621679092043"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-></span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
|
||||
</span><a name="line-175"></a><a name="mimeRenderDefaultMultipartFormData"><a href="SwaggerPetstore.MimeTypes.html#mimeRenderDefaultMultipartFormData"><span class="hs-identifier">mimeRenderDefaultMultipartFormData</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromStrict</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">encodeUtf8</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toQueryParam</span><span>
|
||||
</span><a name="line-176"></a><span>
|
||||
</span><a name="line-177"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
|
||||
</span><a name="line-178"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866761"><a href="SwaggerPetstore.MimeTypes.html#mimeRender"><span class="hs-identifier">mimeRender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">empty</span><span>
|
||||
</span><a name="line-179"></a><span>
|
||||
</span><a name="line-180"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Double where mimeRender _ = BB.toLazyByteString . BB.doubleDec</span><span>
|
||||
</span><a name="line-181"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Float where mimeRender _ = BB.toLazyByteString . BB.floatDec</span><span>
|
||||
</span><a name="line-182"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec</span><span>
|
||||
</span><a name="line-183"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Integer where mimeRender _ = BB.toLazyByteString . BB.integerDec</span><span>
|
||||
</span><a name="line-184"></a><span>
|
||||
</span><a name="line-185"></a><span class="hs-comment">-- instance MimeRender MimeXmlCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
|
||||
</span><a name="line-186"></a><span class="hs-comment">-- instance MimeRender MimeJsonCharsetutf8 T.Text where mimeRender _ = undefined</span><span>
|
||||
</span><a name="line-187"></a><span>
|
||||
</span><a name="line-188"></a><span class="hs-comment">-- | @A.eitherDecode@</span><span>
|
||||
</span><a name="line-189"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
|
||||
</span><a name="line-190"></a><span class="hs-comment">-- | @P.left T.unpack . WH.urlDecodeAsForm@</span><span>
|
||||
</span><a name="line-191"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromForm</span><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlDecodeAsForm</span><span>
|
||||
</span><a name="line-192"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
|
||||
</span><a name="line-193"></a><span>
|
||||
</span><a name="line-194"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-195"></a><span class="hs-comment">-- | @P.left P.show . TL.decodeUtf8'@</span><span>
|
||||
</span><a name="line-196"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
|
||||
</span><a name="line-197"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
|
||||
</span><a name="line-198"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
|
||||
</span><a name="line-199"></a><span>
|
||||
</span><a name="line-200"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
|
||||
</span><a name="line-201"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-202"></a><span class="hs-comment">-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@</span><span>
|
||||
</span><a name="line-203"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
|
||||
</span><a name="line-204"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
|
||||
</span><a name="line-205"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
|
||||
</span><a name="line-206"></a><span>
|
||||
</span><a name="line-207"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
|
||||
</span><a name="line-208"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-var">NoContent</span></a><span>
|
||||
</span><a name="line-209"></a><span>
|
||||
</span><a name="line-210"></a><span class="hs-comment">-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
|
||||
</span><a name="line-211"></a><span class="hs-comment">-- instance MimeUnrender MimeJsonCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
|
||||
</span><a name="line-212"></a><span>
|
||||
</span><a name="line-213"></a><span class="hs-comment">-- ** Request Consumes</span><span>
|
||||
</span><a name="line-214"></a><span>
|
||||
</span><a name="line-215"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091883"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="Consumes"><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier">Consumes</span></a></a><span> </span><a name="local-6989586621679091882"><a href="#local-6989586621679091882"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679091883"><a href="#local-6989586621679091883"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-216"></a><span>
|
||||
</span><a name="line-217"></a><span class="hs-comment">-- ** Request Produces</span><span>
|
||||
</span><a name="line-188"></a><span class="hs-comment">-- ** MimeUnrender Class</span><span>
|
||||
</span><a name="line-189"></a><span>
|
||||
</span><a name="line-190"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="MimeUnrender"><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier">MimeUnrender</span></a></a><span> </span><a name="local-6989586621679091884"><a href="#local-6989586621679091884"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679091885"><a href="#local-6989586621679091885"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-191"></a><span> </span><span class="hs-identifier">mimeUnrender</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></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">-></span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
|
||||
</span><a name="line-192"></a><span> </span><span class="hs-identifier">mimeUnrender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-></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">-></span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679091885"><span class="hs-identifier hs-type">o</span></a><span>
|
||||
</span><a name="line-193"></a><span> </span><a name="local-8214565720323866759"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender%27"><span class="hs-identifier">mimeUnrender'</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679091886"><a href="#local-6989586621679091886"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier hs-var">mimeUnrender</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Proxy</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Proxy</span><span> </span><a href="#local-6989586621679091884"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679091886"><span class="hs-identifier hs-var">x</span></a><span>
|
||||
</span><a name="line-194"></a><span>
|
||||
</span><a name="line-195"></a><span class="hs-comment">-- ** MimeUnrender Instances</span><span>
|
||||
</span><a name="line-196"></a><span>
|
||||
</span><a name="line-197"></a><span class="hs-comment">-- | @A.eitherDecode@</span><span>
|
||||
</span><a name="line-198"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromJSON</span><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679092045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">eitherDecode</span><span>
|
||||
</span><a name="line-199"></a><span class="hs-comment">-- | @P.left T.unpack . WH.urlDecodeAsForm@</span><span>
|
||||
</span><a name="line-200"></a><span class="hs-keyword">instance</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FromForm</span><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679092044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">urlDecodeAsForm</span><span>
|
||||
</span><a name="line-201"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
|
||||
</span><a name="line-202"></a><span>
|
||||
</span><a name="line-203"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-204"></a><span class="hs-comment">-- | @P.left P.show . TL.decodeUtf8'@</span><span>
|
||||
</span><a name="line-205"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
|
||||
</span><a name="line-206"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
|
||||
</span><a name="line-207"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimePlainText"><span class="hs-identifier hs-type">MimePlainText</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
|
||||
</span><a name="line-208"></a><span>
|
||||
</span><a name="line-209"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
|
||||
</span><a name="line-210"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">id</span><span>
|
||||
</span><a name="line-211"></a><span class="hs-comment">-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@</span><span>
|
||||
</span><a name="line-212"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">left</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8'</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span>
|
||||
</span><a name="line-213"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
|
||||
</span><a name="line-214"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span>
|
||||
</span><a name="line-215"></a><span>
|
||||
</span><a name="line-216"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
|
||||
</span><a name="line-217"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-type">NoContent</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323866758"><a href="SwaggerPetstore.MimeTypes.html#mimeUnrender"><span class="hs-identifier">mimeUnrender</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Right</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">const</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#NoContent"><span class="hs-identifier hs-var">NoContent</span></a><span>
|
||||
</span><a name="line-218"></a><span>
|
||||
</span><a name="line-219"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091881"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></span><span> </span><a name="Produces"><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier">Produces</span></a></a><span> </span><a name="local-6989586621679091880"><a href="#local-6989586621679091880"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679091881"><a href="#local-6989586621679091881"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-220"></a></pre></body></html>
|
||||
</span><a name="line-219"></a><span class="hs-comment">-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
|
||||
</span><a name="line-220"></a><span class="hs-comment">-- instance MimeUnrender MimeJsonCharsetutf8 T.Text where mimeUnrender _ = undefined</span><span>
|
||||
</span><a name="line-221"></a><span>
|
||||
</span><a name="line-222"></a><span class="hs-comment">-- ** Request Consumes</span><span>
|
||||
</span><a name="line-223"></a><span>
|
||||
</span><a name="line-224"></a><span class="hs-keyword">class</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679091883"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=></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">=></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>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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: \" \\
|
||||
|
||||
OpenAPI spec version: 1.0.0
|
||||
Contact: apiteam@swagger.io
|
||||
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
-}</span><span>
|
||||
</span><a name="line-10"></a><span>
|
||||
</span><a name="line-11"></a><span class="hs-comment">{-|
|
||||
Module : SwaggerPetstore
|
||||
-}</span><span>
|
||||
</span><a name="line-4"></a><span>
|
||||
</span><a name="line-5"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span>
|
||||
</span><a name="line-6"></a><span> </span><span class="hs-special">(</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span>
|
||||
</span><a name="line-7"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span><span>
|
||||
</span><a name="line-8"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span><span>
|
||||
</span><a name="line-9"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span>
|
||||
</span><a name="line-10"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span><span>
|
||||
</span><a name="line-11"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span>
|
||||
</span><a name="line-12"></a><span> </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-13"></a><span>
|
||||
</span><a name="line-14"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
|
||||
</span><a name="line-15"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Client.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span></a><span>
|
||||
</span><a name="line-16"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
|
||||
</span><a name="line-17"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
|
||||
</span><a name="line-18"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Lens.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span></a><span>
|
||||
</span><a name="line-19"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
|
||||
</span><a name="line-20"></a></pre></body></html>
|
||||
</span><a name="line-14"></a><span>
|
||||
</span><a name="line-15"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span>
|
||||
</span><a name="line-16"></a><span> </span><span class="hs-special">(</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span><span>
|
||||
</span><a name="line-17"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span><span>
|
||||
</span><a name="line-18"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span><span>
|
||||
</span><a name="line-19"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span><span>
|
||||
</span><a name="line-20"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span><span>
|
||||
</span><a name="line-21"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span><span>
|
||||
</span><a name="line-22"></a><span> </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
|
||||
</span><a name="line-23"></a><span>
|
||||
</span><a name="line-24"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.API.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">API</span></a><span>
|
||||
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Client.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Client</span></a><span>
|
||||
</span><a name="line-26"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Model.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Model</span></a><span>
|
||||
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.MimeTypes.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">MimeTypes</span></a><span>
|
||||
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Lens.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Lens</span></a><span>
|
||||
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><a href="SwaggerPetstore.Logging.html"><span class="hs-identifier">SwaggerPetstore</span><span class="hs-operator">.</span><span class="hs-identifier">Logging</span></a><span>
|
||||
</span><a name="line-30"></a></pre></body></html>
|
||||
@@ -26,9 +26,16 @@ main = do
|
||||
|
||||
config0 <- S.withStdoutLogging =<< S.newConfig
|
||||
|
||||
let config = case lookup "HOST" env of
|
||||
Just h -> config0 { S.configHost = BCL.pack h }
|
||||
_ -> config0
|
||||
let config =
|
||||
-- configure host
|
||||
case lookup "HOST" env of
|
||||
Just h -> config0 { S.configHost = BCL.pack h }
|
||||
_ -> config0
|
||||
-- each configured auth method is only applied to requests that specify them
|
||||
`S.addAuthMethod` S.AuthBasicHttpBasicTest "username" "password"
|
||||
`S.addAuthMethod` S.AuthApiKeyApiKey "secret-key"
|
||||
`S.addAuthMethod` S.AuthApiKeyApiKeyQuery "secret-key"
|
||||
`S.addAuthMethod` S.AuthOAuthPetstoreAuth "secret-key"
|
||||
|
||||
putStrLn "******** CONFIG ********"
|
||||
putStrLn (show config)
|
||||
@@ -87,7 +94,7 @@ runPet mgr config = do
|
||||
Right pet@S.Pet { S.petId = Just pid } -> do
|
||||
|
||||
-- create the request for getPetById
|
||||
let getPetByIdRequest = S.getPetById pid
|
||||
let getPetByIdRequest = S.getPetById (S.PetId pid)
|
||||
|
||||
-- dispatchMime returns MimeResult, which includes the
|
||||
-- expected decoded model object 'Pet', or a parse failure
|
||||
@@ -97,12 +104,12 @@ runPet mgr config = do
|
||||
Right r -> putStrLn $ "getPetById: found pet: " <> show r -- display 'Pet' model object, r
|
||||
|
||||
-- findPetsByStatus
|
||||
let findPetsByStatusRequest = S.findPetsByStatus ["available","pending","sold"]
|
||||
let findPetsByStatusRequest = S.findPetsByStatus (S.Status ["available","pending","sold"])
|
||||
findPetsByStatusResult <- S.dispatchMime mgr config findPetsByStatusRequest S.MimeJSON
|
||||
mapM_ (\r -> putStrLn $ "findPetsByStatus: found " <> (show . length) r <> " pets") findPetsByStatusResult
|
||||
|
||||
-- findPetsByTags
|
||||
let findPetsByTagsRequest = S.findPetsByTags ["name","tag1"]
|
||||
let findPetsByTagsRequest = S.findPetsByTags (S.Tags ["name","tag1"])
|
||||
findPetsByTagsResult <- S.dispatchMime mgr config findPetsByTagsRequest S.MimeJSON
|
||||
mapM_ (\r -> putStrLn $ "findPetsByTags: found " <> (show . length) r <> " pets") findPetsByTagsResult
|
||||
|
||||
@@ -119,20 +126,20 @@ runPet mgr config = do
|
||||
-- -- Defined in ‘SwaggerPetstore.API’
|
||||
-- instance S.HasOptionalParam S.UpdatePetWithForm S.Status
|
||||
-- -- Defined in ‘SwaggerPetstore.API’
|
||||
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded pid
|
||||
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded (S.PetId pid)
|
||||
`S.applyOptionalParam` S.Name2 "petName"
|
||||
`S.applyOptionalParam` S.Status "pending"
|
||||
`S.applyOptionalParam` S.StatusText "pending"
|
||||
_ <- S.dispatchLbs mgr config updatePetWithFormRequest S.MimeJSON
|
||||
|
||||
-- multipart/form-data file uploads are just a different content-type
|
||||
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData pid
|
||||
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData (S.PetId pid)
|
||||
`S.applyOptionalParam` S.File "package.yaml" -- the file contents of the path are read when dispatched
|
||||
`S.applyOptionalParam` S.AdditionalMetadata "a package.yaml file"
|
||||
uploadFileRequestResult <- S.dispatchMime mgr config uploadFileRequest S.MimeJSON
|
||||
mapM_ (\r -> putStrLn $ "uploadFile: " <> show r) uploadFileRequestResult
|
||||
|
||||
-- deletePet
|
||||
let deletePetRequest = S.deletePet pid
|
||||
let deletePetRequest = S.deletePet (S.PetId pid)
|
||||
`S.applyOptionalParam` S.ApiKey "api key"
|
||||
_ <- S.dispatchLbs mgr config deletePetRequest S.MimeJSON
|
||||
|
||||
@@ -155,7 +162,7 @@ runStore mgr config = do
|
||||
|
||||
-- we can set arbitrary headers with setHeader
|
||||
let getInventoryRequest = S.getInventory
|
||||
`S.setHeader` [("api_key","special-key")]
|
||||
`S.setHeader` [("random-header","random-value")]
|
||||
getInventoryRequestRequestResult <- S.dispatchMime mgr config getInventoryRequest S.MimeJSON
|
||||
mapM_ (\r -> putStrLn $ "getInventoryRequest: found " <> (show . length) r <> " results") getInventoryRequestRequestResult
|
||||
|
||||
@@ -168,12 +175,12 @@ runStore mgr config = do
|
||||
let orderId = maybe 10 id $ either (const Nothing) (S.orderId) (S.mimeResult placeOrderResult)
|
||||
|
||||
-- getOrderByid
|
||||
let getOrderByIdRequest = S.getOrderById orderId
|
||||
let getOrderByIdRequest = S.getOrderById (S.OrderId orderId)
|
||||
getOrderByIdRequestResult <- S.dispatchMime mgr config getOrderByIdRequest S.MimeJSON
|
||||
mapM_ (\r -> putStrLn $ "getOrderById: found order: " <> show r) getOrderByIdRequestResult
|
||||
|
||||
-- deleteOrder
|
||||
let deleteOrderRequest = S.deleteOrder "21"
|
||||
let deleteOrderRequest = S.deleteOrder (S.OrderIdText "21")
|
||||
_ <- S.dispatchLbs mgr config deleteOrderRequest S.MimeJSON
|
||||
|
||||
return ()
|
||||
@@ -205,32 +212,32 @@ runUser mgr config = do
|
||||
|
||||
-- can use lenses (model record names are appended L) to view or modify records
|
||||
let users = take 8 $ drop 1 $ iterate (L.over S.userUsernameL (fmap (<> "*")) . L.over S.userIdL (fmap (+ 1))) user
|
||||
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON users
|
||||
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON (S.Body users)
|
||||
_ <- S.dispatchLbs mgr config createUsersWithArrayInputRequest S.MimeNoContent
|
||||
|
||||
-- createUsersWithArrayInput
|
||||
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON users
|
||||
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON (S.Body users)
|
||||
_ <- S.dispatchLbs mgr config createUsersWithListInputRequest S.MimeNoContent
|
||||
|
||||
-- getUserByName
|
||||
let getUserByNameRequest = S.getUserByName username
|
||||
let getUserByNameRequest = S.getUserByName (S.Username username)
|
||||
getUserByNameResult <- S.dispatchMime mgr config getUserByNameRequest S.MimeJSON
|
||||
mapM_ (\r -> putStrLn $ "getUserByName: found user: " <> show r) getUserByNameResult
|
||||
|
||||
-- loginUser
|
||||
let loginUserRequest = S.loginUser username "password1"
|
||||
let loginUserRequest = S.loginUser (S.Username username) (S.Password "password1")
|
||||
loginUserResult <- S.dispatchLbs mgr config loginUserRequest S.MimeJSON
|
||||
BCL.putStrLn $ "loginUser: " <> (NH.responseBody loginUserResult)
|
||||
|
||||
-- updateUser
|
||||
let updateUserRequest = S.updateUser S.MimeJSON username (user { S.userEmail = Just "xyz@example.com" })
|
||||
let updateUserRequest = S.updateUser S.MimeJSON (S.Username username) (user { S.userEmail = Just "xyz@example.com" })
|
||||
_ <- S.dispatchLbs mgr config updateUserRequest S.MimeJSON
|
||||
|
||||
-- logoutUser
|
||||
_ <- S.dispatchLbs mgr config S.logoutUser S.MimeJSON
|
||||
|
||||
-- deleteUser
|
||||
let deleteUserRequest = S.deleteUser username
|
||||
let deleteUserRequest = S.deleteUser (S.Username username)
|
||||
_ <- S.dispatchLbs mgr config deleteUserRequest S.MimeJSON
|
||||
|
||||
return ()
|
||||
|
||||
@@ -12,16 +12,17 @@
|
||||
Module : SwaggerPetstore.API
|
||||
-}
|
||||
|
||||
{-# LANGUAGE RecordWildCards #-}
|
||||
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE ScopedTypeVariables #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE ConstraintKinds #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
||||
{-# LANGUAGE InstanceSigs #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE RecordWildCards #-}
|
||||
{-# LANGUAGE ScopedTypeVariables #-}
|
||||
{-# LANGUAGE ExistentialQuantification #-}
|
||||
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
|
||||
|
||||
module SwaggerPetstore.API where
|
||||
@@ -40,6 +41,7 @@ import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.ByteString.Builder as BB
|
||||
import qualified Data.ByteString.Char8 as BC
|
||||
import qualified Data.ByteString.Lazy.Char8 as BCL
|
||||
import qualified Data.ByteString.Base64 as B64
|
||||
|
||||
import qualified Network.HTTP.Client.MultipartFormData as NH
|
||||
import qualified Network.HTTP.Media as ME
|
||||
@@ -49,7 +51,7 @@ import qualified Web.HttpApiData as WH
|
||||
import qualified Web.FormUrlEncoded as WH
|
||||
|
||||
import qualified Data.CaseInsensitive as CI
|
||||
import qualified Data.Data as P (Typeable)
|
||||
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
|
||||
import qualified Data.Foldable as P
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Set as Set
|
||||
@@ -217,76 +219,77 @@ instance Produces TestClientModel MimeJSON
|
||||
--
|
||||
-- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
|
||||
--
|
||||
-- AuthMethod: http_basic_test
|
||||
-- AuthMethod: 'AuthBasicHttpBasicTest'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
testEndpointParameters
|
||||
:: (Consumes TestEndpointParameters contentType)
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> Double -- ^ "number" - None
|
||||
-> Double -- ^ "double" - None
|
||||
-> Text -- ^ "patternWithoutDelimiter" - None
|
||||
-> ByteArray -- ^ "byte" - None
|
||||
-> Number -- ^ "number" - None
|
||||
-> ParamDouble -- ^ "double" - None
|
||||
-> PatternWithoutDelimiter -- ^ "patternWithoutDelimiter" - None
|
||||
-> Byte -- ^ "byte" - None
|
||||
-> SwaggerPetstoreRequest TestEndpointParameters contentType res
|
||||
testEndpointParameters _ number double patternWithoutDelimiter byte =
|
||||
testEndpointParameters _ (Number number) (ParamDouble double) (PatternWithoutDelimiter patternWithoutDelimiter) (Byte byte) =
|
||||
_mkRequest "POST" ["/fake"]
|
||||
`_addForm` toForm ("number", number)
|
||||
`_addForm` toForm ("double", double)
|
||||
`_addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter)
|
||||
`_addForm` toForm ("byte", byte)
|
||||
`addForm` toForm ("number", number)
|
||||
`addForm` toForm ("double", double)
|
||||
`addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter)
|
||||
`addForm` toForm ("byte", byte)
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicHttpBasicTest)
|
||||
|
||||
data TestEndpointParameters
|
||||
|
||||
-- | /Optional Param/ "integer" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamInteger where
|
||||
applyOptionalParam req (ParamInteger xs) =
|
||||
req `_addForm` toForm ("integer", xs)
|
||||
req `addForm` toForm ("integer", xs)
|
||||
|
||||
-- | /Optional Param/ "int32" - None
|
||||
instance HasOptionalParam TestEndpointParameters Int32 where
|
||||
applyOptionalParam req (Int32 xs) =
|
||||
req `_addForm` toForm ("int32", xs)
|
||||
req `addForm` toForm ("int32", xs)
|
||||
|
||||
-- | /Optional Param/ "int64" - None
|
||||
instance HasOptionalParam TestEndpointParameters Int64 where
|
||||
applyOptionalParam req (Int64 xs) =
|
||||
req `_addForm` toForm ("int64", xs)
|
||||
req `addForm` toForm ("int64", xs)
|
||||
|
||||
-- | /Optional Param/ "float" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamFloat where
|
||||
applyOptionalParam req (ParamFloat xs) =
|
||||
req `_addForm` toForm ("float", xs)
|
||||
req `addForm` toForm ("float", xs)
|
||||
|
||||
-- | /Optional Param/ "string" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamString where
|
||||
applyOptionalParam req (ParamString xs) =
|
||||
req `_addForm` toForm ("string", xs)
|
||||
req `addForm` toForm ("string", xs)
|
||||
|
||||
-- | /Optional Param/ "binary" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamBinary where
|
||||
applyOptionalParam req (ParamBinary xs) =
|
||||
req `_addForm` toForm ("binary", xs)
|
||||
req `addForm` toForm ("binary", xs)
|
||||
|
||||
-- | /Optional Param/ "date" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamDate where
|
||||
applyOptionalParam req (ParamDate xs) =
|
||||
req `_addForm` toForm ("date", xs)
|
||||
req `addForm` toForm ("date", xs)
|
||||
|
||||
-- | /Optional Param/ "dateTime" - None
|
||||
instance HasOptionalParam TestEndpointParameters ParamDateTime where
|
||||
applyOptionalParam req (ParamDateTime xs) =
|
||||
req `_addForm` toForm ("dateTime", xs)
|
||||
req `addForm` toForm ("dateTime", xs)
|
||||
|
||||
-- | /Optional Param/ "password" - None
|
||||
instance HasOptionalParam TestEndpointParameters Password where
|
||||
applyOptionalParam req (Password xs) =
|
||||
req `_addForm` toForm ("password", xs)
|
||||
req `addForm` toForm ("password", xs)
|
||||
|
||||
-- | /Optional Param/ "callback" - None
|
||||
instance HasOptionalParam TestEndpointParameters Callback where
|
||||
applyOptionalParam req (Callback xs) =
|
||||
req `_addForm` toForm ("callback", xs)
|
||||
req `addForm` toForm ("callback", xs)
|
||||
|
||||
-- | @application/xml; charset=utf-8@
|
||||
instance Consumes TestEndpointParameters MimeXmlCharsetutf8
|
||||
@@ -321,12 +324,12 @@ data TestEnumParameters
|
||||
-- | /Optional Param/ "enum_form_string_array" - Form parameter enum test (string array)
|
||||
instance HasOptionalParam TestEnumParameters EnumFormStringArray where
|
||||
applyOptionalParam req (EnumFormStringArray xs) =
|
||||
req `_addForm` toFormColl CommaSeparated ("enum_form_string_array", xs)
|
||||
req `addForm` toFormColl CommaSeparated ("enum_form_string_array", xs)
|
||||
|
||||
-- | /Optional Param/ "enum_form_string" - Form parameter enum test (string)
|
||||
instance HasOptionalParam TestEnumParameters EnumFormString where
|
||||
applyOptionalParam req (EnumFormString xs) =
|
||||
req `_addForm` toForm ("enum_form_string", xs)
|
||||
req `addForm` toForm ("enum_form_string", xs)
|
||||
|
||||
-- | /Optional Param/ "enum_header_string_array" - Header parameter enum test (string array)
|
||||
instance HasOptionalParam TestEnumParameters EnumHeaderStringArray where
|
||||
@@ -341,22 +344,22 @@ instance HasOptionalParam TestEnumParameters EnumHeaderString where
|
||||
-- | /Optional Param/ "enum_query_string_array" - Query parameter enum test (string array)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryStringArray where
|
||||
applyOptionalParam req (EnumQueryStringArray xs) =
|
||||
req `_setQuery` toQueryColl CommaSeparated ("enum_query_string_array", Just xs)
|
||||
req `setQuery` toQueryColl CommaSeparated ("enum_query_string_array", Just xs)
|
||||
|
||||
-- | /Optional Param/ "enum_query_string" - Query parameter enum test (string)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryString where
|
||||
applyOptionalParam req (EnumQueryString xs) =
|
||||
req `_setQuery` toQuery ("enum_query_string", Just xs)
|
||||
req `setQuery` toQuery ("enum_query_string", Just xs)
|
||||
|
||||
-- | /Optional Param/ "enum_query_integer" - Query parameter enum test (double)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryInteger where
|
||||
applyOptionalParam req (EnumQueryInteger xs) =
|
||||
req `_setQuery` toQuery ("enum_query_integer", Just xs)
|
||||
req `setQuery` toQuery ("enum_query_integer", Just xs)
|
||||
|
||||
-- | /Optional Param/ "enum_query_double" - Query parameter enum test (double)
|
||||
instance HasOptionalParam TestEnumParameters EnumQueryDouble where
|
||||
applyOptionalParam req (EnumQueryDouble xs) =
|
||||
req `_addForm` toForm ("enum_query_double", xs)
|
||||
req `addForm` toForm ("enum_query_double", xs)
|
||||
|
||||
-- | @*/*@
|
||||
instance Consumes TestEnumParameters MimeAny
|
||||
@@ -376,13 +379,13 @@ instance Produces TestEnumParameters MimeAny
|
||||
testJsonFormData
|
||||
:: (Consumes TestJsonFormData contentType)
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> Text -- ^ "param" - field1
|
||||
-> Text -- ^ "param2" - field2
|
||||
-> Param -- ^ "param" - field1
|
||||
-> Param2 -- ^ "param2" - field2
|
||||
-> SwaggerPetstoreRequest TestJsonFormData contentType NoContent
|
||||
testJsonFormData _ param param2 =
|
||||
testJsonFormData _ (Param param) (Param2 param2) =
|
||||
_mkRequest "GET" ["/fake/jsonFormData"]
|
||||
`_addForm` toForm ("param", param)
|
||||
`_addForm` toForm ("param2", param2)
|
||||
`addForm` toForm ("param", param)
|
||||
`addForm` toForm ("param2", param2)
|
||||
|
||||
data TestJsonFormData
|
||||
|
||||
@@ -398,7 +401,7 @@ instance Consumes TestJsonFormData MimeJSON
|
||||
--
|
||||
-- To test class name in snake case
|
||||
--
|
||||
-- AuthMethod: api_key_query
|
||||
-- AuthMethod: 'AuthApiKeyApiKeyQuery'
|
||||
--
|
||||
testClassname
|
||||
:: (Consumes TestClassname contentType, MimeRender contentType Client)
|
||||
@@ -408,6 +411,7 @@ testClassname
|
||||
testClassname _ body =
|
||||
_mkRequest "PATCH" ["/fake_classname_test"]
|
||||
`setBodyParam` body
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKeyQuery)
|
||||
|
||||
data TestClassname
|
||||
|
||||
@@ -431,7 +435,7 @@ instance Produces TestClassname MimeJSON
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: petstore_auth
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
@@ -443,6 +447,7 @@ addPet
|
||||
addPet _ body =
|
||||
_mkRequest "POST" ["/pet"]
|
||||
`setBodyParam` body
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data AddPet
|
||||
|
||||
@@ -468,16 +473,17 @@ instance Produces AddPet MimeJSON
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: petstore_auth
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
deletePet
|
||||
:: Integer -- ^ "petId" - Pet id to delete
|
||||
:: PetId -- ^ "petId" - Pet id to delete
|
||||
-> SwaggerPetstoreRequest DeletePet MimeNoContent res
|
||||
deletePet petId =
|
||||
deletePet (PetId petId) =
|
||||
_mkRequest "DELETE" ["/pet/",toPath petId]
|
||||
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data DeletePet
|
||||
instance HasOptionalParam DeletePet ApiKey where
|
||||
@@ -497,14 +503,15 @@ instance Produces DeletePet MimeJSON
|
||||
--
|
||||
-- Multiple status values can be provided with comma separated strings
|
||||
--
|
||||
-- AuthMethod: petstore_auth
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
findPetsByStatus
|
||||
:: [Text] -- ^ "status" - Status values that need to be considered for filter
|
||||
:: Status -- ^ "status" - Status values that need to be considered for filter
|
||||
-> SwaggerPetstoreRequest FindPetsByStatus MimeNoContent [Pet]
|
||||
findPetsByStatus status =
|
||||
findPetsByStatus (Status status) =
|
||||
_mkRequest "GET" ["/pet/findByStatus"]
|
||||
`_setQuery` toQueryColl CommaSeparated ("status", Just status)
|
||||
`setQuery` toQueryColl CommaSeparated ("status", Just status)
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data FindPetsByStatus
|
||||
-- | @application/xml@
|
||||
@@ -521,14 +528,15 @@ instance Produces FindPetsByStatus MimeJSON
|
||||
--
|
||||
-- Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
|
||||
--
|
||||
-- AuthMethod: petstore_auth
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
findPetsByTags
|
||||
:: [Text] -- ^ "tags" - Tags to filter by
|
||||
:: Tags -- ^ "tags" - Tags to filter by
|
||||
-> SwaggerPetstoreRequest FindPetsByTags MimeNoContent [Pet]
|
||||
findPetsByTags tags =
|
||||
findPetsByTags (Tags tags) =
|
||||
_mkRequest "GET" ["/pet/findByTags"]
|
||||
`_setQuery` toQueryColl CommaSeparated ("tags", Just tags)
|
||||
`setQuery` toQueryColl CommaSeparated ("tags", Just tags)
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
{-# DEPRECATED findPetsByTags "" #-}
|
||||
|
||||
@@ -547,14 +555,15 @@ instance Produces FindPetsByTags MimeJSON
|
||||
--
|
||||
-- Returns a single pet
|
||||
--
|
||||
-- AuthMethod: api_key
|
||||
-- AuthMethod: 'AuthApiKeyApiKey'
|
||||
--
|
||||
getPetById
|
||||
:: Integer -- ^ "petId" - ID of pet to return
|
||||
:: PetId -- ^ "petId" - ID of pet to return
|
||||
-> SwaggerPetstoreRequest GetPetById MimeNoContent Pet
|
||||
getPetById petId =
|
||||
getPetById (PetId petId) =
|
||||
_mkRequest "GET" ["/pet/",toPath petId]
|
||||
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
|
||||
|
||||
data GetPetById
|
||||
-- | @application/xml@
|
||||
@@ -571,7 +580,7 @@ instance Produces GetPetById MimeJSON
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: petstore_auth
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
@@ -583,6 +592,7 @@ updatePet
|
||||
updatePet _ body =
|
||||
_mkRequest "PUT" ["/pet"]
|
||||
`setBodyParam` body
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data UpdatePet
|
||||
|
||||
@@ -608,30 +618,31 @@ instance Produces UpdatePet MimeJSON
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: petstore_auth
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
updatePetWithForm
|
||||
:: (Consumes UpdatePetWithForm contentType)
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> Integer -- ^ "petId" - ID of pet that needs to be updated
|
||||
-> PetId -- ^ "petId" - ID of pet that needs to be updated
|
||||
-> SwaggerPetstoreRequest UpdatePetWithForm contentType res
|
||||
updatePetWithForm _ petId =
|
||||
updatePetWithForm _ (PetId petId) =
|
||||
_mkRequest "POST" ["/pet/",toPath petId]
|
||||
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data UpdatePetWithForm
|
||||
|
||||
-- | /Optional Param/ "name" - Updated name of the pet
|
||||
instance HasOptionalParam UpdatePetWithForm Name2 where
|
||||
applyOptionalParam req (Name2 xs) =
|
||||
req `_addForm` toForm ("name", xs)
|
||||
req `addForm` toForm ("name", xs)
|
||||
|
||||
-- | /Optional Param/ "status" - Updated status of the pet
|
||||
instance HasOptionalParam UpdatePetWithForm Status where
|
||||
applyOptionalParam req (Status xs) =
|
||||
req `_addForm` toForm ("status", xs)
|
||||
instance HasOptionalParam UpdatePetWithForm StatusText where
|
||||
applyOptionalParam req (StatusText xs) =
|
||||
req `addForm` toForm ("status", xs)
|
||||
|
||||
-- | @application/x-www-form-urlencoded@
|
||||
instance Consumes UpdatePetWithForm MimeFormUrlEncoded
|
||||
@@ -650,16 +661,17 @@ instance Produces UpdatePetWithForm MimeJSON
|
||||
--
|
||||
--
|
||||
--
|
||||
-- AuthMethod: petstore_auth
|
||||
-- AuthMethod: 'AuthOAuthPetstoreAuth'
|
||||
--
|
||||
uploadFile
|
||||
:: (Consumes UploadFile contentType)
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> Integer -- ^ "petId" - ID of pet to update
|
||||
-> PetId -- ^ "petId" - ID of pet to update
|
||||
-> SwaggerPetstoreRequest UploadFile contentType ApiResponse
|
||||
uploadFile _ petId =
|
||||
uploadFile _ (PetId petId) =
|
||||
_mkRequest "POST" ["/pet/",toPath petId,"/uploadImage"]
|
||||
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
|
||||
|
||||
data UploadFile
|
||||
|
||||
@@ -693,9 +705,9 @@ instance Produces UploadFile MimeJSON
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
deleteOrder
|
||||
:: Text -- ^ "orderId" - ID of the order that needs to be deleted
|
||||
:: OrderIdText -- ^ "orderId" - ID of the order that needs to be deleted
|
||||
-> SwaggerPetstoreRequest DeleteOrder MimeNoContent res
|
||||
deleteOrder orderId =
|
||||
deleteOrder (OrderIdText orderId) =
|
||||
_mkRequest "DELETE" ["/store/order/",toPath orderId]
|
||||
|
||||
|
||||
@@ -714,12 +726,13 @@ instance Produces DeleteOrder MimeJSON
|
||||
--
|
||||
-- Returns a map of status codes to quantities
|
||||
--
|
||||
-- AuthMethod: api_key
|
||||
-- AuthMethod: 'AuthApiKeyApiKey'
|
||||
--
|
||||
getInventory
|
||||
:: SwaggerPetstoreRequest GetInventory MimeNoContent ((Map.Map String Int))
|
||||
getInventory =
|
||||
_mkRequest "GET" ["/store/inventory"]
|
||||
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
|
||||
|
||||
data GetInventory
|
||||
-- | @application/json@
|
||||
@@ -735,9 +748,9 @@ instance Produces GetInventory MimeJSON
|
||||
-- For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
|
||||
--
|
||||
getOrderById
|
||||
:: Integer -- ^ "orderId" - ID of pet that needs to be fetched
|
||||
:: OrderId -- ^ "orderId" - ID of pet that needs to be fetched
|
||||
-> SwaggerPetstoreRequest GetOrderById MimeNoContent Order
|
||||
getOrderById orderId =
|
||||
getOrderById (OrderId orderId) =
|
||||
_mkRequest "GET" ["/store/order/",toPath orderId]
|
||||
|
||||
|
||||
@@ -817,9 +830,9 @@ instance Produces CreateUser MimeJSON
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
createUsersWithArrayInput
|
||||
:: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType [User])
|
||||
:: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType Body)
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> [User] -- ^ "body" - List of user object
|
||||
-> Body -- ^ "body" - List of user object
|
||||
-> SwaggerPetstoreRequest CreateUsersWithArrayInput contentType res
|
||||
createUsersWithArrayInput _ body =
|
||||
_mkRequest "POST" ["/user/createWithArray"]
|
||||
@@ -828,7 +841,7 @@ createUsersWithArrayInput _ body =
|
||||
data CreateUsersWithArrayInput
|
||||
|
||||
-- | /Body Param/ "body" - List of user object
|
||||
instance HasBodyParam CreateUsersWithArrayInput [User]
|
||||
instance HasBodyParam CreateUsersWithArrayInput Body
|
||||
-- | @application/xml@
|
||||
instance Produces CreateUsersWithArrayInput MimeXML
|
||||
-- | @application/json@
|
||||
@@ -846,9 +859,9 @@ instance Produces CreateUsersWithArrayInput MimeJSON
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
createUsersWithListInput
|
||||
:: (Consumes CreateUsersWithListInput contentType, MimeRender contentType [User])
|
||||
:: (Consumes CreateUsersWithListInput contentType, MimeRender contentType Body)
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> [User] -- ^ "body" - List of user object
|
||||
-> Body -- ^ "body" - List of user object
|
||||
-> SwaggerPetstoreRequest CreateUsersWithListInput contentType res
|
||||
createUsersWithListInput _ body =
|
||||
_mkRequest "POST" ["/user/createWithList"]
|
||||
@@ -857,7 +870,7 @@ createUsersWithListInput _ body =
|
||||
data CreateUsersWithListInput
|
||||
|
||||
-- | /Body Param/ "body" - List of user object
|
||||
instance HasBodyParam CreateUsersWithListInput [User]
|
||||
instance HasBodyParam CreateUsersWithListInput Body
|
||||
-- | @application/xml@
|
||||
instance Produces CreateUsersWithListInput MimeXML
|
||||
-- | @application/json@
|
||||
@@ -875,9 +888,9 @@ instance Produces CreateUsersWithListInput MimeJSON
|
||||
-- Note: Has 'Produces' instances, but no response schema
|
||||
--
|
||||
deleteUser
|
||||
:: Text -- ^ "username" - The name that needs to be deleted
|
||||
:: Username -- ^ "username" - The name that needs to be deleted
|
||||
-> SwaggerPetstoreRequest DeleteUser MimeNoContent res
|
||||
deleteUser username =
|
||||
deleteUser (Username username) =
|
||||
_mkRequest "DELETE" ["/user/",toPath username]
|
||||
|
||||
|
||||
@@ -897,9 +910,9 @@ instance Produces DeleteUser MimeJSON
|
||||
--
|
||||
--
|
||||
getUserByName
|
||||
:: Text -- ^ "username" - The name that needs to be fetched. Use user1 for testing.
|
||||
:: Username -- ^ "username" - The name that needs to be fetched. Use user1 for testing.
|
||||
-> SwaggerPetstoreRequest GetUserByName MimeNoContent User
|
||||
getUserByName username =
|
||||
getUserByName (Username username) =
|
||||
_mkRequest "GET" ["/user/",toPath username]
|
||||
|
||||
|
||||
@@ -919,13 +932,13 @@ instance Produces GetUserByName MimeJSON
|
||||
--
|
||||
--
|
||||
loginUser
|
||||
:: Text -- ^ "username" - The user name for login
|
||||
-> Text -- ^ "password" - The password for login in clear text
|
||||
:: Username -- ^ "username" - The user name for login
|
||||
-> Password -- ^ "password" - The password for login in clear text
|
||||
-> SwaggerPetstoreRequest LoginUser MimeNoContent Text
|
||||
loginUser username password =
|
||||
loginUser (Username username) (Password password) =
|
||||
_mkRequest "GET" ["/user/login"]
|
||||
`_setQuery` toQuery ("username", Just username)
|
||||
`_setQuery` toQuery ("password", Just password)
|
||||
`setQuery` toQuery ("username", Just username)
|
||||
`setQuery` toQuery ("password", Just password)
|
||||
|
||||
data LoginUser
|
||||
-- | @application/xml@
|
||||
@@ -969,10 +982,10 @@ instance Produces LogoutUser MimeJSON
|
||||
updateUser
|
||||
:: (Consumes UpdateUser contentType, MimeRender contentType User)
|
||||
=> contentType -- ^ request content-type ('MimeType')
|
||||
-> Text -- ^ "username" - name that need to be deleted
|
||||
-> Username -- ^ "username" - name that need to be deleted
|
||||
-> User -- ^ "body" - Updated user object
|
||||
-> SwaggerPetstoreRequest UpdateUser contentType res
|
||||
updateUser _ username body =
|
||||
updateUser _ (Username username) body =
|
||||
_mkRequest "PUT" ["/user/",toPath username]
|
||||
|
||||
`setBodyParam` body
|
||||
@@ -1014,64 +1027,81 @@ class HasOptionalParam req param where
|
||||
|
||||
infixl 2 -&-
|
||||
|
||||
-- * Optional Request Parameter Types
|
||||
|
||||
|
||||
newtype BodyOuterBoolean = BodyOuterBoolean { unBodyOuterBoolean :: OuterBoolean } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype BodyOuterComposite = BodyOuterComposite { unBodyOuterComposite :: OuterComposite } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype Body = Body { unBody :: OuterNumber } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype BodyOuterString = BodyOuterString { unBodyOuterString :: OuterString } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype ParamInteger = ParamInteger { unParamInteger :: Int } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype Int32 = Int32 { unInt32 :: Int } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype Int64 = Int64 { unInt64 :: Integer } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype ParamFloat = ParamFloat { unParamFloat :: Float } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype ParamString = ParamString { unParamString :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype ParamBinary = ParamBinary { unParamBinary :: Binary } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype ParamDate = ParamDate { unParamDate :: Date } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype ParamDateTime = ParamDateTime { unParamDateTime :: DateTime } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype Password = Password { unPassword :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype Callback = Callback { unCallback :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumFormStringArray = EnumFormStringArray { unEnumFormStringArray :: [Text] } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumFormString = EnumFormString { unEnumFormString :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumHeaderStringArray = EnumHeaderStringArray { unEnumHeaderStringArray :: [Text] } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumHeaderString = EnumHeaderString { unEnumHeaderString :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumQueryStringArray = EnumQueryStringArray { unEnumQueryStringArray :: [Text] } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumQueryString = EnumQueryString { unEnumQueryString :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumQueryInteger = EnumQueryInteger { unEnumQueryInteger :: Int } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype EnumQueryDouble = EnumQueryDouble { unEnumQueryDouble :: Double } deriving (P.Eq, P.Show)
|
||||
-- * Request Parameter Types
|
||||
|
||||
-- | ApiKey
|
||||
newtype ApiKey = ApiKey { unApiKey :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- | StatusText
|
||||
newtype StatusText = StatusText { unStatusText :: Text } deriving (P.Eq, P.Show)
|
||||
-- | ParamString
|
||||
newtype ParamString = ParamString { unParamString :: Text } deriving (P.Eq, P.Show)
|
||||
-- | ParamInteger
|
||||
newtype ParamInteger = ParamInteger { unParamInteger :: Int } deriving (P.Eq, P.Show)
|
||||
-- | EnumQueryDouble
|
||||
newtype EnumQueryDouble = EnumQueryDouble { unEnumQueryDouble :: Double } deriving (P.Eq, P.Show)
|
||||
-- | Number
|
||||
newtype Number = Number { unNumber :: Double } deriving (P.Eq, P.Show)
|
||||
-- | Int32
|
||||
newtype Int32 = Int32 { unInt32 :: Int } deriving (P.Eq, P.Show)
|
||||
-- | ParamDate
|
||||
newtype ParamDate = ParamDate { unParamDate :: Date } deriving (P.Eq, P.Show)
|
||||
-- | EnumFormString
|
||||
newtype EnumFormString = EnumFormString { unEnumFormString :: Text } deriving (P.Eq, P.Show)
|
||||
-- | Body
|
||||
newtype Body = Body { unBody :: [User] } deriving (P.Eq, P.Show, A.ToJSON)
|
||||
-- | Tags
|
||||
newtype Tags = Tags { unTags :: [Text] } deriving (P.Eq, P.Show)
|
||||
-- | EnumQueryInteger
|
||||
newtype EnumQueryInteger = EnumQueryInteger { unEnumQueryInteger :: Int } deriving (P.Eq, P.Show)
|
||||
-- | ParamFloat
|
||||
newtype ParamFloat = ParamFloat { unParamFloat :: Float } deriving (P.Eq, P.Show)
|
||||
-- | Name2
|
||||
newtype Name2 = Name2 { unName2 :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
newtype Status = Status { unStatus :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- | Password
|
||||
newtype Password = Password { unPassword :: Text } deriving (P.Eq, P.Show)
|
||||
-- | Status
|
||||
newtype Status = Status { unStatus :: [Text] } deriving (P.Eq, P.Show)
|
||||
-- | ParamDouble
|
||||
newtype ParamDouble = ParamDouble { unParamDouble :: Double } deriving (P.Eq, P.Show)
|
||||
-- | EnumHeaderString
|
||||
newtype EnumHeaderString = EnumHeaderString { unEnumHeaderString :: Text } deriving (P.Eq, P.Show)
|
||||
-- | Param2
|
||||
newtype Param2 = Param2 { unParam2 :: Text } deriving (P.Eq, P.Show)
|
||||
-- | PetId
|
||||
newtype PetId = PetId { unPetId :: Integer } deriving (P.Eq, P.Show)
|
||||
-- | OrderId
|
||||
newtype OrderId = OrderId { unOrderId :: Integer } deriving (P.Eq, P.Show)
|
||||
-- | OrderIdText
|
||||
newtype OrderIdText = OrderIdText { unOrderIdText :: Text } deriving (P.Eq, P.Show)
|
||||
-- | EnumQueryString
|
||||
newtype EnumQueryString = EnumQueryString { unEnumQueryString :: Text } deriving (P.Eq, P.Show)
|
||||
-- | ParamDateTime
|
||||
newtype ParamDateTime = ParamDateTime { unParamDateTime :: DateTime } deriving (P.Eq, P.Show)
|
||||
-- | EnumQueryStringArray
|
||||
newtype EnumQueryStringArray = EnumQueryStringArray { unEnumQueryStringArray :: [Text] } deriving (P.Eq, P.Show)
|
||||
-- | PatternWithoutDelimiter
|
||||
newtype PatternWithoutDelimiter = PatternWithoutDelimiter { unPatternWithoutDelimiter :: Text } deriving (P.Eq, P.Show)
|
||||
-- | Callback
|
||||
newtype Callback = Callback { unCallback :: Text } deriving (P.Eq, P.Show)
|
||||
-- | Username
|
||||
newtype Username = Username { unUsername :: Text } deriving (P.Eq, P.Show)
|
||||
-- | Int64
|
||||
newtype Int64 = Int64 { unInt64 :: Integer } deriving (P.Eq, P.Show)
|
||||
-- | AdditionalMetadata
|
||||
newtype AdditionalMetadata = AdditionalMetadata { unAdditionalMetadata :: Text } deriving (P.Eq, P.Show)
|
||||
|
||||
-- | Byte
|
||||
newtype Byte = Byte { unByte :: ByteArray } deriving (P.Eq, P.Show)
|
||||
-- | ParamBinary
|
||||
newtype ParamBinary = ParamBinary { unParamBinary :: Binary } deriving (P.Eq, P.Show)
|
||||
-- | EnumFormStringArray
|
||||
newtype EnumFormStringArray = EnumFormStringArray { unEnumFormStringArray :: [Text] } deriving (P.Eq, P.Show)
|
||||
-- | EnumHeaderStringArray
|
||||
newtype EnumHeaderStringArray = EnumHeaderStringArray { unEnumHeaderStringArray :: [Text] } deriving (P.Eq, P.Show)
|
||||
-- | Param
|
||||
newtype Param = Param { unParam :: Text } deriving (P.Eq, P.Show)
|
||||
-- | File
|
||||
newtype File = File { unFile :: FilePath } deriving (P.Eq, P.Show)
|
||||
|
||||
|
||||
-- * SwaggerPetstoreRequest
|
||||
|
||||
-- | Represents a request. The "req" type variable is the request type. The "res" type variable is the response type.
|
||||
@@ -1079,6 +1109,7 @@ data SwaggerPetstoreRequest req contentType res = SwaggerPetstoreRequest
|
||||
{ rMethod :: NH.Method -- ^ Method of SwaggerPetstoreRequest
|
||||
, rUrlPath :: [BCL.ByteString] -- ^ Endpoint of SwaggerPetstoreRequest
|
||||
, rParams :: Params -- ^ params of SwaggerPetstoreRequest
|
||||
, rAuthTypes :: [P.TypeRep] -- ^ types of auth methods
|
||||
}
|
||||
deriving (P.Show)
|
||||
|
||||
@@ -1097,6 +1128,11 @@ rParamsL :: Lens_' (SwaggerPetstoreRequest req contentType res) Params
|
||||
rParamsL f SwaggerPetstoreRequest{..} = (\rParams -> SwaggerPetstoreRequest { rParams, ..} ) <$> f rParams
|
||||
{-# INLINE rParamsL #-}
|
||||
|
||||
-- | 'rParams' Lens
|
||||
rAuthTypesL :: Lens_' (SwaggerPetstoreRequest req contentType res) [P.TypeRep]
|
||||
rAuthTypesL f SwaggerPetstoreRequest{..} = (\rAuthTypes -> SwaggerPetstoreRequest { rAuthTypes, ..} ) <$> f rAuthTypes
|
||||
{-# INLINE rAuthTypesL #-}
|
||||
|
||||
-- | Request Params
|
||||
data Params = Params
|
||||
{ paramsQuery :: NH.Query
|
||||
@@ -1134,7 +1170,7 @@ data ParamBody
|
||||
_mkRequest :: NH.Method -- ^ Method
|
||||
-> [BCL.ByteString] -- ^ Endpoint
|
||||
-> SwaggerPetstoreRequest req contentType res -- ^ req: Request Type, res: Response Type
|
||||
_mkRequest m u = SwaggerPetstoreRequest m u _mkParams
|
||||
_mkRequest m u = SwaggerPetstoreRequest m u _mkParams []
|
||||
|
||||
_mkParams :: Params
|
||||
_mkParams = Params [] [] ParamBodyNone
|
||||
@@ -1166,8 +1202,8 @@ _setAcceptHeader req accept =
|
||||
Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]
|
||||
Nothing -> req `removeHeader` ["accept"]
|
||||
|
||||
_setQuery :: SwaggerPetstoreRequest req contentType res -> [NH.QueryItem] -> SwaggerPetstoreRequest req contentType res
|
||||
_setQuery req query =
|
||||
setQuery :: SwaggerPetstoreRequest req contentType res -> [NH.QueryItem] -> SwaggerPetstoreRequest req contentType res
|
||||
setQuery req query =
|
||||
req &
|
||||
L.over
|
||||
(rParamsL . paramsQueryL)
|
||||
@@ -1175,8 +1211,8 @@ _setQuery req query =
|
||||
where
|
||||
cifst = CI.mk . P.fst
|
||||
|
||||
_addForm :: SwaggerPetstoreRequest req contentType res -> WH.Form -> SwaggerPetstoreRequest req contentType res
|
||||
_addForm req newform =
|
||||
addForm :: SwaggerPetstoreRequest req contentType res -> WH.Form -> SwaggerPetstoreRequest req contentType res
|
||||
addForm req newform =
|
||||
let form = case paramsBody (rParams req) of
|
||||
ParamBodyFormUrlEncoded _form -> _form
|
||||
_ -> mempty
|
||||
@@ -1197,6 +1233,9 @@ _setBodyLBS :: SwaggerPetstoreRequest req contentType res -> BL.ByteString -> Sw
|
||||
_setBodyLBS req body =
|
||||
req & L.set (rParamsL . paramsBodyL) (ParamBodyBL body)
|
||||
|
||||
_hasAuthType :: AuthMethod authMethod => SwaggerPetstoreRequest req contentType res -> P.Proxy authMethod -> SwaggerPetstoreRequest req contentType res
|
||||
_hasAuthType req proxy =
|
||||
req & L.over rAuthTypesL (P.typeRep proxy :)
|
||||
|
||||
-- ** Params Utils
|
||||
|
||||
@@ -1261,3 +1300,60 @@ _toCollA' c encode one xs = case c of
|
||||
{-# INLINE expandList #-}
|
||||
{-# INLINE combine #-}
|
||||
|
||||
-- * AuthMethods
|
||||
|
||||
-- | Provides a method to apply auth methods to requests
|
||||
class P.Typeable a => AuthMethod a where
|
||||
applyAuthMethod :: SwaggerPetstoreRequest req contentType res -> a -> SwaggerPetstoreRequest req contentType res
|
||||
|
||||
-- | An existential wrapper for any AuthMethod
|
||||
data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable)
|
||||
|
||||
instance AuthMethod AnyAuthMethod where applyAuthMethod req (AnyAuthMethod a) = applyAuthMethod req a
|
||||
|
||||
-- ** AuthApiKeyApiKey
|
||||
data AuthApiKeyApiKey =
|
||||
AuthApiKeyApiKey Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthApiKeyApiKey where
|
||||
applyAuthMethod req a@(AuthApiKeyApiKey secret) =
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("api_key", secret)
|
||||
else req
|
||||
|
||||
-- ** AuthApiKeyApiKeyQuery
|
||||
data AuthApiKeyApiKeyQuery =
|
||||
AuthApiKeyApiKeyQuery Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthApiKeyApiKeyQuery where
|
||||
applyAuthMethod req a@(AuthApiKeyApiKeyQuery secret) =
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setQuery` toQuery ("api_key_query", Just secret)
|
||||
else req
|
||||
|
||||
-- ** AuthBasicHttpBasicTest
|
||||
data AuthBasicHttpBasicTest =
|
||||
AuthBasicHttpBasicTest B.ByteString B.ByteString -- ^ username password
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthBasicHttpBasicTest where
|
||||
applyAuthMethod req a@(AuthBasicHttpBasicTest user pw) =
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)
|
||||
else req
|
||||
where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])
|
||||
|
||||
-- ** AuthOAuthPetstoreAuth
|
||||
data AuthOAuthPetstoreAuth =
|
||||
AuthOAuthPetstoreAuth Text -- ^ secret
|
||||
deriving (P.Eq, P.Show, P.Typeable)
|
||||
|
||||
instance AuthMethod AuthOAuthPetstoreAuth where
|
||||
applyAuthMethod req a@(AuthOAuthPetstoreAuth secret) =
|
||||
if (P.typeOf a `P.elem` rAuthTypes req)
|
||||
then req `setHeader` toHeader ("Authorization", "Bearer " <> secret)
|
||||
else req
|
||||
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ data SwaggerPetstoreConfig = SwaggerPetstoreConfig
|
||||
, configUserAgent :: Text -- ^ user-agent supplied in the Request
|
||||
, configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance
|
||||
, configLogContext :: LogContext -- ^ Configures the logger
|
||||
, configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods
|
||||
}
|
||||
|
||||
-- | display the config
|
||||
@@ -96,13 +97,21 @@ newConfig = do
|
||||
, configUserAgent = "swagger-haskell-http-client/1.0.0"
|
||||
, configLogExecWithContext = runDefaultLogExecWithContext
|
||||
, configLogContext = logCxt
|
||||
, configAuthMethods = []
|
||||
}
|
||||
|
||||
-- | updates config use AuthMethod on matching requests
|
||||
addAuthMethod :: AuthMethod auth => SwaggerPetstoreConfig -> auth -> SwaggerPetstoreConfig
|
||||
addAuthMethod config@SwaggerPetstoreConfig {configAuthMethods = as} a =
|
||||
config { configAuthMethods = AnyAuthMethod a : as}
|
||||
|
||||
-- | updates the config to use stdout logging
|
||||
withStdoutLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
|
||||
withStdoutLogging p = do
|
||||
logCxt <- stdoutLoggingContext (configLogContext p)
|
||||
return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }
|
||||
|
||||
-- | updates the config to use stderr logging
|
||||
withStderrLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
|
||||
withStderrLogging p = do
|
||||
logCxt <- stderrLoggingContext (configLogContext p)
|
||||
@@ -235,7 +244,9 @@ _toInitRequest
|
||||
-> IO (InitRequest req contentType res accept) -- ^ initialized request
|
||||
_toInitRequest config req0 accept = do
|
||||
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0))
|
||||
let req1 = _setAcceptHeader req0 accept & _setContentTypeHeader
|
||||
let req1 = _applyAuthMethods req0 config
|
||||
& _setContentTypeHeader
|
||||
& flip _setAcceptHeader accept
|
||||
reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (rParams req1)
|
||||
reqQuery = NH.renderQuery True (paramsQuery (rParams req1))
|
||||
pReq = parsedReq { NH.method = (rMethod req1)
|
||||
@@ -251,6 +262,16 @@ _toInitRequest config req0 accept = do
|
||||
|
||||
pure (InitRequest outReq)
|
||||
|
||||
-- | apply all matching AuthMethods in config to request
|
||||
_applyAuthMethods
|
||||
:: SwaggerPetstoreRequest req contentType res
|
||||
-> SwaggerPetstoreConfig
|
||||
-> SwaggerPetstoreRequest req contentType res
|
||||
_applyAuthMethods req SwaggerPetstoreConfig {configAuthMethods = as} =
|
||||
foldl go req as
|
||||
where
|
||||
go r (AnyAuthMethod a) = r `applyAuthMethod` a
|
||||
|
||||
-- | modify the underlying Request
|
||||
modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept
|
||||
modifyInitRequest (InitRequest req) f = InitRequest (f req)
|
||||
|
||||
@@ -61,18 +61,21 @@ import qualified Prelude as P
|
||||
|
||||
|
||||
-- ** AdditionalPropertiesClass
|
||||
-- |
|
||||
-- | AdditionalPropertiesClass
|
||||
data AdditionalPropertiesClass = AdditionalPropertiesClass
|
||||
{ additionalPropertiesClassMapProperty :: !(Maybe (Map.Map String Text)) -- ^ "map_property"
|
||||
, additionalPropertiesClassMapOfMapProperty :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_of_map_property"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON AdditionalPropertiesClass
|
||||
instance A.FromJSON AdditionalPropertiesClass where
|
||||
parseJSON = A.withObject "AdditionalPropertiesClass" $ \o ->
|
||||
AdditionalPropertiesClass
|
||||
<$> (o .:? "map_property")
|
||||
<*> (o .:? "map_of_map_property")
|
||||
|
||||
-- | ToJSON AdditionalPropertiesClass
|
||||
instance A.ToJSON AdditionalPropertiesClass where
|
||||
toJSON AdditionalPropertiesClass {..} =
|
||||
_omitNulls
|
||||
@@ -92,18 +95,21 @@ mkAdditionalPropertiesClass =
|
||||
|
||||
|
||||
-- ** Animal
|
||||
-- |
|
||||
-- | Animal
|
||||
data Animal = Animal
|
||||
{ animalClassName :: !(Text) -- ^ /Required/ "className"
|
||||
, animalColor :: !(Maybe Text) -- ^ "color"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Animal
|
||||
instance A.FromJSON Animal where
|
||||
parseJSON = A.withObject "Animal" $ \o ->
|
||||
Animal
|
||||
<$> (o .: "className")
|
||||
<*> (o .:? "color")
|
||||
|
||||
-- | ToJSON Animal
|
||||
instance A.ToJSON Animal where
|
||||
toJSON Animal {..} =
|
||||
_omitNulls
|
||||
@@ -124,16 +130,19 @@ mkAnimal animalClassName =
|
||||
|
||||
|
||||
-- ** AnimalFarm
|
||||
-- |
|
||||
-- | AnimalFarm
|
||||
data AnimalFarm = AnimalFarm
|
||||
{
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON AnimalFarm
|
||||
instance A.FromJSON AnimalFarm where
|
||||
parseJSON = A.withObject "AnimalFarm" $ \o ->
|
||||
pure AnimalFarm
|
||||
|
||||
|
||||
-- | ToJSON AnimalFarm
|
||||
instance A.ToJSON AnimalFarm where
|
||||
toJSON AnimalFarm =
|
||||
_omitNulls
|
||||
@@ -151,13 +160,15 @@ mkAnimalFarm =
|
||||
|
||||
|
||||
-- ** ApiResponse
|
||||
-- |
|
||||
-- | ApiResponse
|
||||
data ApiResponse = ApiResponse
|
||||
{ apiResponseCode :: !(Maybe Int) -- ^ "code"
|
||||
, apiResponseType :: !(Maybe Text) -- ^ "type"
|
||||
, apiResponseMessage :: !(Maybe Text) -- ^ "message"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ApiResponse
|
||||
instance A.FromJSON ApiResponse where
|
||||
parseJSON = A.withObject "ApiResponse" $ \o ->
|
||||
ApiResponse
|
||||
@@ -165,6 +176,7 @@ instance A.FromJSON ApiResponse where
|
||||
<*> (o .:? "type")
|
||||
<*> (o .:? "message")
|
||||
|
||||
-- | ToJSON ApiResponse
|
||||
instance A.ToJSON ApiResponse where
|
||||
toJSON ApiResponse {..} =
|
||||
_omitNulls
|
||||
@@ -186,16 +198,19 @@ mkApiResponse =
|
||||
|
||||
|
||||
-- ** ArrayOfArrayOfNumberOnly
|
||||
-- |
|
||||
-- | ArrayOfArrayOfNumberOnly
|
||||
data ArrayOfArrayOfNumberOnly = ArrayOfArrayOfNumberOnly
|
||||
{ arrayOfArrayOfNumberOnlyArrayArrayNumber :: !(Maybe [[Double]]) -- ^ "ArrayArrayNumber"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ArrayOfArrayOfNumberOnly
|
||||
instance A.FromJSON ArrayOfArrayOfNumberOnly where
|
||||
parseJSON = A.withObject "ArrayOfArrayOfNumberOnly" $ \o ->
|
||||
ArrayOfArrayOfNumberOnly
|
||||
<$> (o .:? "ArrayArrayNumber")
|
||||
|
||||
-- | ToJSON ArrayOfArrayOfNumberOnly
|
||||
instance A.ToJSON ArrayOfArrayOfNumberOnly where
|
||||
toJSON ArrayOfArrayOfNumberOnly {..} =
|
||||
_omitNulls
|
||||
@@ -213,16 +228,19 @@ mkArrayOfArrayOfNumberOnly =
|
||||
|
||||
|
||||
-- ** ArrayOfNumberOnly
|
||||
-- |
|
||||
-- | ArrayOfNumberOnly
|
||||
data ArrayOfNumberOnly = ArrayOfNumberOnly
|
||||
{ arrayOfNumberOnlyArrayNumber :: !(Maybe [Double]) -- ^ "ArrayNumber"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ArrayOfNumberOnly
|
||||
instance A.FromJSON ArrayOfNumberOnly where
|
||||
parseJSON = A.withObject "ArrayOfNumberOnly" $ \o ->
|
||||
ArrayOfNumberOnly
|
||||
<$> (o .:? "ArrayNumber")
|
||||
|
||||
-- | ToJSON ArrayOfNumberOnly
|
||||
instance A.ToJSON ArrayOfNumberOnly where
|
||||
toJSON ArrayOfNumberOnly {..} =
|
||||
_omitNulls
|
||||
@@ -240,13 +258,15 @@ mkArrayOfNumberOnly =
|
||||
|
||||
|
||||
-- ** ArrayTest
|
||||
-- |
|
||||
-- | ArrayTest
|
||||
data ArrayTest = ArrayTest
|
||||
{ arrayTestArrayOfString :: !(Maybe [Text]) -- ^ "array_of_string"
|
||||
, arrayTestArrayArrayOfInteger :: !(Maybe [[Integer]]) -- ^ "array_array_of_integer"
|
||||
, arrayTestArrayArrayOfModel :: !(Maybe [[ReadOnlyFirst]]) -- ^ "array_array_of_model"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ArrayTest
|
||||
instance A.FromJSON ArrayTest where
|
||||
parseJSON = A.withObject "ArrayTest" $ \o ->
|
||||
ArrayTest
|
||||
@@ -254,6 +274,7 @@ instance A.FromJSON ArrayTest where
|
||||
<*> (o .:? "array_array_of_integer")
|
||||
<*> (o .:? "array_array_of_model")
|
||||
|
||||
-- | ToJSON ArrayTest
|
||||
instance A.ToJSON ArrayTest where
|
||||
toJSON ArrayTest {..} =
|
||||
_omitNulls
|
||||
@@ -275,7 +296,7 @@ mkArrayTest =
|
||||
|
||||
|
||||
-- ** Capitalization
|
||||
-- |
|
||||
-- | Capitalization
|
||||
data Capitalization = Capitalization
|
||||
{ capitalizationSmallCamel :: !(Maybe Text) -- ^ "smallCamel"
|
||||
, capitalizationCapitalCamel :: !(Maybe Text) -- ^ "CapitalCamel"
|
||||
@@ -285,6 +306,8 @@ data Capitalization = Capitalization
|
||||
, capitalizationAttName :: !(Maybe Text) -- ^ "ATT_NAME" - Name of the pet
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Capitalization
|
||||
instance A.FromJSON Capitalization where
|
||||
parseJSON = A.withObject "Capitalization" $ \o ->
|
||||
Capitalization
|
||||
@@ -295,6 +318,7 @@ instance A.FromJSON Capitalization where
|
||||
<*> (o .:? "SCA_ETH_Flow_Points")
|
||||
<*> (o .:? "ATT_NAME")
|
||||
|
||||
-- | ToJSON Capitalization
|
||||
instance A.ToJSON Capitalization where
|
||||
toJSON Capitalization {..} =
|
||||
_omitNulls
|
||||
@@ -322,18 +346,21 @@ mkCapitalization =
|
||||
|
||||
|
||||
-- ** Category
|
||||
-- |
|
||||
-- | Category
|
||||
data Category = Category
|
||||
{ categoryId :: !(Maybe Integer) -- ^ "id"
|
||||
, categoryName :: !(Maybe Text) -- ^ "name"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Category
|
||||
instance A.FromJSON Category where
|
||||
parseJSON = A.withObject "Category" $ \o ->
|
||||
Category
|
||||
<$> (o .:? "id")
|
||||
<*> (o .:? "name")
|
||||
|
||||
-- | ToJSON Category
|
||||
instance A.ToJSON Category where
|
||||
toJSON Category {..} =
|
||||
_omitNulls
|
||||
@@ -353,17 +380,20 @@ mkCategory =
|
||||
|
||||
|
||||
-- ** ClassModel
|
||||
-- |
|
||||
-- | ClassModel
|
||||
-- Model for testing model with \"_class\" property
|
||||
data ClassModel = ClassModel
|
||||
{ classModelClass :: !(Maybe Text) -- ^ "_class"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ClassModel
|
||||
instance A.FromJSON ClassModel where
|
||||
parseJSON = A.withObject "ClassModel" $ \o ->
|
||||
ClassModel
|
||||
<$> (o .:? "_class")
|
||||
|
||||
-- | ToJSON ClassModel
|
||||
instance A.ToJSON ClassModel where
|
||||
toJSON ClassModel {..} =
|
||||
_omitNulls
|
||||
@@ -381,16 +411,19 @@ mkClassModel =
|
||||
|
||||
|
||||
-- ** Client
|
||||
-- |
|
||||
-- | Client
|
||||
data Client = Client
|
||||
{ clientClient :: !(Maybe Text) -- ^ "client"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Client
|
||||
instance A.FromJSON Client where
|
||||
parseJSON = A.withObject "Client" $ \o ->
|
||||
Client
|
||||
<$> (o .:? "client")
|
||||
|
||||
-- | ToJSON Client
|
||||
instance A.ToJSON Client where
|
||||
toJSON Client {..} =
|
||||
_omitNulls
|
||||
@@ -408,18 +441,21 @@ mkClient =
|
||||
|
||||
|
||||
-- ** EnumArrays
|
||||
-- |
|
||||
-- | EnumArrays
|
||||
data EnumArrays = EnumArrays
|
||||
{ enumArraysJustSymbol :: !(Maybe Text) -- ^ "just_symbol"
|
||||
, enumArraysArrayEnum :: !(Maybe [Text]) -- ^ "array_enum"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON EnumArrays
|
||||
instance A.FromJSON EnumArrays where
|
||||
parseJSON = A.withObject "EnumArrays" $ \o ->
|
||||
EnumArrays
|
||||
<$> (o .:? "just_symbol")
|
||||
<*> (o .:? "array_enum")
|
||||
|
||||
-- | ToJSON EnumArrays
|
||||
instance A.ToJSON EnumArrays where
|
||||
toJSON EnumArrays {..} =
|
||||
_omitNulls
|
||||
@@ -439,16 +475,19 @@ mkEnumArrays =
|
||||
|
||||
|
||||
-- ** EnumClass
|
||||
-- |
|
||||
-- | EnumClass
|
||||
data EnumClass = EnumClass
|
||||
{
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON EnumClass
|
||||
instance A.FromJSON EnumClass where
|
||||
parseJSON = A.withObject "EnumClass" $ \o ->
|
||||
pure EnumClass
|
||||
|
||||
|
||||
-- | ToJSON EnumClass
|
||||
instance A.ToJSON EnumClass where
|
||||
toJSON EnumClass =
|
||||
_omitNulls
|
||||
@@ -466,7 +505,7 @@ mkEnumClass =
|
||||
|
||||
|
||||
-- ** EnumTest
|
||||
-- |
|
||||
-- | EnumTest
|
||||
data EnumTest = EnumTest
|
||||
{ enumTestEnumString :: !(Maybe Text) -- ^ "enum_string"
|
||||
, enumTestEnumInteger :: !(Maybe Int) -- ^ "enum_integer"
|
||||
@@ -474,6 +513,8 @@ data EnumTest = EnumTest
|
||||
, enumTestOuterEnum :: !(Maybe OuterEnum) -- ^ "outerEnum"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON EnumTest
|
||||
instance A.FromJSON EnumTest where
|
||||
parseJSON = A.withObject "EnumTest" $ \o ->
|
||||
EnumTest
|
||||
@@ -482,6 +523,7 @@ instance A.FromJSON EnumTest where
|
||||
<*> (o .:? "enum_number")
|
||||
<*> (o .:? "outerEnum")
|
||||
|
||||
-- | ToJSON EnumTest
|
||||
instance A.ToJSON EnumTest where
|
||||
toJSON EnumTest {..} =
|
||||
_omitNulls
|
||||
@@ -505,7 +547,7 @@ mkEnumTest =
|
||||
|
||||
|
||||
-- ** FormatTest
|
||||
-- |
|
||||
-- | FormatTest
|
||||
data FormatTest = FormatTest
|
||||
{ formatTestInteger :: !(Maybe Int) -- ^ "integer"
|
||||
, formatTestInt32 :: !(Maybe Int) -- ^ "int32"
|
||||
@@ -522,6 +564,8 @@ data FormatTest = FormatTest
|
||||
, formatTestPassword :: !(Text) -- ^ /Required/ "password"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON FormatTest
|
||||
instance A.FromJSON FormatTest where
|
||||
parseJSON = A.withObject "FormatTest" $ \o ->
|
||||
FormatTest
|
||||
@@ -539,6 +583,7 @@ instance A.FromJSON FormatTest where
|
||||
<*> (o .:? "uuid")
|
||||
<*> (o .: "password")
|
||||
|
||||
-- | ToJSON FormatTest
|
||||
instance A.ToJSON FormatTest where
|
||||
toJSON FormatTest {..} =
|
||||
_omitNulls
|
||||
@@ -584,18 +629,21 @@ mkFormatTest formatTestNumber formatTestByte formatTestDate formatTestPassword =
|
||||
|
||||
|
||||
-- ** HasOnlyReadOnly
|
||||
-- |
|
||||
-- | HasOnlyReadOnly
|
||||
data HasOnlyReadOnly = HasOnlyReadOnly
|
||||
{ hasOnlyReadOnlyBar :: !(Maybe Text) -- ^ "bar"
|
||||
, hasOnlyReadOnlyFoo :: !(Maybe Text) -- ^ "foo"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON HasOnlyReadOnly
|
||||
instance A.FromJSON HasOnlyReadOnly where
|
||||
parseJSON = A.withObject "HasOnlyReadOnly" $ \o ->
|
||||
HasOnlyReadOnly
|
||||
<$> (o .:? "bar")
|
||||
<*> (o .:? "foo")
|
||||
|
||||
-- | ToJSON HasOnlyReadOnly
|
||||
instance A.ToJSON HasOnlyReadOnly where
|
||||
toJSON HasOnlyReadOnly {..} =
|
||||
_omitNulls
|
||||
@@ -615,18 +663,21 @@ mkHasOnlyReadOnly =
|
||||
|
||||
|
||||
-- ** MapTest
|
||||
-- |
|
||||
-- | MapTest
|
||||
data MapTest = MapTest
|
||||
{ mapTestMapMapOfString :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_map_of_string"
|
||||
, mapTestMapOfEnumString :: !(Maybe (Map.Map String Text)) -- ^ "map_of_enum_string"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON MapTest
|
||||
instance A.FromJSON MapTest where
|
||||
parseJSON = A.withObject "MapTest" $ \o ->
|
||||
MapTest
|
||||
<$> (o .:? "map_map_of_string")
|
||||
<*> (o .:? "map_of_enum_string")
|
||||
|
||||
-- | ToJSON MapTest
|
||||
instance A.ToJSON MapTest where
|
||||
toJSON MapTest {..} =
|
||||
_omitNulls
|
||||
@@ -646,13 +697,15 @@ mkMapTest =
|
||||
|
||||
|
||||
-- ** MixedPropertiesAndAdditionalPropertiesClass
|
||||
-- |
|
||||
-- | MixedPropertiesAndAdditionalPropertiesClass
|
||||
data MixedPropertiesAndAdditionalPropertiesClass = MixedPropertiesAndAdditionalPropertiesClass
|
||||
{ mixedPropertiesAndAdditionalPropertiesClassUuid :: !(Maybe Text) -- ^ "uuid"
|
||||
, mixedPropertiesAndAdditionalPropertiesClassDateTime :: !(Maybe DateTime) -- ^ "dateTime"
|
||||
, mixedPropertiesAndAdditionalPropertiesClassMap :: !(Maybe (Map.Map String Animal)) -- ^ "map"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON MixedPropertiesAndAdditionalPropertiesClass
|
||||
instance A.FromJSON MixedPropertiesAndAdditionalPropertiesClass where
|
||||
parseJSON = A.withObject "MixedPropertiesAndAdditionalPropertiesClass" $ \o ->
|
||||
MixedPropertiesAndAdditionalPropertiesClass
|
||||
@@ -660,6 +713,7 @@ instance A.FromJSON MixedPropertiesAndAdditionalPropertiesClass where
|
||||
<*> (o .:? "dateTime")
|
||||
<*> (o .:? "map")
|
||||
|
||||
-- | ToJSON MixedPropertiesAndAdditionalPropertiesClass
|
||||
instance A.ToJSON MixedPropertiesAndAdditionalPropertiesClass where
|
||||
toJSON MixedPropertiesAndAdditionalPropertiesClass {..} =
|
||||
_omitNulls
|
||||
@@ -681,19 +735,22 @@ mkMixedPropertiesAndAdditionalPropertiesClass =
|
||||
|
||||
|
||||
-- ** Model200Response
|
||||
-- |
|
||||
-- | Model200Response
|
||||
-- Model for testing model name starting with number
|
||||
data Model200Response = Model200Response
|
||||
{ model200ResponseName :: !(Maybe Int) -- ^ "name"
|
||||
, model200ResponseClass :: !(Maybe Text) -- ^ "class"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Model200Response
|
||||
instance A.FromJSON Model200Response where
|
||||
parseJSON = A.withObject "Model200Response" $ \o ->
|
||||
Model200Response
|
||||
<$> (o .:? "name")
|
||||
<*> (o .:? "class")
|
||||
|
||||
-- | ToJSON Model200Response
|
||||
instance A.ToJSON Model200Response where
|
||||
toJSON Model200Response {..} =
|
||||
_omitNulls
|
||||
@@ -713,16 +770,19 @@ mkModel200Response =
|
||||
|
||||
|
||||
-- ** ModelList
|
||||
-- |
|
||||
-- | ModelList
|
||||
data ModelList = ModelList
|
||||
{ modelList123List :: !(Maybe Text) -- ^ "123-list"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ModelList
|
||||
instance A.FromJSON ModelList where
|
||||
parseJSON = A.withObject "ModelList" $ \o ->
|
||||
ModelList
|
||||
<$> (o .:? "123-list")
|
||||
|
||||
-- | ToJSON ModelList
|
||||
instance A.ToJSON ModelList where
|
||||
toJSON ModelList {..} =
|
||||
_omitNulls
|
||||
@@ -740,17 +800,20 @@ mkModelList =
|
||||
|
||||
|
||||
-- ** ModelReturn
|
||||
-- |
|
||||
-- | ModelReturn
|
||||
-- Model for testing reserved words
|
||||
data ModelReturn = ModelReturn
|
||||
{ modelReturnReturn :: !(Maybe Int) -- ^ "return"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ModelReturn
|
||||
instance A.FromJSON ModelReturn where
|
||||
parseJSON = A.withObject "ModelReturn" $ \o ->
|
||||
ModelReturn
|
||||
<$> (o .:? "return")
|
||||
|
||||
-- | ToJSON ModelReturn
|
||||
instance A.ToJSON ModelReturn where
|
||||
toJSON ModelReturn {..} =
|
||||
_omitNulls
|
||||
@@ -768,7 +831,7 @@ mkModelReturn =
|
||||
|
||||
|
||||
-- ** Name
|
||||
-- |
|
||||
-- | Name
|
||||
-- Model for testing model name same as property name
|
||||
data Name = Name
|
||||
{ nameName :: !(Int) -- ^ /Required/ "name"
|
||||
@@ -777,6 +840,8 @@ data Name = Name
|
||||
, name123Number :: !(Maybe Int) -- ^ "123Number"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Name
|
||||
instance A.FromJSON Name where
|
||||
parseJSON = A.withObject "Name" $ \o ->
|
||||
Name
|
||||
@@ -785,6 +850,7 @@ instance A.FromJSON Name where
|
||||
<*> (o .:? "property")
|
||||
<*> (o .:? "123Number")
|
||||
|
||||
-- | ToJSON Name
|
||||
instance A.ToJSON Name where
|
||||
toJSON Name {..} =
|
||||
_omitNulls
|
||||
@@ -809,16 +875,19 @@ mkName nameName =
|
||||
|
||||
|
||||
-- ** NumberOnly
|
||||
-- |
|
||||
-- | NumberOnly
|
||||
data NumberOnly = NumberOnly
|
||||
{ numberOnlyJustNumber :: !(Maybe Double) -- ^ "JustNumber"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON NumberOnly
|
||||
instance A.FromJSON NumberOnly where
|
||||
parseJSON = A.withObject "NumberOnly" $ \o ->
|
||||
NumberOnly
|
||||
<$> (o .:? "JustNumber")
|
||||
|
||||
-- | ToJSON NumberOnly
|
||||
instance A.ToJSON NumberOnly where
|
||||
toJSON NumberOnly {..} =
|
||||
_omitNulls
|
||||
@@ -836,7 +905,7 @@ mkNumberOnly =
|
||||
|
||||
|
||||
-- ** Order
|
||||
-- |
|
||||
-- | Order
|
||||
data Order = Order
|
||||
{ orderId :: !(Maybe Integer) -- ^ "id"
|
||||
, orderPetId :: !(Maybe Integer) -- ^ "petId"
|
||||
@@ -846,6 +915,8 @@ data Order = Order
|
||||
, orderComplete :: !(Maybe Bool) -- ^ "complete"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Order
|
||||
instance A.FromJSON Order where
|
||||
parseJSON = A.withObject "Order" $ \o ->
|
||||
Order
|
||||
@@ -856,6 +927,7 @@ instance A.FromJSON Order where
|
||||
<*> (o .:? "status")
|
||||
<*> (o .:? "complete")
|
||||
|
||||
-- | ToJSON Order
|
||||
instance A.ToJSON Order where
|
||||
toJSON Order {..} =
|
||||
_omitNulls
|
||||
@@ -883,16 +955,19 @@ mkOrder =
|
||||
|
||||
|
||||
-- ** OuterBoolean
|
||||
-- |
|
||||
-- | OuterBoolean
|
||||
data OuterBoolean = OuterBoolean
|
||||
{
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON OuterBoolean
|
||||
instance A.FromJSON OuterBoolean where
|
||||
parseJSON = A.withObject "OuterBoolean" $ \o ->
|
||||
pure OuterBoolean
|
||||
|
||||
|
||||
-- | ToJSON OuterBoolean
|
||||
instance A.ToJSON OuterBoolean where
|
||||
toJSON OuterBoolean =
|
||||
_omitNulls
|
||||
@@ -910,13 +985,15 @@ mkOuterBoolean =
|
||||
|
||||
|
||||
-- ** OuterComposite
|
||||
-- |
|
||||
-- | OuterComposite
|
||||
data OuterComposite = OuterComposite
|
||||
{ outerCompositeMyNumber :: !(Maybe OuterNumber) -- ^ "my_number"
|
||||
, outerCompositeMyString :: !(Maybe OuterString) -- ^ "my_string"
|
||||
, outerCompositeMyBoolean :: !(Maybe OuterBoolean) -- ^ "my_boolean"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON OuterComposite
|
||||
instance A.FromJSON OuterComposite where
|
||||
parseJSON = A.withObject "OuterComposite" $ \o ->
|
||||
OuterComposite
|
||||
@@ -924,6 +1001,7 @@ instance A.FromJSON OuterComposite where
|
||||
<*> (o .:? "my_string")
|
||||
<*> (o .:? "my_boolean")
|
||||
|
||||
-- | ToJSON OuterComposite
|
||||
instance A.ToJSON OuterComposite where
|
||||
toJSON OuterComposite {..} =
|
||||
_omitNulls
|
||||
@@ -945,16 +1023,19 @@ mkOuterComposite =
|
||||
|
||||
|
||||
-- ** OuterEnum
|
||||
-- |
|
||||
-- | OuterEnum
|
||||
data OuterEnum = OuterEnum
|
||||
{
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON OuterEnum
|
||||
instance A.FromJSON OuterEnum where
|
||||
parseJSON = A.withObject "OuterEnum" $ \o ->
|
||||
pure OuterEnum
|
||||
|
||||
|
||||
-- | ToJSON OuterEnum
|
||||
instance A.ToJSON OuterEnum where
|
||||
toJSON OuterEnum =
|
||||
_omitNulls
|
||||
@@ -972,16 +1053,19 @@ mkOuterEnum =
|
||||
|
||||
|
||||
-- ** OuterNumber
|
||||
-- |
|
||||
-- | OuterNumber
|
||||
data OuterNumber = OuterNumber
|
||||
{
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON OuterNumber
|
||||
instance A.FromJSON OuterNumber where
|
||||
parseJSON = A.withObject "OuterNumber" $ \o ->
|
||||
pure OuterNumber
|
||||
|
||||
|
||||
-- | ToJSON OuterNumber
|
||||
instance A.ToJSON OuterNumber where
|
||||
toJSON OuterNumber =
|
||||
_omitNulls
|
||||
@@ -999,16 +1083,19 @@ mkOuterNumber =
|
||||
|
||||
|
||||
-- ** OuterString
|
||||
-- |
|
||||
-- | OuterString
|
||||
data OuterString = OuterString
|
||||
{
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON OuterString
|
||||
instance A.FromJSON OuterString where
|
||||
parseJSON = A.withObject "OuterString" $ \o ->
|
||||
pure OuterString
|
||||
|
||||
|
||||
-- | ToJSON OuterString
|
||||
instance A.ToJSON OuterString where
|
||||
toJSON OuterString =
|
||||
_omitNulls
|
||||
@@ -1026,7 +1113,7 @@ mkOuterString =
|
||||
|
||||
|
||||
-- ** Pet
|
||||
-- |
|
||||
-- | Pet
|
||||
data Pet = Pet
|
||||
{ petId :: !(Maybe Integer) -- ^ "id"
|
||||
, petCategory :: !(Maybe Category) -- ^ "category"
|
||||
@@ -1036,6 +1123,8 @@ data Pet = Pet
|
||||
, petStatus :: !(Maybe Text) -- ^ "status" - pet status in the store
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Pet
|
||||
instance A.FromJSON Pet where
|
||||
parseJSON = A.withObject "Pet" $ \o ->
|
||||
Pet
|
||||
@@ -1046,6 +1135,7 @@ instance A.FromJSON Pet where
|
||||
<*> (o .:? "tags")
|
||||
<*> (o .:? "status")
|
||||
|
||||
-- | ToJSON Pet
|
||||
instance A.ToJSON Pet where
|
||||
toJSON Pet {..} =
|
||||
_omitNulls
|
||||
@@ -1075,18 +1165,21 @@ mkPet petName petPhotoUrls =
|
||||
|
||||
|
||||
-- ** ReadOnlyFirst
|
||||
-- |
|
||||
-- | ReadOnlyFirst
|
||||
data ReadOnlyFirst = ReadOnlyFirst
|
||||
{ readOnlyFirstBar :: !(Maybe Text) -- ^ "bar"
|
||||
, readOnlyFirstBaz :: !(Maybe Text) -- ^ "baz"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON ReadOnlyFirst
|
||||
instance A.FromJSON ReadOnlyFirst where
|
||||
parseJSON = A.withObject "ReadOnlyFirst" $ \o ->
|
||||
ReadOnlyFirst
|
||||
<$> (o .:? "bar")
|
||||
<*> (o .:? "baz")
|
||||
|
||||
-- | ToJSON ReadOnlyFirst
|
||||
instance A.ToJSON ReadOnlyFirst where
|
||||
toJSON ReadOnlyFirst {..} =
|
||||
_omitNulls
|
||||
@@ -1106,16 +1199,19 @@ mkReadOnlyFirst =
|
||||
|
||||
|
||||
-- ** SpecialModelName
|
||||
-- |
|
||||
-- | SpecialModelName
|
||||
data SpecialModelName = SpecialModelName
|
||||
{ specialModelNameSpecialPropertyName :: !(Maybe Integer) -- ^ "$special[property.name]"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON SpecialModelName
|
||||
instance A.FromJSON SpecialModelName where
|
||||
parseJSON = A.withObject "SpecialModelName" $ \o ->
|
||||
SpecialModelName
|
||||
<$> (o .:? "$special[property.name]")
|
||||
|
||||
-- | ToJSON SpecialModelName
|
||||
instance A.ToJSON SpecialModelName where
|
||||
toJSON SpecialModelName {..} =
|
||||
_omitNulls
|
||||
@@ -1133,18 +1229,21 @@ mkSpecialModelName =
|
||||
|
||||
|
||||
-- ** Tag
|
||||
-- |
|
||||
-- | Tag
|
||||
data Tag = Tag
|
||||
{ tagId :: !(Maybe Integer) -- ^ "id"
|
||||
, tagName :: !(Maybe Text) -- ^ "name"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Tag
|
||||
instance A.FromJSON Tag where
|
||||
parseJSON = A.withObject "Tag" $ \o ->
|
||||
Tag
|
||||
<$> (o .:? "id")
|
||||
<*> (o .:? "name")
|
||||
|
||||
-- | ToJSON Tag
|
||||
instance A.ToJSON Tag where
|
||||
toJSON Tag {..} =
|
||||
_omitNulls
|
||||
@@ -1164,7 +1263,7 @@ mkTag =
|
||||
|
||||
|
||||
-- ** User
|
||||
-- |
|
||||
-- | User
|
||||
data User = User
|
||||
{ userId :: !(Maybe Integer) -- ^ "id"
|
||||
, userUsername :: !(Maybe Text) -- ^ "username"
|
||||
@@ -1176,6 +1275,8 @@ data User = User
|
||||
, userUserStatus :: !(Maybe Int) -- ^ "userStatus" - User Status
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON User
|
||||
instance A.FromJSON User where
|
||||
parseJSON = A.withObject "User" $ \o ->
|
||||
User
|
||||
@@ -1188,6 +1289,7 @@ instance A.FromJSON User where
|
||||
<*> (o .:? "phone")
|
||||
<*> (o .:? "userStatus")
|
||||
|
||||
-- | ToJSON User
|
||||
instance A.ToJSON User where
|
||||
toJSON User {..} =
|
||||
_omitNulls
|
||||
@@ -1219,13 +1321,15 @@ mkUser =
|
||||
|
||||
|
||||
-- ** Cat
|
||||
-- |
|
||||
-- | Cat
|
||||
data Cat = Cat
|
||||
{ catClassName :: !(Text) -- ^ /Required/ "className"
|
||||
, catColor :: !(Maybe Text) -- ^ "color"
|
||||
, catDeclawed :: !(Maybe Bool) -- ^ "declawed"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Cat
|
||||
instance A.FromJSON Cat where
|
||||
parseJSON = A.withObject "Cat" $ \o ->
|
||||
Cat
|
||||
@@ -1233,6 +1337,7 @@ instance A.FromJSON Cat where
|
||||
<*> (o .:? "color")
|
||||
<*> (o .:? "declawed")
|
||||
|
||||
-- | ToJSON Cat
|
||||
instance A.ToJSON Cat where
|
||||
toJSON Cat {..} =
|
||||
_omitNulls
|
||||
@@ -1255,13 +1360,15 @@ mkCat catClassName =
|
||||
|
||||
|
||||
-- ** Dog
|
||||
-- |
|
||||
-- | Dog
|
||||
data Dog = Dog
|
||||
{ dogClassName :: !(Text) -- ^ /Required/ "className"
|
||||
, dogColor :: !(Maybe Text) -- ^ "color"
|
||||
, dogBreed :: !(Maybe Text) -- ^ "breed"
|
||||
} deriving (P.Show,P.Eq,P.Typeable)
|
||||
|
||||
|
||||
-- | FromJSON Dog
|
||||
instance A.FromJSON Dog where
|
||||
parseJSON = A.withObject "Dog" $ \o ->
|
||||
Dog
|
||||
@@ -1269,6 +1376,7 @@ instance A.FromJSON Dog where
|
||||
<*> (o .:? "color")
|
||||
<*> (o .:? "breed")
|
||||
|
||||
-- | ToJSON Dog
|
||||
instance A.ToJSON Dog where
|
||||
toJSON Dog {..} =
|
||||
_omitNulls
|
||||
@@ -1293,21 +1401,23 @@ mkDog dogClassName =
|
||||
-- * Utils
|
||||
|
||||
-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)
|
||||
|
||||
_omitNulls :: [(Text, A.Value)] -> A.Value
|
||||
_omitNulls = A.object . P.filter notNull
|
||||
where
|
||||
notNull (_, A.Null) = False
|
||||
notNull _ = True
|
||||
|
||||
-- | Encodes fields using WH.toQueryParam
|
||||
_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])
|
||||
_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x
|
||||
|
||||
-- | Collapse (Just "") to Nothing
|
||||
_emptyToNothing :: Maybe String -> Maybe String
|
||||
_emptyToNothing (Just "") = Nothing
|
||||
_emptyToNothing x = x
|
||||
{-# INLINE _emptyToNothing #-}
|
||||
|
||||
-- | Collapse (Just mempty) to Nothing
|
||||
_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a
|
||||
_memptyToNothing (Just x) | x P.== P.mempty = Nothing
|
||||
_memptyToNothing x = x
|
||||
@@ -1340,6 +1450,7 @@ _showDateTime =
|
||||
TI.formatISO8601Millis
|
||||
{-# INLINE _showDateTime #-}
|
||||
|
||||
-- | parse an ISO8601 date-time string
|
||||
_parseISO8601 :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t
|
||||
_parseISO8601 t =
|
||||
P.asum $
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
<argument>--install-ghc</argument>
|
||||
<argument>--no-haddock-deps</argument>
|
||||
<argument>haddock</argument>
|
||||
<argument>--fast</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
@@ -51,6 +52,7 @@
|
||||
<executable>stack</executable>
|
||||
<arguments>
|
||||
<argument>test</argument>
|
||||
<argument>--fast</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
@@ -92,6 +92,7 @@ test-suite tests
|
||||
, time
|
||||
, iso8601-time
|
||||
, aeson
|
||||
, vector
|
||||
, semigroups
|
||||
, QuickCheck
|
||||
other-modules:
|
||||
|
||||
@@ -108,8 +108,8 @@
|
||||
"type" : "array",
|
||||
"items" : {
|
||||
"type" : "string",
|
||||
"default" : "available",
|
||||
"enum" : [ "available", "pending", "sold" ]
|
||||
"enum" : [ "available", "pending", "sold" ],
|
||||
"default" : "available"
|
||||
},
|
||||
"collectionFormat" : "csv"
|
||||
} ],
|
||||
@@ -680,8 +680,8 @@
|
||||
"type" : "array",
|
||||
"items" : {
|
||||
"type" : "string",
|
||||
"default" : "$",
|
||||
"enum" : [ ">", "$" ]
|
||||
"enum" : [ ">", "$" ],
|
||||
"default" : "$"
|
||||
}
|
||||
}, {
|
||||
"name" : "enum_form_string",
|
||||
@@ -699,8 +699,8 @@
|
||||
"type" : "array",
|
||||
"items" : {
|
||||
"type" : "string",
|
||||
"default" : "$",
|
||||
"enum" : [ ">", "$" ]
|
||||
"enum" : [ ">", "$" ],
|
||||
"default" : "$"
|
||||
}
|
||||
}, {
|
||||
"name" : "enum_header_string",
|
||||
@@ -718,8 +718,8 @@
|
||||
"type" : "array",
|
||||
"items" : {
|
||||
"type" : "string",
|
||||
"default" : "$",
|
||||
"enum" : [ ">", "$" ]
|
||||
"enum" : [ ">", "$" ],
|
||||
"default" : "$"
|
||||
}
|
||||
}, {
|
||||
"name" : "enum_query_string",
|
||||
|
||||
@@ -49,17 +49,24 @@ main = do
|
||||
|
||||
env <- getEnvironment
|
||||
|
||||
let host = case lookup "HOST" env of
|
||||
Just h -> BCL.pack h
|
||||
_ -> "http://0.0.0.0/v2"
|
||||
mgr <- NH.newManager NH.defaultManagerSettings
|
||||
|
||||
config0 <- S.withStdoutLogging =<< S.newConfig
|
||||
let config = config0 { S.configHost = host }
|
||||
|
||||
let config =
|
||||
-- configure host
|
||||
case lookup "HOST" env of
|
||||
Just h -> config0 { S.configHost = BCL.pack h }
|
||||
_ -> config0 { S.configHost = "http://0.0.0.0/v2" }
|
||||
-- each configured auth method is only applied to requests that specify them
|
||||
`S.addAuthMethod` S.AuthBasicHttpBasicTest "username" "password"
|
||||
`S.addAuthMethod` S.AuthApiKeyApiKey "secret-key"
|
||||
`S.addAuthMethod` S.AuthApiKeyApiKeyQuery "secret-key"
|
||||
`S.addAuthMethod` S.AuthOAuthPetstoreAuth "secret-key"
|
||||
|
||||
putStrLn "\n******** CONFIG ********"
|
||||
putStrLn (show config)
|
||||
|
||||
mgr <- NH.newManager NH.defaultManagerSettings
|
||||
|
||||
hspec $ do
|
||||
testPetOps mgr config
|
||||
@@ -91,7 +98,7 @@ testPetOps mgr config =
|
||||
Just pet@S.Pet {S.petId = Just petId} -> go (petId, pet)
|
||||
_ -> pendingWith "no petId") $
|
||||
it "getPetById" $ \(petId, pet) -> do
|
||||
let getPetByIdRequest = S.getPetById petId
|
||||
let getPetByIdRequest = S.getPetById (S.PetId petId)
|
||||
getPetByIdRequestResult <- S.dispatchMime mgr config getPetByIdRequest S.MimeJSON
|
||||
NH.responseStatus (S.mimeResultResponse getPetByIdRequestResult) `shouldBe` NH.status200
|
||||
case S.mimeResult getPetByIdRequestResult of
|
||||
@@ -99,7 +106,7 @@ testPetOps mgr config =
|
||||
Left (S.MimeError e _) -> assertFailure e
|
||||
|
||||
it "findPetsByStatus" $ do
|
||||
let findPetsByStatusRequest = S.findPetsByStatus ["available","pending","sold"]
|
||||
let findPetsByStatusRequest = S.findPetsByStatus (S.Status ["available","pending","sold"])
|
||||
findPetsByStatusResult <- S.dispatchMime mgr config findPetsByStatusRequest S.MimeJSON
|
||||
NH.responseStatus (S.mimeResultResponse findPetsByStatusResult) `shouldBe` NH.status200
|
||||
case S.mimeResult findPetsByStatusResult of
|
||||
@@ -107,7 +114,7 @@ testPetOps mgr config =
|
||||
Left (S.MimeError e _) -> assertFailure e
|
||||
|
||||
it "findPetsByTags" $ do
|
||||
let findPetsByTagsRequest = S.findPetsByTags ["name","tag1"]
|
||||
let findPetsByTagsRequest = S.findPetsByTags (S.Tags ["name","tag1"])
|
||||
findPetsByTagsResult <- S.dispatchMime mgr config findPetsByTagsRequest S.MimeJSON
|
||||
NH.responseStatus (S.mimeResultResponse findPetsByTagsResult) `shouldBe` NH.status200
|
||||
case S.mimeResult findPetsByTagsResult of
|
||||
@@ -129,9 +136,9 @@ testPetOps mgr config =
|
||||
it "updatePetWithFormRequest" $ do
|
||||
readIORef _pet >>= \case
|
||||
Just S.Pet {S.petId = Just petId} -> do
|
||||
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded petId
|
||||
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded (S.PetId petId)
|
||||
`S.applyOptionalParam` S.Name2 "petName"
|
||||
`S.applyOptionalParam` S.Status "pending"
|
||||
`S.applyOptionalParam` S.StatusText "pending"
|
||||
updatePetWithFormResponse <- S.dispatchLbs mgr config updatePetWithFormRequest S.MimeJSON
|
||||
NH.responseStatus updatePetWithFormResponse `shouldBe` NH.status200
|
||||
_ -> pendingWith "no pet"
|
||||
@@ -141,7 +148,7 @@ testPetOps mgr config =
|
||||
Just pet@S.Pet {S.petId = Just petId} -> go petId
|
||||
_ -> pendingWith "no petId") $
|
||||
it "uploadFile" $ \petId -> do
|
||||
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData petId
|
||||
let uploadFileRequest = S.uploadFile S.MimeMultipartFormData (S.PetId petId)
|
||||
`S.applyOptionalParam` S.File "package.yaml"
|
||||
`S.applyOptionalParam` S.AdditionalMetadata "a package.yaml file"
|
||||
uploadFileRequestResult <- S.dispatchMime mgr config uploadFileRequest S.MimeJSON
|
||||
@@ -155,7 +162,7 @@ testPetOps mgr config =
|
||||
Just pet@S.Pet {S.petId = Just petId} -> go petId
|
||||
_ -> pendingWith "no petId") $
|
||||
it "deletePet" $ \petId -> do
|
||||
let deletePetRequest = S.deletePet petId
|
||||
let deletePetRequest = S.deletePet (S.PetId petId)
|
||||
`S.applyOptionalParam` S.ApiKey "api key"
|
||||
deletePetResponse <- S.dispatchLbs mgr config deletePetRequest S.MimeJSON
|
||||
NH.responseStatus deletePetResponse `shouldBe` NH.status200
|
||||
@@ -200,7 +207,7 @@ testStoreOps mgr config = do
|
||||
Just order@S.Order {S.orderId = Just orderId} -> go (orderId, order)
|
||||
_ -> pendingWith "no orderId") $
|
||||
it "getOrderById" $ \(orderId, order) -> do
|
||||
let getOrderByIdRequest = S.getOrderById orderId
|
||||
let getOrderByIdRequest = S.getOrderById (S.OrderId orderId)
|
||||
getOrderByIdRequestResult <- S.dispatchMime mgr config getOrderByIdRequest S.MimeJSON
|
||||
NH.responseStatus (S.mimeResultResponse getOrderByIdRequestResult) `shouldBe` NH.status200
|
||||
case S.mimeResult getOrderByIdRequestResult of
|
||||
@@ -212,7 +219,7 @@ testStoreOps mgr config = do
|
||||
Just S.Order {S.orderId = Just orderId} -> go (T.pack (show orderId))
|
||||
_ -> pendingWith "no orderId") $
|
||||
it "deleteOrder" $ \orderId -> do
|
||||
let deleteOrderRequest = S.deleteOrder orderId
|
||||
let deleteOrderRequest = S.deleteOrder (S.OrderIdText orderId)
|
||||
deleteOrderResult <- S.dispatchLbs mgr config deleteOrderRequest S.MimeJSON
|
||||
NH.responseStatus deleteOrderResult `shouldBe` NH.status200
|
||||
|
||||
@@ -249,19 +256,19 @@ testUserOps mgr config = do
|
||||
|
||||
before (pure _users) $
|
||||
it "createUsersWithArrayInput" $ \users -> do
|
||||
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON users
|
||||
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON (S.Body users)
|
||||
createUsersWithArrayInputResult <- S.dispatchLbs mgr config createUsersWithArrayInputRequest S.MimeNoContent
|
||||
NH.responseStatus createUsersWithArrayInputResult `shouldBe` NH.status200
|
||||
|
||||
before (pure _users) $
|
||||
it "createUsersWithListInput" $ \users -> do
|
||||
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON users
|
||||
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON (S.Body users)
|
||||
createUsersWithListInputResult <- S.dispatchLbs mgr config createUsersWithListInputRequest S.MimeNoContent
|
||||
NH.responseStatus createUsersWithListInputResult `shouldBe` NH.status200
|
||||
|
||||
before (pure (_username, _user)) $
|
||||
it "getUserByName" $ \(username, user) -> do
|
||||
let getUserByNameRequest = S.getUserByName username
|
||||
let getUserByNameRequest = S.getUserByName (S.Username username)
|
||||
getUserByNameResult <- S.dispatchMime mgr config getUserByNameRequest S.MimeJSON
|
||||
NH.responseStatus (S.mimeResultResponse getUserByNameResult) `shouldBe` NH.status200
|
||||
case S.mimeResult getUserByNameResult of
|
||||
@@ -270,13 +277,13 @@ testUserOps mgr config = do
|
||||
|
||||
before (pure (_username, _password)) $
|
||||
it "loginUser" $ \(username, password) -> do
|
||||
let loginUserRequest = S.loginUser username password
|
||||
let loginUserRequest = S.loginUser (S.Username username) (S.Password password)
|
||||
loginUserResult <- S.dispatchLbs mgr config loginUserRequest S.MimeJSON
|
||||
NH.responseStatus loginUserResult `shouldBe` NH.status200
|
||||
|
||||
before (pure (_username, _user)) $
|
||||
it "updateUser" $ \(username, user) -> do
|
||||
let updateUserRequest = S.updateUser S.MimeJSON username user
|
||||
let updateUserRequest = S.updateUser S.MimeJSON (S.Username username) user
|
||||
updateUserResult <- S.dispatchLbs mgr config updateUserRequest S.MimeJSON
|
||||
NH.responseStatus updateUserResult `shouldBe` NH.status200
|
||||
|
||||
@@ -286,6 +293,6 @@ testUserOps mgr config = do
|
||||
|
||||
before (pure _username) $
|
||||
it "deleteUser" $ \username -> do
|
||||
let deleteUserRequest = S.deleteUser username
|
||||
let deleteUserRequest = S.deleteUser (S.Username username)
|
||||
deleteUserResult <- S.dispatchLbs mgr config deleteUserRequest S.MimeJSON
|
||||
NH.responseStatus deleteUserResult `shouldBe` NH.status200
|
||||
|
||||
@@ -2,20 +2,23 @@
|
||||
|
||||
module Instances where
|
||||
|
||||
import Data.Text (Text, pack)
|
||||
import Control.Monad
|
||||
import Data.Char (isSpace)
|
||||
import Data.List (sort)
|
||||
import qualified Data.Time as TI
|
||||
import Test.QuickCheck
|
||||
import qualified Data.Aeson as A
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.HashMap.Strict as HM
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.ByteString.Lazy as BL
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Time as TI
|
||||
import qualified Data.Vector as V
|
||||
|
||||
import ApproxEq
|
||||
import SwaggerPetstore.Model
|
||||
|
||||
instance Arbitrary Text where
|
||||
arbitrary = pack <$> arbitrary
|
||||
instance Arbitrary T.Text where
|
||||
arbitrary = T.pack <$> arbitrary
|
||||
|
||||
instance Arbitrary TI.Day where
|
||||
arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary
|
||||
@@ -45,6 +48,27 @@ instance Arbitrary Date where
|
||||
arbitrary = Date <$> arbitrary
|
||||
shrink (Date xs) = Date <$> shrink xs
|
||||
|
||||
-- | A naive Arbitrary instance for A.Value:
|
||||
instance Arbitrary A.Value where
|
||||
arbitrary = frequency [(3, simpleTypes), (1, arrayTypes), (1, objectTypes)]
|
||||
where
|
||||
simpleTypes :: Gen A.Value
|
||||
simpleTypes =
|
||||
frequency
|
||||
[ (1, return A.Null)
|
||||
, (2, liftM A.Bool (arbitrary :: Gen Bool))
|
||||
, (2, liftM (A.Number . fromIntegral) (arbitrary :: Gen Int))
|
||||
, (2, liftM (A.String . T.pack) (arbitrary :: Gen String))
|
||||
]
|
||||
mapF (k, v) = (T.pack k, v)
|
||||
simpleAndArrays = frequency [(1, sized sizedArray), (4, simpleTypes)]
|
||||
arrayTypes = sized sizedArray
|
||||
objectTypes = sized sizedObject
|
||||
sizedArray n = liftM (A.Array . V.fromList) $ replicateM n simpleTypes
|
||||
sizedObject n =
|
||||
liftM (A.object . map mapF) $
|
||||
replicateM n $ (,) <$> (arbitrary :: Gen String) <*> simpleAndArrays
|
||||
|
||||
-- | Checks if a given list has no duplicates in _O(n log n)_.
|
||||
hasNoDups
|
||||
:: (Ord a)
|
||||
|
||||
@@ -17,42 +17,43 @@ import SwaggerPetstore.MimeTypes
|
||||
|
||||
main :: IO ()
|
||||
main =
|
||||
hspec $ modifyMaxSize (const 10) $
|
||||
do describe "JSON instances" $
|
||||
do propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Animal)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy AnimalFarm)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfArrayOfNumberOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfNumberOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ArrayTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Capitalization)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Category)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ClassModel)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Client)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy EnumArrays)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy EnumClass)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy EnumTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy FormatTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy HasOnlyReadOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy MapTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy MixedPropertiesAndAdditionalPropertiesClass)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Model200Response)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ModelList)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ModelReturn)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Name)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy NumberOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Order)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterBoolean)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterComposite)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterEnum)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterNumber)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterString)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Pet)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ReadOnlyFirst)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy SpecialModelName)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Tag)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy User)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Cat)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Dog)
|
||||
hspec $ modifyMaxSize (const 10) $ do
|
||||
describe "JSON instances" $ do
|
||||
pure ()
|
||||
propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Animal)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy AnimalFarm)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfArrayOfNumberOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ArrayOfNumberOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ArrayTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Capitalization)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Category)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ClassModel)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Client)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy EnumArrays)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy EnumClass)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy EnumTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy FormatTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy HasOnlyReadOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy MapTest)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy MixedPropertiesAndAdditionalPropertiesClass)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Model200Response)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ModelList)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ModelReturn)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Name)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy NumberOnly)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Order)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterBoolean)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterComposite)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterEnum)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterNumber)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy OuterString)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Pet)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy ReadOnlyFirst)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy SpecialModelName)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Tag)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy User)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Cat)
|
||||
propMimeEq MimeJSON (Proxy :: Proxy Dog)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user