add haskell-http-client-generator (#6429)

This commit is contained in:
Jon Schoning 2017-09-05 11:33:48 -05:00 committed by wing328
parent 4eab5406c5
commit c7d145a4ba
117 changed files with 10499 additions and 0 deletions

5
.gitignore vendored
View File

@ -169,3 +169,8 @@ effective.pom
# kotlin
samples/client/petstore/kotlin/src/main/kotlin/test/
\?
# haskell
.stack-work
.cabal-sandbox
cabal.project.local

View File

@ -7,6 +7,7 @@ cache:
- $HOME/.ivy2
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.stack
- $HOME/samples/client/petstore/php/SwaggerClient-php/vendor
- $HOME/samples/client/petstore/ruby/venodr/bundle
- $HOME/samples/client/petstore/python/.venv/
@ -23,6 +24,7 @@ cache:
- $HOME/samples/client/petstore/typescript-angularjs/node_modules
- $HOME/samples/client/petstore/typescript-angularjs/typings
- $HOME/.cocoapods/repos/master
timeout: 1000
# note: docker is not yet supported in iOS build
#services:
# - docker
@ -52,6 +54,9 @@ before_install:
- brew install curl
- brew install python3
- pip install virtualenv
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- travis_retry curl --insecure -L https://www.stackage.org/stack/osx-x86_64 | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin
# start local petstore server
- git clone -b docker --single-branch https://github.com/wing328/swagger-samples
- cd swagger-samples/java/java-jersey-jaxrs
@ -76,6 +81,8 @@ before_install:
- xcpretty -v
# show go version
- go version
# show stack version
- stack --version
install:
# Add Godeps dependencies to GOPATH and PATH

View File

@ -0,0 +1,31 @@
#!/bin/sh
SCRIPT="$0"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
if [ ! -f "$executable" ]
then
mvn clean package
fi
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="$@ generate -t modules/swagger-codegen/src/main/resources/haskell-http-client -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l haskell-http-client -o samples/client/petstore/haskell-http-client"
java $JAVA_OPTS -jar $executable $ags

View File

@ -0,0 +1,10 @@
set executable=.\modules\swagger-codegen-cli\target\swagger-codegen-cli.jar
If Not Exist %executable% (
mvn clean package
)
REM set JAVA_OPTS=%JAVA_OPTS% -Xmx1024M -DloggerPath=conf/log4j.properties
set ags=generate -i modules\swagger-codegen\src\test\resources\2_0\petstore.yaml -l haskell-http-client -o samples\client\petstore\haskell-http-client
java %JAVA_OPTS% -jar %executable% %ags%

View File

@ -0,0 +1,861 @@
package io.swagger.codegen.languages;
import io.swagger.codegen.*;
import io.swagger.models.Model;
import io.swagger.models.ModelImpl;
import io.swagger.models.Operation;
import io.swagger.models.Swagger;
import io.swagger.models.parameters.Parameter;
import io.swagger.models.properties.ArrayProperty;
import io.swagger.models.properties.MapProperty;
import io.swagger.models.properties.Property;
import java.util.*;
import java.util.regex.Pattern;
import org.apache.commons.io.FileUtils;
import io.swagger.codegen.CliOption;
import io.swagger.codegen.CodegenConstants;
import io.swagger.codegen.CodegenModel;
import io.swagger.codegen.CodegenOperation;
import io.swagger.codegen.CodegenProperty;
import io.swagger.codegen.SupportingFile;
import io.swagger.util.Json;
import java.io.IOException;
import java.io.File;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.WordUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenConfig {
// source folder where to write the files
protected String sourceFolder = "src";
protected String apiVersion = "0.0.1";
protected String artifactId = "swagger-haskell-http-client";
protected String artifactVersion = "1.0.0";
protected String defaultDateTimeFormat = "%Y-%m-%dT%H:%M:%S%Q%z";
protected String defaultDateFormat = "%Y-%m-%d";
// CLI
public static final String ALLOW_FROMJSON_NULLS = "allowFromJsonNulls";
public static final String ALLOW_TOJSON_NULLS = "allowToJsonNulls";
public static final String DATETIME_FORMAT = "dateTimeFormat";
public static final String DATE_FORMAT = "dateFormat";
public static final String GENERATE_FORM_URLENCODED_INSTANCES = "generateFormUrlEncodedInstances";
public static final String GENERATE_LENSES = "generateLenses";
public static final String GENERATE_MODEL_CONSTRUCTORS = "generateModelConstructors";
public static final String MODEL_DERIVING = "modelDeriving";
// protected String MODEL_IMPORTS = "modelImports";
// protected String MODEL_EXTENSIONS = "modelExtensions";
private static final Pattern LEADING_UNDERSCORE = Pattern.compile("^_+");
static final String MEDIA_TYPE = "mediaType";
static final String MEDIA_DATA_TYPE = "x-mediaDataType";
protected Map<String, CodegenParameter> uniqueOptionalParamsByName = new HashMap<String, CodegenParameter>();
protected Map<String, CodegenModel> modelNames = new HashMap<String, CodegenModel>();
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>>();
protected String lastTag = "";
protected ArrayList<Map<String,String>> unknownMimeTypes = new ArrayList<Map<String,String>>();
public CodegenType getTag() {
return CodegenType.CLIENT;
}
public String getName() {
return "haskell-http-client";
}
public String getHelp() {
return "Generates a Haskell http-client library.";
}
public HaskellHttpClientCodegen() {
super();
// override the mapping to keep the original mapping in Haskell
specialCharReplacements.put("-", "Dash");
specialCharReplacements.put(">", "GreaterThan");
specialCharReplacements.put("<", "LessThan");
// backslash and double quote need double the escapement for both Java and Haskell
specialCharReplacements.remove("\\");
specialCharReplacements.remove("\"");
specialCharReplacements.put("\\\\", "Back_Slash");
specialCharReplacements.put("\\\"", "Double_Quote");
// set the output folder here
outputFolder = "generated-code/haskell-http-client";
embeddedTemplateDir = templateDir = "haskell-http-client";
apiPackage = "API";
modelPackage = "Model";
// Haskell keywords and reserved function names, taken mostly from https://wiki.haskell.org/Keywords
setReservedWordsLowerCase(
Arrays.asList(
// Keywords
"as", "case", "of",
"class", "data", "family",
"default", "deriving",
"do", "forall", "foreign", "hiding",
"if", "then", "else",
"import", "infix", "infixl", "infixr",
"instance", "let", "in",
"mdo", "module", "newtype",
"proc", "qualified", "rec",
"type", "where"
)
);
additionalProperties.put("apiVersion", apiVersion);
additionalProperties.put("artifactId", artifactId);
additionalProperties.put("artifactVersion", artifactVersion);
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
supportingFiles.add(new SupportingFile("stack.mustache", "", "stack.yaml"));
supportingFiles.add(new SupportingFile("Setup.mustache", "", "Setup.hs"));
supportingFiles.add(new SupportingFile(".gitignore", "", ".gitignore"));
supportingFiles.add(new SupportingFile(".travis.yml", "", ".travis.yml"));
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));
supportingFiles.add(new SupportingFile("tests/ApproxEq.mustache", "tests", "ApproxEq.hs"));
supportingFiles.add(new SupportingFile("tests/Instances.mustache", "tests", "Instances.hs"));
supportingFiles.add(new SupportingFile("tests/PropMime.mustache", "tests", "PropMime.hs"));
supportingFiles.add(new SupportingFile("tests/Test.mustache", "tests", "Test.hs"));
languageSpecificPrimitives = new HashSet<String>(
Arrays.asList(
"Bool",
"String",
"Int",
"Integer",
"Float",
"Char",
"Double",
"List",
"FilePath"
)
);
typeMapping.clear();
// typeMapping.put("array", "List");
typeMapping.put("set", "Set");
typeMapping.put("boolean", "Bool");
typeMapping.put("string", "Text");
typeMapping.put("int", "Int");
typeMapping.put("long", "Integer");
typeMapping.put("short", "Int");
typeMapping.put("char", "Char");
typeMapping.put("float", "Float");
typeMapping.put("double", "Double");
typeMapping.put("Date", "Day");
typeMapping.put("DateTime", "UTCTime");
typeMapping.put("file", "FilePath");
typeMapping.put("number", "Double");
typeMapping.put("integer", "Int");
typeMapping.put("any", "Value");
typeMapping.put("UUID", "Text");
typeMapping.put("binary", "ByteString");
typeMapping.put("ByteArray", "ByteString");
knownMimeDataTypes.put("application/json", "MimeJSON");
knownMimeDataTypes.put("application/xml", "MimeXML");
knownMimeDataTypes.put("application/x-www-form-urlencoded", "MimeFormUrlEncoded");
knownMimeDataTypes.put("application/octet-stream", "MimeOctetStream");
knownMimeDataTypes.put("multipart/form-data", "MimeMultipartFormData");
knownMimeDataTypes.put("text/plain", "MimePlainText");
importMapping.clear();
importMapping.put("Map", "qualified Data.Map as Map");
cliOptions.add(new CliOption(CodegenConstants.MODEL_PACKAGE, CodegenConstants.MODEL_PACKAGE_DESC));
cliOptions.add(new CliOption(CodegenConstants.API_PACKAGE, CodegenConstants.API_PACKAGE_DESC));
cliOptions.add(new CliOption(ALLOW_FROMJSON_NULLS, "allow JSON Null during model decoding from JSON").defaultValue(Boolean.TRUE.toString()));
cliOptions.add(new CliOption(ALLOW_TOJSON_NULLS, "allow emitting JSON Null during model encoding to JSON").defaultValue(Boolean.FALSE.toString()));
cliOptions.add(new CliOption(GENERATE_LENSES, "Generate Lens optics for Models").defaultValue(Boolean.TRUE.toString()));
cliOptions.add(new CliOption(GENERATE_MODEL_CONSTRUCTORS, "Generate smart constructors (only supply required fields) for models").defaultValue(Boolean.TRUE.toString()));
cliOptions.add(new CliOption(GENERATE_FORM_URLENCODED_INSTANCES, "Generate FromForm/ToForm instances for models that are used by operations that produce or consume application/x-www-form-urlencoded").defaultValue(Boolean.TRUE.toString()));
cliOptions.add(new CliOption(MODEL_DERIVING, "Additional classes to include in the deriving() clause of Models"));
cliOptions.add(new CliOption(DATETIME_FORMAT, "format string used to parse/render a datetime").defaultValue(defaultDateTimeFormat));
cliOptions.add(new CliOption(DATE_FORMAT, "format string used to parse/render a date").defaultValue(defaultDateFormat));
cliOptions.add(new CliOption(CodegenConstants.HIDE_GENERATION_TIMESTAMP, "hides the timestamp when files were generated").defaultValue(Boolean.TRUE.toString()));
// cliOptions.add(new CliOption(MODEL_IMPORTS, "Additional imports in the Models file"));
// cliOptions.add(new CliOption(MODEL_EXTENSIONS, "Additional extensions in the Models file"));
}
public void setAllowFromJsonNulls(Boolean value) {
additionalProperties.put(ALLOW_FROMJSON_NULLS, value);
}
public void setAllowToJsonNulls(Boolean value) {
additionalProperties.put(ALLOW_TOJSON_NULLS, value);
}
public void setGenerateModelConstructors(Boolean value) {
additionalProperties.put(GENERATE_MODEL_CONSTRUCTORS, value);
}
public void setGenerateFormUrlEncodedInstances(Boolean value) {
additionalProperties.put(GENERATE_FORM_URLENCODED_INSTANCES, value);
}
public void setGenerateLenses(Boolean value) {
additionalProperties.put(GENERATE_LENSES, value);
}
public void setModelDeriving(String value) {
if (StringUtils.isBlank(value)) {
additionalProperties.remove(MODEL_DERIVING);
} else {
additionalProperties.put(MODEL_DERIVING, StringUtils.join(value.split(" "), ","));
}
}
public void setDateTimeFormat(String value) {
if (StringUtils.isBlank(value)) {
additionalProperties.remove(DATETIME_FORMAT);
} else {
additionalProperties.put(DATETIME_FORMAT, value);
}
}
public void setDateFormat(String value) {
if (StringUtils.isBlank(value)) {
additionalProperties.remove(DATE_FORMAT);
} else {
additionalProperties.put(DATE_FORMAT, value);
}
}
@Override
public void processOpts() {
super.processOpts();
// default HIDE_GENERATION_TIMESTAMP to true
if (additionalProperties.containsKey(CodegenConstants.HIDE_GENERATION_TIMESTAMP)) {
convertPropertyToBooleanAndWriteBack(CodegenConstants.HIDE_GENERATION_TIMESTAMP);
} else {
additionalProperties.put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, true);
}
if (additionalProperties.containsKey(ALLOW_FROMJSON_NULLS)) {
setAllowFromJsonNulls(convertPropertyToBoolean(ALLOW_FROMJSON_NULLS));
} else {
setAllowFromJsonNulls(true);
}
if (additionalProperties.containsKey(ALLOW_TOJSON_NULLS)) {
setAllowToJsonNulls(convertPropertyToBoolean(ALLOW_TOJSON_NULLS));
} else {
setAllowToJsonNulls(false);
}
if (additionalProperties.containsKey(GENERATE_MODEL_CONSTRUCTORS)) {
setGenerateModelConstructors(convertPropertyToBoolean(GENERATE_MODEL_CONSTRUCTORS));
} else {
setGenerateModelConstructors(true);
}
if (additionalProperties.containsKey(GENERATE_FORM_URLENCODED_INSTANCES)) {
setGenerateFormUrlEncodedInstances(convertPropertyToBoolean(GENERATE_FORM_URLENCODED_INSTANCES));
} else {
setGenerateFormUrlEncodedInstances(true);
}
if (additionalProperties.containsKey(GENERATE_LENSES)) {
setGenerateLenses(convertPropertyToBoolean(GENERATE_LENSES));
} else {
setGenerateLenses(true);
}
if (additionalProperties.containsKey(MODEL_DERIVING)) {
setModelDeriving(additionalProperties.get(MODEL_DERIVING).toString());
} else {
setModelDeriving("");
}
if (additionalProperties.containsKey(DATETIME_FORMAT)) {
setDateTimeFormat(additionalProperties.get(DATETIME_FORMAT).toString());
} else {
setDateTimeFormat(null);
}
if (additionalProperties.containsKey(DATE_FORMAT)) {
setDateFormat(additionalProperties.get(DATE_FORMAT).toString());
} else {
setDateFormat(null);
}
}
// @Override
// public String apiFileFolder() {
// String apiName = (String)additionalProperties.get("title");
// return outputFolder + File.separator + "lib/" + apiName;
// }
// @Override
// public String modelFileFolder() {
// String apiName = (String)additionalProperties.get("title");
// return outputFolder + File.separator + "lib/" + apiName;
// }
@Override
public void preprocessSwagger(Swagger swagger) {
// From the title, compute a reasonable name for the package and the API
String title = swagger.getInfo().getTitle();
// Drop any API suffix
if (title == null) {
title = "Swagger";
} else {
title = title.trim();
if (title.toUpperCase().endsWith("API")) {
title = title.substring(0, title.length() - 3);
}
}
String[] words = title.split(" ");
// The package name is made by appending the lowercased words of the title interspersed with dashes
List<String> wordsLower = new ArrayList<String>();
for (String word : words) {
wordsLower.add(word.toLowerCase());
}
String cabalName = StringUtils.join(wordsLower, "-");
String pathsName = StringUtils.join(wordsLower, "_");
// The API name is made by appending the capitalized words of the title
List<String> wordsCaps = new ArrayList<String>();
for (String word : words) {
wordsCaps.add(firstLetterToUpper(word));
}
String apiName = StringUtils.join(wordsCaps, "");
// Set the filenames to write for the API
// root
supportingFiles.add(new SupportingFile("haskell-http-client.cabal.mustache", "", cabalName + ".cabal"));
supportingFiles.add(new SupportingFile("haskell-http-client.cabal.mustache", "", cabalName + ".cabal"));
supportingFiles.add(new SupportingFile("package.mustache", "", "package.yaml"));
// lib
supportingFiles.add(new SupportingFile("TopLevel.mustache", "lib/", apiName + ".hs"));
supportingFiles.add(new SupportingFile("Client.mustache", "lib/" + apiName, "Client.hs"));
supportingFiles.add(new SupportingFile("API.mustache", "lib/" + apiName, "API.hs"));
supportingFiles.add(new SupportingFile("Model.mustache", "lib/" + apiName, "Model.hs"));
supportingFiles.add(new SupportingFile("MimeTypes.mustache", "lib/" + apiName, "MimeTypes.hs"));
// modelTemplateFiles.put("API.mustache", ".hs");
// apiTemplateFiles.put("Model.mustache", ".hs");
// lens
if ((boolean)additionalProperties.get(GENERATE_LENSES)) {
supportingFiles.add(new SupportingFile("Lens.mustache", "lib/" + apiName, "Lens.hs"));
}
additionalProperties.put("title", apiName);
additionalProperties.put("titleLower", firstLetterToLower(apiName));
additionalProperties.put("package", cabalName);
additionalProperties.put("pathsName", pathsName);
additionalProperties.put("requestType", apiName + "Request");
additionalProperties.put("configType", apiName + "Config");
additionalProperties.put("swaggerVersion", swagger.getSwagger());
// prepend '
// List<Map<String, Object>> replacements = new ArrayList<>();
// Object[] replacementChars = specialCharReplacements.keySet().toArray();
// for (int i = 0; i < replacementChars.length; i++) {
// String c = (String) replacementChars[i];
// Map<String, Object> o = new HashMap<>();
// o.put("char", c);
// o.put("replacement", "'" + specialCharReplacements.get(c));
// o.put("hasMore", i != replacementChars.length - 1);
// replacements.add(o);
// }
// additionalProperties.put("specialCharReplacements", replacements);
//copy input swagger to output folder
try {
String swaggerJson = Json.pretty(swagger);
FileUtils.writeStringToFile(new File(outputFolder + File.separator + "swagger.json"), swaggerJson);
} catch (IOException e) {
throw new RuntimeException(e.getMessage(), e.getCause());
}
super.preprocessSwagger(swagger);
}
@Override
public String getTypeDeclaration(Property p) {
if (p instanceof ArrayProperty) {
ArrayProperty ap = (ArrayProperty) p;
Property inner = ap.getItems();
return "[" + getTypeDeclaration(inner) + "]";
} else if (p instanceof MapProperty) {
MapProperty mp = (MapProperty) p;
Property inner = mp.getAdditionalProperties();
return "Map.Map String " + getTypeDeclaration(inner);
}
return fixModelChars(super.getTypeDeclaration(p));
}
@Override
public String getSwaggerType(Property p) {
String swaggerType = super.getSwaggerType(p);
String type = null;
if (typeMapping.containsKey(swaggerType)) {
type = typeMapping.get(swaggerType);
if (languageSpecificPrimitives.contains(type))
return toModelName(type);
} else if (swaggerType == "object") {
type = "Value";
} else if (typeMapping.containsValue(swaggerType)) {
type = swaggerType + "_";
} else {
type = swaggerType;
}
return toModelName(type);
}
@Override
public String toInstantiationType(Property p) {
if (p instanceof MapProperty) {
MapProperty ap = (MapProperty) p;
Property additionalProperties2 = ap.getAdditionalProperties();
String type = additionalProperties2.getType();
if (null == type) {
LOGGER.error("No Type defined for Additional Property " + additionalProperties2 + "\n" //
+ "\tIn Property: " + p);
}
String inner = getSwaggerType(additionalProperties2);
return "(Map.Map Text " + inner + ")";
} else if (p instanceof ArrayProperty) {
ArrayProperty ap = (ArrayProperty) p;
String inner = getSwaggerType(ap.getItems());
// Return only the inner type; the wrapping with QueryList is done
// somewhere else, where we have access to the collection format.
return inner;
} else {
return null;
}
}
@Override
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);
op.vendorExtensions.put("x-haddockPath", String.format("%s %s", op.httpMethod, op.path.replace("/", "\\/")));
op.operationId = toHsVarName(op.operationId);
op.vendorExtensions.put("x-operationType", toHsTypeName(op.operationId));
op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams());
for (CodegenParameter param : op.allParams) {
param.vendorExtensions.put("x-operationType", capitalize(op.operationId));
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) {
op.vendorExtensions.put("x-hasOptionalParams", true);
String paramNameType = capitalize(param.paramName);
if (uniqueOptionalParamsByName.containsKey(paramNameType)) {
CodegenParameter lastParam = this.uniqueOptionalParamsByName.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)) {
paramNameType = generateNextName(paramNameType);
}
}
} else {
while (modelNames.containsKey(paramNameType)) {
paramNameType = generateNextName(paramNameType);
}
uniqueOptionalParamsByName.put(paramNameType, param);
}
param.vendorExtensions.put("x-paramNameType", paramNameType);
op.vendorExtensions.put("x-hasBodyOrFormParam", op.getHasBodyParam() || op.getHasFormParams());
}
}
if (op.getHasPathParams()) {
String remainingPath = op.path;
for (CodegenParameter param : op.pathParams) {
param.paramName = toHsVarName(param.paramName);
String[] pieces = remainingPath.split("\\{" + param.baseName + "\\}");
if (pieces.length == 0)
throw new RuntimeException("paramName {" + param.baseName + "} not in path " + op.path);
if (pieces.length > 2)
throw new RuntimeException("paramName {" + param.baseName + "} found multiple times in path " + op.path);
if (pieces.length == 2) {
param.vendorExtensions.put("x-pathPrefix", pieces[0]);
remainingPath = pieces[1];
} else {
if (remainingPath.startsWith("{" + param.baseName + "}")) {
remainingPath = pieces[0];
} else {
param.vendorExtensions.put("x-pathPrefix", pieces[0]);
remainingPath = "";
}
}
}
op.vendorExtensions.put("x-hasPathParams", true);
if (remainingPath.length() > 0) {
op.vendorExtensions.put("x-pathSuffix", remainingPath);
}
} else {
op.vendorExtensions.put("x-hasPathParams", false);
op.vendorExtensions.put("x-pathSuffix", op.path);
}
for (CodegenParameter param : op.queryParams) {
}
for (CodegenParameter param : op.headerParams) {
}
for (CodegenParameter param : op.bodyParams) {
}
for (CodegenParameter param : op.formParams) {
}
if (op.hasConsumes) {
for (Map<String, String> m : op.consumes) {
processMediaType(op,m);
}
if (isMultipart(op.consumes)) {
op.isMultipart = Boolean.TRUE;
}
}
if (op.hasProduces) {
for (Map<String, String> m : op.produces) {
processMediaType(op,m);
}
}
String returnType = op.returnType;
if (returnType == null || returnType.equals("null")) {
if(op.hasProduces) {
returnType = "res";
op.vendorExtensions.put("x-hasUnknownReturn", true);
} else {
returnType = "NoContent";
}
}
if (returnType.indexOf(" ") >= 0) {
returnType = "(" + returnType + ")";
}
op.vendorExtensions.put("x-returnType", returnType);
return op;
}
@Override
public Map<String, Object> postProcessOperations(Map<String, Object> objs) {
Map<String, Object> ret = super.postProcessOperations(objs);
HashMap<String, Object> pathOps = (HashMap<String, Object>)ret.get("operations");
ArrayList<CodegenOperation> ops = (ArrayList<CodegenOperation>)pathOps.get("operation");
if(ops.size() > 0) {
ops.get(0).vendorExtensions.put("x-hasNewTag", true);
}
additionalProperties.put("x-hasUnknownMimeTypes", !unknownMimeTypes.isEmpty());
additionalProperties.put("x-unknownMimeTypes", unknownMimeTypes);
return ret;
}
@Override
public Map<String, Object> postProcessOperationsWithModels(Map<String, Object> objs, List<Object> allModels) {
for (Object o : allModels) {
HashMap<String, Object> h = (HashMap<String, Object>) o;
CodegenModel m = (CodegenModel) h.get("model");
if (modelMimeTypes.containsKey(m.classname)) {
Set<String> mimeTypes = modelMimeTypes.get(m.classname);
m.vendorExtensions.put("x-mimeTypes", mimeTypes);
if ((boolean)additionalProperties.get(GENERATE_FORM_URLENCODED_INSTANCES) && mimeTypes.contains("MimeFormUrlEncoded")) {
Boolean hasMimeFormUrlEncoded = true;
for (CodegenProperty v : m.vars) {
if (!(v.isPrimitiveType || v.isString || v.isDate || v.isDateTime)) {
hasMimeFormUrlEncoded = false;
}
}
if (hasMimeFormUrlEncoded) {
m.vendorExtensions.put("x-hasMimeFormUrlEncoded", true);
}
}
}
}
return objs;
}
@Override
public CodegenModel fromModel(String name, Model mod, Map<String, Model> allDefinitions) {
CodegenModel model = super.fromModel(name, mod, allDefinitions);
// Clean up the class name to remove invalid characters
model.classname = fixModelChars(model.classname);
if (typeMapping.containsValue(model.classname)) {
model.classname += "_";
}
while (uniqueOptionalParamsByName.containsKey(model.classname)) {
model.classname = generateNextName(model.classname);
}
// From the model name, compute the prefix for the fields.
String prefix = camelize(model.classname, true);
for (CodegenProperty prop : model.vars) {
prop.name = toVarName(prefix + camelize(fixOperatorChars(prop.name)));
}
//String dataOrNewtype = "data";
// check if it's a ModelImpl before casting
if (!(mod instanceof ModelImpl)) {
return model;
}
// Create newtypes for things with non-object types
// String modelType = ((ModelImpl) mod).getType();
// if(modelType != "object" && typeMapping.containsKey(modelType)) {
// String newtype = typeMapping.get(modelType);
// model.vendorExtensions.put("x-customNewtype", newtype);
// }
modelNames.put(model.classname, model);
return model;
}
@Override
public CodegenParameter fromParameter(Parameter param, Set<String> imports) {
CodegenParameter p = super.fromParameter(param, imports);
p.paramName = toHsVarName(p.baseName);
p.dataType = fixModelChars(p.dataType);
return p;
}
@Override
public String escapeReservedWord(String name) {
if (this.reservedWordsMappings().containsKey(name)) {
return this.reservedWordsMappings().get(name);
}
return "_" + name;
}
@Override
public String toModelFilename(String name) {
// should be the same as the model name
return toModelName(name);
}
@Override
public String escapeQuotationMark(String input) {
// remove " to avoid code injection
return input.replace("\"", "");
}
@Override
public String escapeUnsafeCharacters(String input) {
return input.replace("{-", "{_-").replace("-}", "-_}");
}
@Override
public boolean isDataTypeFile(String dataType) {
return dataType != null && dataType.equals("FilePath");
}
@Override
public boolean isDataTypeBinary(final String dataType) {
return dataType != null && dataType.equals("B.ByteString");
}
private void processMediaType(CodegenOperation op, Map<String, String> m) {
String mediaType = m.get(MEDIA_TYPE);
if(StringUtils.isBlank(mediaType)) return;
String[] mediaTypeParts = mediaType.split("/",2);
if(mediaTypeParts.length > 1) {
m.put("x-mediaMainType", mediaTypeParts[0]);
m.put("x-mediaSubType", mediaTypeParts[1]);
} else {
m.put("x-mediaMainType", mediaTypeParts[0]);
m.put("x-mediaSubType", "");
}
String mimeType = getMimeDataType(mediaType);
m.put(MEDIA_DATA_TYPE, mimeType);
allMimeTypes.put(mediaType, m);
if(!knownMimeDataTypes.containsKey(mediaType) && !unknownMimeTypes.contains(m)) {
unknownMimeTypes.add(m);
}
for (CodegenParameter param : op.allParams) {
if (param.isBodyParam || param.isFormParam && (!param.isPrimitiveType && !param.isListContainer && !param.isMapContainer)) {
Set<String> mimeTypes = modelMimeTypes.containsKey(param.dataType) ? modelMimeTypes.get(param.dataType) : new HashSet();
mimeTypes.add(mimeType);
modelMimeTypes.put(param.dataType, mimeTypes);
}
}
}
public String firstLetterToUpper(String word) {
if (word.length() == 0) {
return word;
} else if (word.length() == 1) {
return word.substring(0, 1).toUpperCase();
} else {
return word.substring(0, 1).toUpperCase() + word.substring(1);
}
}
public String firstLetterToLower(String word) {
if (word.length() == 0) {
return word;
} else if (word.length() == 1) {
return word.substring(0, 1).toLowerCase();
} else {
return word.substring(0, 1).toLowerCase() + word.substring(1);
}
}
private String mapCollectionFormat(String collectionFormat) {
switch (collectionFormat) {
case "csv":
return "CommaSeparated";
case "tsv":
return "TabSeparated";
case "ssv":
return "SpaceSeparated";
case "pipes":
return "PipeSeparated";
case "multi":
return "MultiParamArray";
default:
throw new UnsupportedOperationException();
}
}
private String getMimeDataType(String mimeType) {
if (StringUtils.isBlank(mimeType)) {
return "MimeNoContent";
}
if (knownMimeDataTypes.containsKey(mimeType)) {
return knownMimeDataTypes.get(mimeType);
}
String shortenedName = mimeType.replaceFirst("application/","");
return "Mime" + toHsTypeName(shortenedName);
}
private String toHsVarName(String paramName) {
return toVarName(camelize(fixOperatorChars(fixModelChars(paramName)), true));
}
private String toHsTypeName(String paramName) {
return toHsTypeName(paramName, "");
}
private String toHsTypeName(String paramName, String modelCharReplacement) {
return camelize(fixOperatorChars(fixModelChars(paramName, modelCharReplacement)), false);
}
private String fixOperatorChars(String string) {
if(string == null) return null;
StringBuilder sb = new StringBuilder();
String name = string;
//Check if it is a reserved word, in which case the underscore is added when property name is generated.
if (string.startsWith("_")) {
if (reservedWords.contains(string.substring(1, string.length()))) {
name = string.substring(1, string.length());
} else if (reservedWordsMappings.containsValue(string)) {
name = LEADING_UNDERSCORE.matcher(string).replaceFirst("");
}
}
// prepend '
for (char c : name.toCharArray()) {
String cString = String.valueOf(c);
if (specialCharReplacements.containsKey(cString)) {
// sb.append("'");
sb.append(specialCharReplacements.get(cString));
} else {
sb.append(c);
}
}
return sb.toString();
}
// Remove characters from a string that do not belong in a model classname
private String fixModelChars(String string, String replacement) {
if(string == null) return null;
return string.replace(".", replacement).replace("-", replacement);
}
private String fixModelChars(String string) {
return fixModelChars(string, "");
}
private String capitalize(String word) {
if(word == null) return null;
if (word.length() > 0) {
word = word.substring(0, 1).toUpperCase() + word.substring(1);
}
return word;
}
private static String generateNextName(String name) {
Pattern pattern = Pattern.compile("\\d+\\z");
Matcher matcher = pattern.matcher(name);
if (matcher.find()) {
String numStr = matcher.group();
int num = Integer.parseInt(numStr) + 1;
return name.substring(0, name.length() - numStr.length()) + num;
} else {
return name + "2";
}
}
private static boolean isMultipart(List<Map<String, String>> consumes) {
for(Map<String, String> consume : consumes) {
if (consume != null) {
if ("multipart/form-data".equals(consume.get(MEDIA_TYPE))) {
return true;
}
}
}
return false;
}
// private boolean isModelledType(CodegenParameter param) {
// return isModelledType(param.baseType == null ? param.dataType : param.baseType);
// }
//
// private boolean isModelledType(String typeName) {
// return !languageSpecificPrimitives.contains(typeName) && !typeMapping.values().contains(typeName);
// }
}

View File

@ -20,6 +20,7 @@ io.swagger.codegen.languages.FlaskConnexionCodegen
io.swagger.codegen.languages.GoClientCodegen
io.swagger.codegen.languages.GoServerCodegen
io.swagger.codegen.languages.GroovyClientCodegen
io.swagger.codegen.languages.HaskellHttpClientCodegen
io.swagger.codegen.languages.HaskellServantCodegen
io.swagger.codegen.languages.JMeterCodegen
io.swagger.codegen.languages.JavaCXFClientCodegen

View File

@ -0,0 +1,8 @@
.stack-work
src/highlight.js
src/style.css
dist
dist-newstyle
cabal.project.local
.cabal-sandbox
cabal.sandbox.config

View File

@ -0,0 +1,16 @@
sudo: false
language: c
addons:
apt:
packages:
- libgmp-dev
before_install:
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
script:
- stack --install-ghc --no-haddock-deps haddock
- stack test
cache:
directories:
- $HOME/.stack

View File

@ -0,0 +1,298 @@
{-|
Module : {{title}}.API
-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE InstanceSigs #-}
{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{title}}.API where
import {{title}}.Model as M
import {{title}}.MimeTypes
import qualified Data.Aeson as A
import Data.Aeson (Value)
import qualified Data.Time as TI
import Data.Time (UTCTime)
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import Data.ByteString.Lazy (ByteString)
import qualified Data.ByteString.Builder as BB
import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
import qualified Network.HTTP.Types as NH
import qualified Web.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.Foldable as P
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified GHC.Base as P (Alternative)
import qualified Control.Arrow as P (left)
import Data.Monoid ((<>))
import Data.Function ((&))
import Data.Set (Set)
import Data.Text (Text)
import GHC.Base ((<|>))
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
-- * Operations
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}{{#vendorExtensions.x-hasNewTag}}
-- ** {{baseName}}{{/vendorExtensions.x-hasNewTag}}
-- *** {{operationId}}
-- | @{{{vendorExtensions.x-haddockPath}}}@
-- {{#summary}}
-- {{{.}}}
-- {{/summary}}{{#notes}}
-- {{{.}}}
-- {{/notes}}{{#hasAuthMethods}}
-- 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}})
=> contentType -- ^ request content-type ('MimeType')
-> {{/vendorExtensions.x-hasBodyOrFormParam}}{{#allParams}}{{#required}}{{dataType}} -- ^ "{{{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}}=
_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}}
{-# 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}}
-- | /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}}
{{#consumes}}-- | @{{{mediaType}}}@
instance Consumes {{{vendorExtensions.x-operationType}}} {{{x-mediaDataType}}}
{{/consumes}}{{/hasConsumes}}{{#hasProduces}}
{{#produces}}-- | @{{{mediaType}}}@
instance Produces {{{vendorExtensions.x-operationType}}} {{{x-mediaDataType}}}
{{/produces}}{{/hasProduces}}{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
-- * HasBodyParam
-- | Designates the body parameter of a request
class HasBodyParam req param where
setBodyParam :: forall contentType res. (Consumes req contentType, MimeRender contentType param) => {{requestType}} req contentType res -> param -> {{requestType}} req contentType res
setBodyParam req xs =
req `_setBodyLBS` mimeRender (P.Proxy :: P.Proxy contentType) xs & _setContentTypeHeader
-- * HasOptionalParam
-- | Designates the optional parameters of a request
class HasOptionalParam req param where
{-# MINIMAL applyOptionalParam | (-&-) #-}
-- | Apply an optional parameter to a request
applyOptionalParam :: {{requestType}} req contentType res -> param -> {{requestType}} req contentType res
applyOptionalParam = (-&-)
{-# INLINE applyOptionalParam #-}
-- | infix operator \/ alias for 'addOptionalParam'
(-&-) :: {{requestType}} req contentType res -> param -> {{requestType}} req contentType res
(-&-) = applyOptionalParam
{-# INLINE (-&-) #-}
infixl 2 -&-
-- * Optional 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}}
-- * {{requestType}}
-- | Represents a request. The "req" type variable is the request type. The "res" type variable is the response type.
data {{requestType}} req contentType res = {{requestType}}
{ rMethod :: NH.Method -- ^ Method of {{requestType}}
, urlPath :: [BCL.ByteString] -- ^ Endpoint of {{requestType}}
, params :: Params -- ^ params of {{requestType}}
}
deriving (P.Show)
-- | Request Params
data Params = Params
{ paramsQuery :: NH.Query
, paramsHeaders :: NH.RequestHeaders
, paramsBody :: ParamBody
}
deriving (P.Show)
-- | Request Body
data ParamBody
= ParamBodyNone
| ParamBodyB B.ByteString
| ParamBodyBL BL.ByteString
| ParamBodyFormUrlEncoded WH.Form
| ParamBodyMultipartFormData [NH.Part]
deriving (P.Show)
-- ** {{requestType}} Utils
_mkRequest :: NH.Method -- ^ Method
-> [BCL.ByteString] -- ^ Endpoint
-> {{requestType}} req contentType res -- ^ req: Request Type, res: Response Type
_mkRequest m u = {{requestType}} m u _mkParams
_mkParams :: Params
_mkParams = Params [] [] ParamBodyNone
setHeader :: {{requestType}} req contentType res -> [NH.Header] -> {{requestType}} req contentType res
setHeader req header =
let _params = params (req `removeHeader` P.fmap P.fst header)
in req { params = _params { paramsHeaders = header P.++ paramsHeaders _params } }
removeHeader :: {{requestType}} req contentType res -> [NH.HeaderName] -> {{requestType}} req contentType res
removeHeader req header =
let _params = params req
in req { params = _params { paramsHeaders = [h | h <- paramsHeaders _params, cifst h `P.notElem` P.fmap CI.mk header] } }
where cifst = CI.mk . P.fst
_setContentTypeHeader :: forall req contentType res. MimeType contentType => {{requestType}} req contentType res -> {{requestType}} req contentType res
_setContentTypeHeader req =
case mimeType (P.Proxy :: P.Proxy contentType) of
Just m -> req `setHeader` [("content-type", BC.pack $ P.show m)]
Nothing -> req `removeHeader` ["content-type"]
_setAcceptHeader :: forall req contentType res accept. MimeType accept => {{requestType}} req contentType res -> accept -> {{requestType}} req contentType res
_setAcceptHeader req accept =
case mimeType' accept of
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 =
let _params = params req
in req { params = _params { paramsQuery = query P.++ [q | q <- paramsQuery _params, cifst q `P.notElem` P.fmap cifst query] } }
where cifst = CI.mk . P.fst
_addForm :: {{requestType}} req contentType res -> WH.Form -> {{requestType}} req contentType res
_addForm req newform =
let _params = params req
form = case paramsBody _params of
ParamBodyFormUrlEncoded _form -> _form
_ -> mempty
in req { params = _params { paramsBody = ParamBodyFormUrlEncoded (newform <> form) } }
_addMultiFormPart :: {{requestType}} req contentType res -> NH.Part -> {{requestType}} req contentType res
_addMultiFormPart req newpart =
let _params = params req
parts = case paramsBody _params of
ParamBodyMultipartFormData _parts -> _parts
_ -> []
in req { params = _params { paramsBody = ParamBodyMultipartFormData (newpart : parts) } }
_setBodyBS :: {{requestType}} req contentType res -> B.ByteString -> {{requestType}} req contentType res
_setBodyBS req body =
let _params = params req
in req { params = _params { paramsBody = ParamBodyB body } }
_setBodyLBS :: {{requestType}} req contentType res -> BL.ByteString -> {{requestType}} req contentType res
_setBodyLBS req body =
let _params = params req
in req { params = _params { paramsBody = ParamBodyBL body } }
-- ** Params Utils
toPath
:: WH.ToHttpApiData a
=> a -> BCL.ByteString
toPath = BB.toLazyByteString . WH.toEncodedUrlPiece
toHeader :: WH.ToHttpApiData a => (NH.HeaderName, a) -> [NH.Header]
toHeader x = [fmap WH.toHeader x]
toForm :: WH.ToHttpApiData v => (BC.ByteString, v) -> WH.Form
toForm (k,v) = WH.toForm [(BC.unpack k,v)]
toQuery :: WH.ToHttpApiData a => (BC.ByteString, Maybe a) -> [NH.QueryItem]
toQuery x = [(fmap . fmap) toQueryParam x]
where toQueryParam = T.encodeUtf8 . WH.toQueryParam
-- *** Swagger `CollectionFormat` Utils
-- | Determines the format of the array if type array is used.
data CollectionFormat
= CommaSeparated -- ^ CSV format for multiple parameters.
| SpaceSeparated -- ^ Also called "SSV"
| TabSeparated -- ^ Also called "TSV"
| PipeSeparated -- ^ `value1|value2|value2`
| MultiParamArray -- ^ Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" ('NH.Query') or "formData" ('WH.Form')
toHeaderColl :: WH.ToHttpApiData a => CollectionFormat -> (NH.HeaderName, [a]) -> [NH.Header]
toHeaderColl c xs = _toColl c toHeader xs
toFormColl :: WH.ToHttpApiData v => CollectionFormat -> (BC.ByteString, [v]) -> WH.Form
toFormColl c xs = WH.toForm $ fmap unpack $ _toColl c toHeader $ pack xs
where
pack (k,v) = (CI.mk k, v)
unpack (k,v) = (BC.unpack (CI.original k), BC.unpack v)
toQueryColl :: WH.ToHttpApiData a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query
toQueryColl c xs = _toCollA c toQuery xs
_toColl :: P.Traversable f => CollectionFormat -> (f a -> [(b, BC.ByteString)]) -> f [a] -> [(b, BC.ByteString)]
_toColl c encode xs = fmap (fmap P.fromJust) (_toCollA' c fencode BC.singleton (fmap Just xs))
where fencode = fmap (fmap Just) . encode . fmap P.fromJust
{-# INLINE fencode #-}
_toCollA :: (P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t BC.ByteString)]) -> f (t [a]) -> [(b, t BC.ByteString)]
_toCollA c encode xs = _toCollA' c encode BC.singleton xs
_toCollA' :: (P.Monoid c, P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)]
_toCollA' c encode one xs = case c of
CommaSeparated -> go (one ',')
SpaceSeparated -> go (one ' ')
TabSeparated -> go (one '\t')
PipeSeparated -> go (one '|')
MultiParamArray -> expandList
where
go sep =
[P.foldl1 (\(sk, sv) (_, v) -> (sk, (combine sep <$> sv <*> v) <|> sv <|> v)) expandList]
combine sep x y = x <> sep <> y
expandList = (P.concatMap encode . (P.traverse . P.traverse) P.toList) xs
{-# INLINE go #-}
{-# INLINE expandList #-}
{-# INLINE combine #-}

View File

@ -0,0 +1,317 @@
{-|
Module : {{title}}.Client
-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveTraversable #-}
{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{title}}.Client where
import {{title}}.Model
import {{title}}.API
import {{title}}.MimeTypes
import qualified Control.Monad.IO.Class as P
import qualified Data.Aeson as A
import qualified Data.Aeson.Types as A
import qualified Data.Proxy as P (Proxy(..))
import Data.Function ((&))
import Data.Monoid ((<>))
import Data.Text (Text)
import GHC.Exts (IsString(..))
import Web.FormUrlEncoded as WH
import Web.HttpApiData as WH
import Control.Monad.Catch (MonadThrow)
import qualified Control.Monad.Logger as LG
import qualified Data.Time as TI
import qualified Data.Map as Map
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Text.Printf as T
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL
import qualified Data.ByteString.Builder as BB
import qualified Network.HTTP.Client as NH
import qualified Network.HTTP.Client.TLS as NH
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Types.Method as NH
import qualified Network.HTTP.Types as NH
import qualified Network.HTTP.Types.URI as NH
import qualified Control.Exception.Safe as E
-- * Config
-- |
data {{configType}} = {{configType}}
{ configHost :: BCL.ByteString -- ^ host supplied in the Request
, configUserAgent :: Text -- ^ user-agent supplied in the Request
, configExecLoggingT :: ExecLoggingT -- ^ Run a block using a MonadLogger instance
, configLoggingFilter :: LG.LogSource -> LG.LogLevel -> Bool -- ^ Only log messages passing the given predicate function.
}
-- | display the config
instance Show {{configType}} where
show c =
T.printf
"{ configHost = %v, configUserAgent = %v, ..}"
(show (configHost c))
(show (configUserAgent c))
-- | constructs a default {{configType}}
--
-- configHost:
--
-- @{{basePath}}@
--
-- configUserAgent:
--
-- @"{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}{{{artifactId}}}/{{{artifactVersion}}}{{/httpUserAgent}}"@
--
-- configExecLoggingT: 'runNullLoggingT'
--
-- configLoggingFilter: 'infoLevelFilter'
newConfig :: {{configType}}
newConfig =
{{configType}}
{ configHost = "{{basePath}}"
, configUserAgent = "{{#httpUserAgent}}{{{.}}}{{/httpUserAgent}}{{^httpUserAgent}}{{{artifactId}}}/{{{artifactVersion}}}{{/httpUserAgent}}"
, configExecLoggingT = runNullLoggingT
, configLoggingFilter = infoLevelFilter
}
-- | updates the config to use a MonadLogger instance which prints to stdout.
withStdoutLogging :: {{configType}} -> {{configType}}
withStdoutLogging p = p { configExecLoggingT = LG.runStdoutLoggingT}
-- | updates the config to use a MonadLogger instance which prints to stderr.
withStderrLogging :: {{configType}} -> {{configType}}
withStderrLogging p = p { configExecLoggingT = LG.runStderrLoggingT}
-- | updates the config to disable logging
withNoLogging :: {{configType}} -> {{configType}}
withNoLogging p = p { configExecLoggingT = runNullLoggingT}
-- * Dispatch
-- ** Lbs
-- | send a request returning the raw http response
dispatchLbs
:: (Produces req accept, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> {{configType}} -- ^ config
-> {{requestType}} req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (NH.Response BCL.ByteString) -- ^ response
dispatchLbs manager config request accept = do
initReq <- _toInitRequest config request accept
dispatchInitUnsafe manager config initReq
-- ** Mime
-- | pair of decoded http body and http response
data MimeResult res =
MimeResult { mimeResult :: Either MimeError res -- ^ decoded http body
, mimeResultResponse :: NH.Response BCL.ByteString -- ^ http response
}
deriving (Show, Functor, Foldable, Traversable)
-- | pair of unrender/parser error and http response
data MimeError =
MimeError {
mimeError :: String -- ^ unrender/parser error
, mimeErrorResponse :: NH.Response BCL.ByteString -- ^ http response
} deriving (Eq, Show)
-- | send a request returning the 'MimeResult'
dispatchMime
:: (Produces req accept, MimeUnrender accept res, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> {{configType}} -- ^ config
-> {{requestType}} req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (MimeResult res) -- ^ response
dispatchMime manager config request accept = do
httpResponse <- dispatchLbs manager config request accept
parsedResult <-
runExceptionLoggingT "Client" config $
do case mimeUnrender' accept (NH.responseBody httpResponse) of
Left s -> do
logNST LG.LevelError "Client" (T.pack s)
pure (Left (MimeError s httpResponse))
Right r -> pure (Right r)
return (MimeResult parsedResult httpResponse)
-- | like 'dispatchMime', but only returns the decoded http body
dispatchMime'
:: (Produces req accept, MimeUnrender accept res, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> {{configType}} -- ^ config
-> {{requestType}} req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (Either MimeError res) -- ^ response
dispatchMime' manager config request accept = do
MimeResult parsedResult _ <- dispatchMime manager config request accept
return parsedResult
-- ** Unsafe
-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the "accept" 'MimeType'. (Useful if the server's response is undocumented)
dispatchLbsUnsafe
:: (MimeType accept, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> {{configType}} -- ^ config
-> {{requestType}} req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (NH.Response BCL.ByteString) -- ^ response
dispatchLbsUnsafe manager config request accept = do
initReq <- _toInitRequest config request accept
dispatchInitUnsafe manager config initReq
-- | dispatch an InitRequest
dispatchInitUnsafe
:: NH.Manager -- ^ http-client Connection manager
-> {{configType}} -- ^ config
-> InitRequest req contentType res accept -- ^ init request
-> IO (NH.Response BCL.ByteString) -- ^ response
dispatchInitUnsafe manager config (InitRequest req) = do
runExceptionLoggingT logSrc config $
do logNST LG.LevelInfo logSrc requestLogMsg
logNST LG.LevelDebug logSrc requestDbgLogMsg
res <- P.liftIO $ NH.httpLbs req manager
logNST LG.LevelInfo logSrc (responseLogMsg res)
logNST LG.LevelDebug logSrc ((T.pack . show) res)
return res
where
logSrc = "Client"
endpoint =
T.pack $
BC.unpack $
NH.method req <> " " <> NH.host req <> NH.path req <> NH.queryString req
requestLogMsg = "REQ:" <> endpoint
requestDbgLogMsg =
"Headers=" <> (T.pack . show) (NH.requestHeaders req) <> " Body=" <>
(case NH.requestBody req of
NH.RequestBodyLBS xs -> T.decodeUtf8 (BL.toStrict xs)
_ -> "<RequestBody>")
responseStatusCode = (T.pack . show) . NH.statusCode . NH.responseStatus
responseLogMsg res =
"RES:statusCode=" <> responseStatusCode res <> " (" <> endpoint <> ")"
-- * InitRequest
-- | wraps an http-client 'Request' with request/response type parameters
newtype InitRequest req contentType res accept = InitRequest
{ unInitRequest :: NH.Request
} deriving (Show)
-- | Build an http-client 'Request' record from the supplied config and request
_toInitRequest
:: (MimeType accept, MimeType contentType)
=> {{configType}} -- ^ config
-> {{requestType}} req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (InitRequest req contentType res accept) -- ^ initialized request
_toInitRequest config req0 accept = do
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (urlPath req0))
let req1 = _setAcceptHeader req0 accept & _setContentTypeHeader
reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (params req1)
reqQuery = NH.renderQuery True (paramsQuery (params req1))
pReq = parsedReq { NH.method = (rMethod req1)
, NH.requestHeaders = reqHeaders
, NH.queryString = reqQuery
}
outReq <- case paramsBody (params req1) of
ParamBodyNone -> pure (pReq { NH.requestBody = mempty })
ParamBodyB bs -> pure (pReq { NH.requestBody = NH.RequestBodyBS bs })
ParamBodyBL bl -> pure (pReq { NH.requestBody = NH.RequestBodyLBS bl })
ParamBodyFormUrlEncoded form -> pure (pReq { NH.requestBody = NH.RequestBodyLBS (WH.urlEncodeForm form) })
ParamBodyMultipartFormData parts -> NH.formDataBody parts pReq
pure (InitRequest outReq)
-- | 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)
-- | modify the underlying Request (monadic)
modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (NH.Request -> m NH.Request) -> m (InitRequest req contentType res accept)
modifyInitRequestM (InitRequest req) f = fmap InitRequest (f req)
-- * Logging
-- | A block using a MonadLogger instance
type ExecLoggingT = forall m. P.MonadIO m =>
forall a. LG.LoggingT m a -> m a
-- ** Null Logger
-- | a logger which disables logging
nullLogger :: LG.Loc -> LG.LogSource -> LG.LogLevel -> LG.LogStr -> IO ()
nullLogger _ _ _ _ = return ()
-- | run the monad transformer that disables logging
runNullLoggingT :: LG.LoggingT m a -> m a
runNullLoggingT = (`LG.runLoggingT` nullLogger)
-- ** Logging Filters
-- | a log filter that uses 'LevelError' as the minimum logging level
errorLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool
errorLevelFilter = minLevelFilter LG.LevelError
-- | a log filter that uses 'LevelInfo' as the minimum logging level
infoLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool
infoLevelFilter = minLevelFilter LG.LevelInfo
-- | a log filter that uses 'LevelDebug' as the minimum logging level
debugLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool
debugLevelFilter = minLevelFilter LG.LevelDebug
minLevelFilter :: LG.LogLevel -> LG.LogSource -> LG.LogLevel -> Bool
minLevelFilter l _ l' = l' >= l
-- ** Logging
-- | Log a message using the current time
logNST :: (P.MonadIO m, LG.MonadLogger m) => LG.LogLevel -> Text -> Text -> m ()
logNST level src msg = do
now <- P.liftIO (formatTimeLog <$> TI.getCurrentTime)
LG.logOtherNS sourceLog level (now <> " " <> msg)
where
sourceLog = "{{title}}/" <> src
formatTimeLog =
T.pack . TI.formatTime TI.defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Z"
-- | re-throws exceptions after logging them
logExceptions
:: (LG.MonadLogger m, E.MonadCatch m, P.MonadIO m)
=> Text -> m a -> m a
logExceptions src =
E.handle
(\(e :: E.SomeException) -> do
logNST LG.LevelError src ((T.pack . show) e)
E.throw e)
-- | Run a block using the configured MonadLogger instance
runLoggingT :: {{configType}} -> ExecLoggingT
runLoggingT config =
configExecLoggingT config . LG.filterLogger (configLoggingFilter config)
-- | Run a block using the configured MonadLogger instance (logs exceptions)
runExceptionLoggingT
:: (E.MonadCatch m, P.MonadIO m)
=> T.Text -> {{configType}} -> LG.LoggingT m a -> m a
runExceptionLoggingT logSrc config = runLoggingT config . logExceptions logSrc

View File

@ -0,0 +1,66 @@
{-|
Module : {{title}}.Lens
-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{title}}.Lens where
import Data.Text (Text)
import qualified Data.Aeson as A
import Data.Aeson (Value)
import qualified Data.ByteString as B
import Data.ByteString.Lazy (ByteString)
import qualified Data.Data as P (Data, Typeable)
import qualified Data.Map as Map
import qualified Data.Time as TI
import Data.Time (UTCTime)
import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
import {{title}}.Model
-- * Type Aliases
type Traversal_' s a = Traversal_ s s a a
type Traversal_ s t a b = forall (f :: * -> *). Applicative f => (a -> f b) -> s -> f t
type Lens_' s a = Lens_ s s a a
type Lens_ s t a b = forall (f :: * -> *). Functor f => (a -> f b) -> s -> f t
{{#models}}
{{#model}}
-- * {{classname}}
{{#vars}}
{{#required}}
-- | '{{name}}' Lens
{{name}}L :: Lens_' {{classname}} {{datatype}}
{{name}}L f {{classname}}{..} = (\{{name}} -> {{classname}} { {{name}}, ..} ) <$> f {{name}}
{-# INLINE {{name}}L #-}
{{/required}}
{{^required}}
-- | '{{name}}' Traversal
{{name}}T :: Traversal_' {{classname}} {{datatype}}
{{name}}T f s = _mtraversal {{name}} (\b -> s { {{name}} = Just b}) f s
{-# INLINE {{name}}T #-}
{{/required}}
{{/vars}}
{{/model}}
{{/models}}
-- * Helpers
_mtraversal :: Applicative f => (b -> Maybe t) -> (a -> b) -> (t -> f a) -> b -> f b
_mtraversal x fsb f s = maybe (pure s) (\a -> fsb <$> f a) (x s)
{-# INLINE _mtraversal #-}

View File

@ -0,0 +1,204 @@
{-|
Module : {{title}}.MimeTypes
-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{title}}.MimeTypes where
import qualified Data.Aeson as A
import qualified Data.ByteString as B
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 Network.HTTP.Media as ME
import qualified Web.FormUrlEncoded as WH
import qualified Data.Data as P (Typeable)
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Control.Arrow as P (left)
import Prelude (($), (.),(<$>),(<*>),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty)
import qualified Prelude as P
-- * Content Negotiation
-- | A type for responses without content-body.
data NoContent = NoContent
deriving (P.Show, P.Eq)
-- ** Mime Types
data MimeJSON = MimeJSON deriving (P.Typeable)
data MimeXML = MimeXML deriving (P.Typeable)
data MimePlainText = MimePlainText deriving (P.Typeable)
data MimeFormUrlEncoded = MimeFormUrlEncoded deriving (P.Typeable)
data MimeMultipartFormData = MimeMultipartFormData deriving (P.Typeable)
data MimeOctetStream = MimeOctetStream deriving (P.Typeable)
data MimeNoContent = MimeNoContent deriving (P.Typeable)
{{#x-unknownMimeTypes}}data {{{x-mediaDataType}}} = {{{x-mediaDataType}}} deriving (P.Typeable)
{{/x-unknownMimeTypes}}
-- ** MimeType Class
class P.Typeable mtype => MimeType mtype where
{-# MINIMAL mimeType | mimeTypes #-}
mimeTypes :: P.Proxy mtype -> [ME.MediaType]
mimeTypes p =
case mimeType p of
Just x -> [x]
Nothing -> []
mimeType :: P.Proxy mtype -> Maybe ME.MediaType
mimeType p =
case mimeTypes p of
[] -> Nothing
(x:_) -> Just x
mimeType' :: mtype -> Maybe ME.MediaType
mimeType' _ = mimeType (P.Proxy :: P.Proxy mtype)
mimeTypes' :: mtype -> [ME.MediaType]
mimeTypes' _ = mimeTypes (P.Proxy :: P.Proxy mtype)
-- ** MimeType Instances
-- | @application/json@
instance MimeType MimeJSON where
mimeTypes _ =
[ "application" ME.// "json" ME./: ("charset", "utf-8")
, "application" ME.// "json"
]
-- | @application/xml@
instance MimeType MimeXML where
mimeType _ = Just $ "application" ME.// "xml"
-- | @application/x-www-form-urlencoded@
instance MimeType MimeFormUrlEncoded where
mimeType _ = Just $ "application" ME.// "x-www-form-urlencoded"
-- | @multipart/form-data@
instance MimeType MimeMultipartFormData where
mimeType _ = Just $ "multipart" ME.// "form-data"
-- | @text/plain;charset=utf-8@
instance MimeType MimePlainText where
mimeType _ = Just $ "text" ME.// "plain" ME./: ("charset", "utf-8")
instance MimeType MimeOctetStream where
mimeType _ = Just $ "application" ME.// "octet-stream"
instance MimeType MimeNoContent where
mimeType _ = Nothing
{{#x-unknownMimeTypes}}
-- | @{{{mediaType}}}@
instance MimeType {{{x-mediaDataType}}} where
mimeType _ = Just $ "{{{x-mediaMainType}}}" ME.// "{{{x-mediaSubType}}}"
{{/x-unknownMimeTypes}}
-- ** MimeRender Class
class MimeType mtype => MimeRender mtype x where
mimeRender :: P.Proxy mtype -> x -> BL.ByteString
mimeRender' :: mtype -> x -> BL.ByteString
mimeRender' _ x = mimeRender (P.Proxy :: P.Proxy mtype) x
-- ** MimeRender Instances
-- | `A.encode`
instance A.ToJSON a => MimeRender MimeJSON a where mimeRender _ = A.encode
-- | @WH.urlEncodeAsForm@
instance WH.ToForm a => MimeRender MimeFormUrlEncoded a where mimeRender _ = WH.urlEncodeAsForm
-- | @P.id@
instance MimeRender MimePlainText BL.ByteString where mimeRender _ = P.id
-- | @BL.fromStrict . T.encodeUtf8@
instance MimeRender MimePlainText T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8
-- | @BCL.pack@
instance MimeRender MimePlainText String where mimeRender _ = BCL.pack
-- | @P.id@
instance MimeRender MimeOctetStream BL.ByteString where mimeRender _ = P.id
-- | @BL.fromStrict . T.encodeUtf8@
instance MimeRender MimeOctetStream T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8
-- | @BCL.pack@
instance MimeRender MimeOctetStream String where mimeRender _ = BCL.pack
-- | @P.id@
instance MimeRender MimeMultipartFormData BL.ByteString where mimeRender _ = P.id
-- | @BL.fromStrict . T.encodeUtf8@
instance MimeRender MimeMultipartFormData T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8
-- | @BCL.pack@
instance MimeRender MimeMultipartFormData String where mimeRender _ = BCL.pack
-- | @P.Right . P.const NoContent@
instance MimeRender MimeNoContent NoContent where mimeRender _ = P.const BCL.empty
-- instance MimeRender MimeOctetStream Double where mimeRender _ = BB.toLazyByteString . BB.doubleDec
-- instance MimeRender MimeOctetStream Float where mimeRender _ = BB.toLazyByteString . BB.floatDec
-- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec
-- instance MimeRender MimeOctetStream Integer where mimeRender _ = BB.toLazyByteString . BB.integerDec
{{#x-unknownMimeTypes}}
-- instance MimeRender {{{x-mediaDataType}}} T.Text where mimeRender _ = undefined
{{/x-unknownMimeTypes}}
-- ** MimeUnrender Class
class MimeType mtype => MimeUnrender mtype o where
mimeUnrender :: P.Proxy mtype -> BL.ByteString -> P.Either String o
mimeUnrender' :: mtype -> BL.ByteString -> P.Either String o
mimeUnrender' _ x = mimeUnrender (P.Proxy :: P.Proxy mtype) x
-- ** MimeUnrender Instances
-- | @A.eitherDecode@
instance A.FromJSON a => MimeUnrender MimeJSON a where mimeUnrender _ = A.eitherDecode
-- | @P.left T.unpack . WH.urlDecodeAsForm@
instance WH.FromForm a => MimeUnrender MimeFormUrlEncoded a where mimeUnrender _ = P.left T.unpack . WH.urlDecodeAsForm
-- | @P.Right . P.id@
instance MimeUnrender MimePlainText BL.ByteString where mimeUnrender _ = P.Right . P.id
-- | @P.left P.show . TL.decodeUtf8'@
instance MimeUnrender MimePlainText T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict
-- | @P.Right . BCL.unpack@
instance MimeUnrender MimePlainText String where mimeUnrender _ = P.Right . BCL.unpack
-- | @P.Right . P.id@
instance MimeUnrender MimeOctetStream BL.ByteString where mimeUnrender _ = P.Right . P.id
-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@
instance MimeUnrender MimeOctetStream T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict
-- | @P.Right . BCL.unpack@
instance MimeUnrender MimeOctetStream String where mimeUnrender _ = P.Right . BCL.unpack
-- | @P.Right . P.const NoContent@
instance MimeUnrender MimeNoContent NoContent where mimeUnrender _ = P.Right . P.const NoContent
{{#x-unknownMimeTypes}}
-- instance MimeUnrender {{{x-mediaDataType}}} T.Text where mimeUnrender _ = undefined
{{/x-unknownMimeTypes}}
-- ** Request Consumes
class MimeType mtype => Consumes req mtype where
-- ** Request Produces
class MimeType mtype => Produces req mtype where

View File

@ -0,0 +1,170 @@
{-|
Module : {{title}}.Model
-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}
module {{title}}.Model where
import Data.Aeson ((.:),(.:!),(.:?),(.=))
import Data.Text (Text)
import Data.Aeson (Value)
import Data.ByteString.Lazy (ByteString)
import qualified Data.Aeson as A
import qualified Data.ByteString as B
import qualified Data.Data as P (Data, Typeable)
import qualified Data.HashMap.Lazy as HM
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Foldable as P
import qualified Web.FormUrlEncoded as WH
import qualified Web.HttpApiData as WH
import qualified Data.Time as TI
import qualified Data.Time.ISO8601 as TI
import Data.Time (UTCTime)
import Control.Applicative ((<|>))
import Control.Applicative (Alternative)
import Prelude (($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
{{#imports}}import {{import}}
{{/imports}}
-- * Models
{{#models}}
{{#model}}
-- ** {{classname}}
-- |{{#title}}
-- {{{.}}}
-- {{/title}}{{#description}}
-- {{{.}}}{{/description}}
{{^vendorExtensions.x-customNewtype}}
data {{classname}} = {{classname}}
{ {{#vars}}{{name}} :: {{^required}}Maybe {{/required}}{{datatype}} -- ^ {{#required}}/Required/ {{/required}}{{#readOnly}}/ReadOnly/ {{/readOnly}}"{{baseName}}"{{#description}} - {{description}}{{/description}}{{#hasMore}}
, {{/hasMore}}{{/vars}}
} deriving (P.Show,P.Eq,P.Typeable{{#modelDeriving}},{{modelDeriving}}{{/modelDeriving}})
instance A.FromJSON {{classname}} where
parseJSON = A.withObject "{{classname}}" $ \o ->
{{classname}}
<$>{{#vars}} (o {{#required}}.: {{/required}}{{^required}}{{^allowFromJsonNulls}}.:!{{/allowFromJsonNulls}}{{#allowFromJsonNulls}}.:?{{/allowFromJsonNulls}}{{/required}} "{{baseName}}"{{#isDateTime}} >>={{^required}} P.mapM{{/required}} _readDateTime{{/isDateTime}}{{#isDate}} >>={{^required}} P.mapM{{/required}} _showDate{{/isDate}}){{#hasMore}}
<*>{{/hasMore}}{{/vars}}
instance A.ToJSON {{classname}} where
toJSON {{classname}} {..} =
{{^allowToJsonNulls}}_omitNulls{{/allowToJsonNulls}}{{#allowToJsonNulls}}A.object{{/allowToJsonNulls}}
[ {{#vars}}"{{baseName}}" .= {{#isDateTime}}{{^required}}P.fmap {{/required}}_showDateTime{{/isDateTime}}{{#isDate}}{{^required}}P.fmap {{/required}}_showDate{{/isDate}} {{name}}{{#hasMore}}
, {{/hasMore}}{{/vars}}
]
{{#vendorExtensions.x-hasMimeFormUrlEncoded}}
instance WH.FromForm {{classname}} where
fromForm f =
{{classname}}
<$>{{#vars}} ({{#required}}WH.parseUnique {{/required}}{{^required}}WH.parseMaybe {{/required}}"{{baseName}}" f{{#isDateTime}} >>={{^required}} P.mapM{{/required}} _readDateTime{{/isDateTime}}{{#isDate}} >>={{^required}} P.mapM{{/required}} _showDate{{/isDate}}){{#hasMore}}
<*>{{/hasMore}}{{/vars}}
instance WH.ToForm {{classname}} where
toForm {{classname}} {..} =
WH.Form $ HM.fromList $ P.catMaybes $
[ {{#vars}}_toFormItem "{{baseName}}" ({{#required}}Just $ {{/required}}{{#isDateTime}}{{^required}}P.fmap {{/required}}_showDateTime {{/isDateTime}}{{#isDate}}{{^required}}P.fmap {{/required}}_showDate {{/isDate}}{{name}}){{#hasMore}}
, {{/hasMore}}{{/vars}}
]
{{/vendorExtensions.x-hasMimeFormUrlEncoded}}
{{#generateModelConstructors}}
-- | Construct a value of type '{{classname}}' (by applying it's required fields, if any)
mk{{classname}}
:: {{#requiredVars}}{{{datatype}}} -- ^ '{{name}}'{{#description}}:{{/description}} {{{description}}}
-> {{/requiredVars}}{{classname}}
mk{{classname}} {{#requiredVars}}{{name}} {{/requiredVars}}=
{{classname}}
{ {{#vars}}{{#required}}{{name}}{{/required}}{{^required}}{{name}} = {{#isListContainer}}Nothing{{/isListContainer}}{{#isMapContainer}}Nothing{{/isMapContainer}}{{^isContainer}}Nothing{{/isContainer}}{{/required}}{{#hasMore}}
, {{/hasMore}}{{/vars}}
}
{{/generateModelConstructors}}
{{/vendorExtensions.x-customNewtype}}
{{#vendorExtensions.x-customNewtype}}
newtype {{classname}} = {{classname}} {{vendorExtensions.x-customNewtype}} deriving (P.Show, P.Eq, P.Data, P.Typeable, P.Generic, A.FromJSON, A.ToJSON)
{-# WARNING {{classname}} "untested/unimlemented behavior" #-}
{{/vendorExtensions.x-customNewtype}}
{{/model}}
{{/models}}
-- * 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
_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])
_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x
_emptyToNothing :: Maybe String -> Maybe String
_emptyToNothing (Just "") = Nothing
_emptyToNothing x = x
{-# INLINE _emptyToNothing #-}
_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a
_memptyToNothing (Just x) | x P.== P.mempty = Nothing
_memptyToNothing x = x
{-# INLINE _memptyToNothing #-}
-- * DateTime Formatting
-- | @{{^dateTimeFormat}}_parseISO8601{{/dateTimeFormat}}{{#dateTimeFormat}}TI.parseTimeM True TI.defaultTimeLocale "{{{dateTimeFormat}}}"{{/dateTimeFormat}}@
_readDateTime :: (TI.ParseTime t, Monad m, {{^dateTimeFormat}}Alternative m{{/dateTimeFormat}}) => String -> m t
_readDateTime =
{{^dateTimeFormat}}_parseISO8601{{/dateTimeFormat}}{{#dateTimeFormat}}TI.parseTimeM True TI.defaultTimeLocale "{{{dateTimeFormat}}}"{{/dateTimeFormat}}
{-# INLINE _readDateTime #-}
-- | @{{^dateTimeFormat}}TI.formatISO8601Millis{{/dateTimeFormat}}{{#dateTimeFormat}}TI.formatTime TI.defaultTimeLocale "{{{dateTimeFormat}}}"{{/dateTimeFormat}}@
_showDateTime :: ({{^dateTimeFormat}}t ~ UTCTime, {{/dateTimeFormat}}TI.FormatTime t) => t -> String
_showDateTime =
{{^dateTimeFormat}}TI.formatISO8601Millis{{/dateTimeFormat}}{{#dateTimeFormat}}TI.formatTime TI.defaultTimeLocale "{{{dateTimeFormat}}}"{{/dateTimeFormat}}
{-# INLINE _showDateTime #-}
_parseISO8601 :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t
_parseISO8601 t =
P.asum $
P.flip (TI.parseTimeM True TI.defaultTimeLocale) t <$>
["%FT%T%QZ", "%FT%T%Q%z", "%FT%T%Q%Z"]
{-# INLINE _parseISO8601 #-}
-- * Date Formatting
-- | @TI.parseTimeM True TI.defaultTimeLocale "{{{dateFormat}}}"@
_readDate :: (TI.ParseTime t, Monad m) => String -> m t
_readDate =
TI.parseTimeM True TI.defaultTimeLocale "{{{dateFormat}}}"
{-# INLINE _readDate #-}
-- | @TI.formatTime TI.defaultTimeLocale "{{{dateFormat}}}"@
_showDate :: TI.FormatTime t => t -> String
_showDate =
TI.formatTime TI.defaultTimeLocale "{{{dateFormat}}}"
{-# INLINE _showDate #-}

View File

@ -0,0 +1,163 @@
## Swagger Auto-Generated [http-client](https://www.stackage.org/lts-9.0/package/http-client-0.5.7.0) Bindings to `{{title}}`
The library in `lib` provides auto-generated-from-Swagger [http-client](https://www.stackage.org/lts-9.0/package/http-client-0.5.7.0) bindings to the {{title}} API.
Targeted swagger version: {{swaggerVersion}}
OpenAPI-Specification: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/{{swaggerVersion}}.md
## Installation
Installation follows the standard approach to installing Stack-based projects.
1. Install the [Haskell `stack` tool](http://docs.haskellstack.org/en/stable/README).
2. To build the package, and generate the documentation (recommended):
```
stack haddock
```
which will generate docs for this lib in the `docs` folder.
To generate the docs in the normal location (to enable hyperlinks to external libs), remove
```
build:
haddock-arguments:
haddock-args:
- "--odir=./docs"
```
from the stack.yaml file and run `stack haddock` again.
3. To run unit tests:
```
stack test
```
## Swagger-Codegen
The code generator that produced this library, and which explains how
to obtain and use the swagger-codegen cli tool lives at
https://github.com/swagger-api/swagger-codegen
The _language_ argument (`--lang`) passed to the cli tool used should be
```
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
* Default Parameter Values
* Enum Parameters
This is beta software; other cases may not be supported.
### Codegen "config option" parameters
These options allow some customization of the code generation process.
**haskell-http-client specific options:**
| OPTION | DESCRIPTION | DEFAULT | ACTUAL |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------- |
| allowFromJsonNulls | allow JSON Null during model decoding from JSON | true | {{allowFromJsonNulls}} |
| allowToJsonNulls | allow emitting JSON Null during model encoding to JSON | false | {{allowToJsonNulls}} |
| dateFormat | format string used to parse/render a date | %Y-%m-%d | {{dateFormat}} |
| dateTimeFormat | format string used to parse/render a datetime. (Defaults to [formatISO8601Millis][1] when not provided) | | {{dateTimeFormat}} |
| generateFormUrlEncodedInstances | Generate FromForm/ToForm instances for models used by x-www-form-urlencoded operations (model fields must be primitive types) | true | {{generateFormUrlEncodedInstances}} |
| generateLenses | Generate Lens optics for Models | true | {{generateLenses}} |
| generateModelConstructors | Generate smart constructors (only supply required fields) for models | true | {{generateModelConstructors}} |
| modelDeriving | Additional classes to include in the deriving() clause of Models | | {{modelDeriving}} |
[1]: https://www.stackage.org/haddock/lts-9.0/iso8601-time-0.1.4/Data-Time-ISO8601.html#v:formatISO8601Millis
View the full list of Codegen "config option" parameters with the command:
```
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l haskell-http-client
```
### Example SwaggerPetstore Haddock documentation
An example of the generated haddock documentation targeting the server http://petstore.swagger.io/ (SwaggerPetstore) can be found [here][2]
[2]: https://jonschoning.github.io/swaggerpetstore-haskell-http-client/
### Example SwaggerPetstore App
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/jonschoning/swagger-codegen/tree/haskell-http-client/samples/client/petstore/haskell-http-client/example-app
### Usage Notes
This library is intended to be imported qualified.
| MODULE | NOTES |
| ------------------- | --------------------------------------------------- |
| {{title}}.Client | use the "dispatch" functions to send requests |
| {{title}}.API | construct requetss |
| {{title}}.Model | describes models |
| {{title}}.MimeTypes | encoding/decoding MIME types (content-types/accept) |
| {{title}}.Lens | lenses & traversals for model fields |
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).
For example, if there is an Operation named _addFoo_, there will be a
data type generated named _AddFoo_ (note the capitalization) which
describes additional constraints and actions on the _addFoo_
operation, which can be viewed in GHCi or via the Haddocks.
* requried parameters are included as function arguments to _addFoo_
* optional non-body parameters are included by using `applyOptionalParam`
* optional body parameters are set by using `setBodyParam`
Example for pretend _addFoo_ operation:
```haskell
data AddFoo
instance Consumes AddFoo MimeJSON
instance Produces AddFoo MimeJSON
instance Produces AddFoo MimeXML
instance HasBodyParam AddFoo FooModel
instance HasOptionalParam AddFoo FooName
instance HasOptionalParam AddFoo FooId
```
this would indicate that:
* the _addFoo_ operation can consume JSON
* the _addFoo_ operation produces JSON or XML, depending on the argument passed to the dispatch function
* 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
supports it), use `dispatchLbsUnsafe` or modify the swagger spec and
run the generator again.
New MIME type instances can be added via MimeType/MimeRender/MimeUnrender
Only JSON instances are generated by default, and in some case
x-www-form-urlencoded instances (FromFrom, ToForm) will also be
generated if the model fields are primitive types, and there are
Operations using x-www-form-urlencoded which use those models.
See the example app and the haddocks for details.

View File

@ -0,0 +1,2 @@
import Distribution.Simple
main = defaultMain

View File

@ -0,0 +1,17 @@
{-|
Module : {{title}}
-}
module {{title}}
( module {{title}}.Client
, module {{title}}.API
, module {{title}}.Model
, module {{title}}.MimeTypes
, {{#generateLenses}}module {{title}}.Lens{{/generateLenses}}
) where
import {{title}}.API
import {{title}}.Client
import {{title}}.Model
import {{title}}.MimeTypes
{{#generateLenses}}import {{title}}.Lens{{/generateLenses}}

View File

@ -0,0 +1 @@
toForm{{#collectionFormat}}Coll {{vendorExtensions.x-collectionFormat}}{{/collectionFormat}}

View File

@ -0,0 +1 @@
toHeader{{#collectionFormat}}Coll {{vendorExtensions.x-collectionFormat}}{{/collectionFormat}}

View File

@ -0,0 +1 @@
toQuery{{#collectionFormat}}Coll {{vendorExtensions.x-collectionFormat}}{{/collectionFormat}}

View File

@ -0,0 +1,52 @@
#!/bin/sh
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
#
# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update"
git_user_id=$1
git_repo_id=$2
release_note=$3
if [ "$git_user_id" = "" ]; then
git_user_id="{{{gitUserId}}}"
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
fi
if [ "$git_repo_id" = "" ]; then
git_repo_id="{{{gitRepoId}}}"
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
fi
if [ "$release_note" = "" ]; then
release_note="{{{releaseNote}}}"
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
fi
# Initialize the local directory as a Git repository
git init
# Adds the files in the local repository and stages them for commit.
git add .
# Commits the tracked changes and prepares them to be pushed to a remote repository.
git commit -m "$release_note"
# Sets the new remote
git_remote=`git remote`
if [ "$git_remote" = "" ]; then # git remote not defined
if [ "$GIT_TOKEN" = "" ]; then
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git crediential in your environment."
git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git
else
git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git
fi
fi
git pull origin master
# Pushes (Forces) the changes in the local repository up to the remote repository
echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git"
git push origin master 2>&1 | grep -v 'To https'

View File

@ -0,0 +1,96 @@
-- This file has been generated from package.yaml by hpack version 0.17.1.
--
-- see: https://github.com/sol/hpack
name: {{package}}
version: 0.1.0.0
synopsis: Auto-generated {{package}} API Client
description: .
Client library for calling the {{package}} API based on http-client.
.
base path: {{basePath}}
.
apiVersion: {{apiVersion}}
.
swagger version: {{swaggerVersion}}
.
{{^hideGenerationTimestamp}}Generated on: {{generatedDate}}
.
{{/hideGenerationTimestamp}}OpenAPI-Specification: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/{{swaggerVersion}}.md
category: Web
homepage: https://github.com/swagger-api/swagger-codegen#readme
author: Author Name Here
maintainer: author.name@email.com
copyright: YEAR - AUTHOR
license: UnspecifiedLicense
build-type: Simple
cabal-version: >= 1.10
extra-source-files:
README.md
swagger.json
library
hs-source-dirs:
lib
ghc-options: -Wall
build-depends:
base >=4.7 && <5.0
, transformers >=0.4.0.0
, mtl >=2.2.1
, unordered-containers
, aeson >=1.0 && <2.0
, bytestring >=0.10.0 && <0.11
, containers >=0.5.0.0 && <0.6
, http-types >=0.8 && <0.10
, http-client >=0.5 && <0.6
, http-client-tls
, http-api-data >= 0.3.4 && <0.4
, http-media >= 0.4 && < 0.8
, text >=0.11 && <1.3
, time >=1.5 && <1.9
, iso8601-time >=0.1.3 && <0.2.0
, vector >=0.10.9 && <0.13
, network >=2.6.2 && <2.7
, random >=1.1
, exceptions >= 0.4
, monad-logger >=0.3 && <0.4
, safe-exceptions <0.2
, case-insensitive
exposed-modules:
{{title}}
{{title}}.API
{{title}}.Client
{{title}}.Model
{{title}}.MimeTypes
{{#generateLenses}}{{title}}.Lens{{/generateLenses}}
other-modules:
Paths_{{pathsName}}
default-language: Haskell2010
test-suite tests
type: exitcode-stdio-1.0
main-is: Test.hs
hs-source-dirs:
tests
ghc-options: -fno-warn-orphans
build-depends:
base >=4.7 && <5.0
, transformers >=0.4.0.0
, mtl >=2.2.1
, unordered-containers
, {{package}}
, bytestring >=0.10.0 && <0.11
, containers
, hspec >=1.8
, text
, time
, iso8601-time
, aeson
, semigroups
, QuickCheck
other-modules:
ApproxEq
Instances
PropMime
default-language: Haskell2010

View File

@ -0,0 +1,84 @@
name: {{package}}
version: '0.1.0.0'
synopsis: Auto-generated {{package}} API Client
description: ! '
Client library for calling the {{package}} API based on http-client.
host: {{host}}
base path: {{basePath}}
apiVersion: {{apiVersion}}
swagger version: {{swaggerVersion}}
{{^hideGenerationTimestamp}}Generated on: {{generatedDate}}
{{/hideGenerationTimestamp}}OpenAPI-Specification: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/{{swaggerVersion}}.md
'
category: Web
author: Author Name Here
maintainer: author.name@email.com
copyright: YEAR - AUTHOR
license: UnspecifiedLicense
homepage: https://github.com/swagger-api/swagger-codegen#readme
extra-source-files:
- README.md
- swagger.json
dependencies:
- base >=4.7 && <5.0
- transformers >=0.4.0.0
- mtl >=2.2.1
- unordered-containers
library:
source-dirs: lib
ghc-options: -Wall
exposed-modules:
- {{title}}
- {{title}}.API
- {{title}}.Client
- {{title}}.Model
- {{title}}.MimeTypes
{{#generateLenses}}- {{title}}.Lens{{/generateLenses}}
dependencies:
- aeson >=1.0 && <2.0
- bytestring >=0.10.0 && <0.11
- containers >=0.5.0.0 && <0.6
- http-types >=0.8 && <0.10
- http-client >=0.5 && <0.6
- http-client-tls
- http-api-data >= 0.3.4 && <0.4
- http-media >= 0.4 && < 0.8
- text >=0.11 && <1.3
- time >=1.5 && <1.9
- iso8601-time >=0.1.3 && <0.2.0
- vector >=0.10.9 && <0.13
- network >=2.6.2 && <2.7
- random >=1.1
- exceptions >= 0.4
- monad-logger >=0.3 && <0.4
- safe-exceptions <0.2
- case-insensitive
tests:
tests:
main: Test.hs
source-dirs: tests
ghc-options:
- -fno-warn-orphans
dependencies:
- {{package}}
- bytestring >=0.10.0 && <0.11
- containers
- hspec >=1.8
- text
- time
- iso8601-time
- aeson
- semigroups
- QuickCheck

View File

@ -0,0 +1,8 @@
resolver: lts-9.0
build:
haddock-arguments:
haddock-args:
- "--odir=./docs"
extra-deps: []
packages:
- '.'

View File

@ -0,0 +1,81 @@
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module ApproxEq where
import Data.Text (Text)
import Data.Time.Clock
import Test.QuickCheck
import GHC.Generics as G
(==~)
:: (ApproxEq a, Show a)
=> a -> a -> Property
a ==~ b = counterexample (show a ++ " !=~ " ++ show b) (a =~ b)
class GApproxEq f where
gApproxEq :: f a -> f a -> Bool
instance GApproxEq U1 where
gApproxEq U1 U1 = True
instance (GApproxEq a, GApproxEq b) =>
GApproxEq (a :+: b) where
gApproxEq (L1 a) (L1 b) = gApproxEq a b
gApproxEq (R1 a) (R1 b) = gApproxEq a b
gApproxEq _ _ = False
instance (GApproxEq a, GApproxEq b) =>
GApproxEq (a :*: b) where
gApproxEq (a1 :*: b1) (a2 :*: b2) = gApproxEq a1 a2 && gApproxEq b1 b2
instance (ApproxEq a) =>
GApproxEq (K1 i a) where
gApproxEq (K1 a) (K1 b) = a =~ b
instance (GApproxEq f) =>
GApproxEq (M1 i t f) where
gApproxEq (M1 a) (M1 b) = gApproxEq a b
class ApproxEq a where
(=~) :: a -> a -> Bool
default (=~) :: (Generic a, GApproxEq (Rep a)) => a -> a -> Bool
a =~ b = gApproxEq (G.from a) (G.from b)
instance ApproxEq Text where
(=~) = (==)
instance ApproxEq Char where
(=~) = (==)
instance ApproxEq Bool where
(=~) = (==)
instance ApproxEq Int where
(=~) = (==)
instance ApproxEq Double where
(=~) = (==)
instance ApproxEq a =>
ApproxEq (Maybe a)
instance ApproxEq UTCTime where
(=~) = (==)
instance ApproxEq a =>
ApproxEq [a] where
as =~ bs = and (zipWith (=~) as bs)
instance (ApproxEq l, ApproxEq r) =>
ApproxEq (Either l r) where
Left a =~ Left b = a =~ b
Right a =~ Right b = a =~ b
_ =~ _ = False
instance (ApproxEq l, ApproxEq r) =>
ApproxEq (l, r) where
(=~) (l1, r1) (l2, r2) = l1 =~ l2 && r1 =~ r2

View File

@ -0,0 +1,53 @@
module Instances where
import Data.Text (Text, pack)
import Data.Char (isSpace)
import Data.List (sort)
import Data.Time.Calendar (Day(..))
import Data.Time.Clock (UTCTime(..), secondsToDiffTime)
import Test.QuickCheck
import qualified Data.HashMap.Strict as HM
import qualified Data.Set as Set
import ApproxEq
import {{title}}.Model
instance Arbitrary Text where
arbitrary = pack <$> arbitrary
instance Arbitrary Day where
arbitrary = ModifiedJulianDay . (2000 +) <$> arbitrary
shrink = (ModifiedJulianDay <$>) . shrink . toModifiedJulianDay
instance Arbitrary UTCTime where
arbitrary =
UTCTime <$> arbitrary <*> (secondsToDiffTime <$> choose (0, 86401))
-- | Checks if a given list has no duplicates in _O(n log n)_.
hasNoDups
:: (Ord a)
=> [a] -> Bool
hasNoDups = go Set.empty
where
go _ [] = True
go s (x:xs)
| s' <- Set.insert x s
, Set.size s' > Set.size s = go s' xs
| otherwise = False
instance ApproxEq Day where
(=~) = (==)
-- * Models
{{#models}}
{{#model}}
instance Arbitrary {{classname}} where
arbitrary =
{{classname}}
<$> {{#vars}}arbitrary -- {{name}} :: {{^required}}Maybe {{/required}}{{datatype}}
{{#hasMore}}<*> {{/hasMore}}{{/vars}}
{{/model}}
{{/models}}

View File

@ -0,0 +1,50 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-}
module PropMime where
import Data.Aeson
import Data.Aeson.Types (parseEither)
import Data.Monoid ((<>))
import Data.Typeable (Proxy(..), typeOf, Typeable)
import qualified Data.ByteString.Lazy.Char8 as BL8
import Test.Hspec
import Test.QuickCheck
import Test.QuickCheck.Property
import Test.Hspec.QuickCheck (prop)
import {{title}}.MimeTypes
import ApproxEq
-- * Type Aliases
type ArbitraryMime mime a = ArbitraryRoundtrip (MimeUnrender mime) (MimeRender mime) a
type ArbitraryRoundtrip from to a = (from a, to a, Arbitrary' a)
type Arbitrary' a = (Arbitrary a, Show a, Typeable a)
-- * Mime
propMime
:: forall a b mime.
(ArbitraryMime mime a, Testable b)
=> String -> (a -> a -> b) -> mime -> Proxy a -> Spec
propMime eqDescr eq m _ =
prop
(show (typeOf (undefined :: a)) <> " " <> show (typeOf (undefined :: mime)) <> " roundtrip " <> eqDescr) $
\(x :: a) ->
let rendered = mimeRender' m x
actual = mimeUnrender' m rendered
expected = Right x
failMsg =
"ACTUAL: " <> show actual <> "\nRENDERED: " <> BL8.unpack rendered
in counterexample failMsg $
either reject property (eq <$> actual <*> expected)
where
reject = property . const rejected
propMimeEq :: (ArbitraryMime mime a, Eq a) => mime -> Proxy a -> Spec
propMimeEq = propMime "(EQ)" (==)

View File

@ -0,0 +1,23 @@
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE PartialTypeSignatures #-}
module Main where
import Data.Typeable (Proxy(..))
import Test.Hspec
import Test.Hspec.QuickCheck
import PropMime
import Instances ()
import {{title}}.Model
import {{title}}.MimeTypes
main :: IO ()
main =
hspec $ modifyMaxSize (const 10) $
do describe "JSON instances" $
do {{#models}}{{#model}}propMimeEq MimeJSON (Proxy :: Proxy {{classname}})
{{/model}}{{/models}}

View File

@ -0,0 +1,53 @@
package io.swagger.codegen.haskellhttpclient;
import io.swagger.codegen.AbstractOptionsTest;
import io.swagger.codegen.CodegenConfig;
import io.swagger.codegen.languages.HaskellHttpClientCodegen;
import io.swagger.codegen.options.HaskellHttpClientOptionsProvider;
import mockit.Expectations;
import mockit.Tested;
public class HaskellHttpClientOptionsTest extends AbstractOptionsTest {
@Tested
private HaskellHttpClientCodegen clientCodegen;
public HaskellHttpClientOptionsTest() {
super(new HaskellHttpClientOptionsProvider());
}
@Override
protected CodegenConfig getCodegenConfig() {
return clientCodegen;
}
@Override
protected void setExpectations() {
new Expectations(clientCodegen) {{
clientCodegen.setModelPackage(HaskellHttpClientOptionsProvider.MODEL_PACKAGE_VALUE);
times = 1;
clientCodegen.setApiPackage(HaskellHttpClientOptionsProvider.API_PACKAGE_VALUE);
times = 1;
clientCodegen.setSortParamsByRequiredFlag(Boolean.valueOf(HaskellHttpClientOptionsProvider.SORT_PARAMS_VALUE));
times = 1;
clientCodegen.setAllowFromJsonNulls(Boolean.valueOf(HaskellHttpClientOptionsProvider.ALLOW_FROMJSON_NULLS));
times = 1;
clientCodegen.setAllowToJsonNulls(Boolean.valueOf(HaskellHttpClientOptionsProvider.ALLOW_TOJSON_NULLS));
times = 1;
clientCodegen.setGenerateModelConstructors(Boolean.valueOf(HaskellHttpClientOptionsProvider.GENERATE_MODEL_CONSTRUCTORS));
times = 1;
clientCodegen.setGenerateFormUrlEncodedInstances(Boolean.valueOf(HaskellHttpClientOptionsProvider.GENERATE_FORM_URLENCODED_INSTANCES));
times = 1;
clientCodegen.setGenerateLenses(Boolean.valueOf(HaskellHttpClientOptionsProvider.GENERATE_LENSES));
times = 1;
clientCodegen.setModelDeriving(HaskellHttpClientOptionsProvider.MODEL_DERIVING);
times = 1;
clientCodegen.setDateTimeFormat(HaskellHttpClientOptionsProvider.DATETIME_FORMAT);
times = 1;
clientCodegen.setDateFormat(HaskellHttpClientOptionsProvider.DATE_FORMAT);
times = 1;
}};
}
}

View File

@ -0,0 +1,12 @@
package io.swagger.codegen.haskellhttpclient;
import org.testng.Assert;
import org.testng.annotations.Test;
public class HaskellHttpClientTest {
@Test(description = "convert a haskell model with dots")
public void modelTest() {
Assert.assertEquals(true, true);
}
}

View File

@ -0,0 +1,57 @@
package io.swagger.codegen.options;
import com.google.common.collect.ImmutableMap;
import io.swagger.codegen.CodegenConstants;
import io.swagger.codegen.languages.HaskellHttpClientCodegen;
import java.util.Map;
public class HaskellHttpClientOptionsProvider implements OptionsProvider {
public static final String MODEL_PACKAGE_VALUE = "Model";
public static final String API_PACKAGE_VALUE = "Api";
public static final String SORT_PARAMS_VALUE = "false";
public static final String ENSURE_UNIQUE_PARAMS_VALUE = "true";
public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false";
public static final String HIDE_GENERATION_TIMESTAMP = "true";
public static final String ALLOW_FROMJSON_NULLS = "true";
public static final String ALLOW_TOJSON_NULLS = "false";
public static final String DATETIME_FORMAT = "%Y-%m-%dT%H:%M:%S%Q%z";
public static final String DATE_FORMAT = "%Y-%m-%d";
public static final String MODEL_DERIVING = "";
public static final String GENERATE_FORM_URLENCODED_INSTANCES = "true";
public static final String GENERATE_LENSES = "true";
public static final String GENERATE_MODEL_CONSTRUCTORS = "true";
@Override
public String getLanguage() {
return "haskell-http-client";
}
@Override
public Map<String, String> createOptions() {
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<String, String>();
return builder.put(CodegenConstants.MODEL_PACKAGE, MODEL_PACKAGE_VALUE)
.put(CodegenConstants.API_PACKAGE, API_PACKAGE_VALUE)
.put(CodegenConstants.SORT_PARAMS_BY_REQUIRED_FLAG, SORT_PARAMS_VALUE)
.put(CodegenConstants.ENSURE_UNIQUE_PARAMS, ENSURE_UNIQUE_PARAMS_VALUE)
.put(CodegenConstants.ALLOW_UNICODE_IDENTIFIERS, ALLOW_UNICODE_IDENTIFIERS_VALUE)
.put(CodegenConstants.HIDE_GENERATION_TIMESTAMP, HIDE_GENERATION_TIMESTAMP)
.put(HaskellHttpClientCodegen.ALLOW_FROMJSON_NULLS, ALLOW_FROMJSON_NULLS)
.put(HaskellHttpClientCodegen.ALLOW_TOJSON_NULLS, ALLOW_TOJSON_NULLS)
.put(HaskellHttpClientCodegen.DATETIME_FORMAT, DATETIME_FORMAT)
.put(HaskellHttpClientCodegen.DATE_FORMAT, DATE_FORMAT)
.put(HaskellHttpClientCodegen.MODEL_DERIVING, MODEL_DERIVING)
.put(HaskellHttpClientCodegen.GENERATE_FORM_URLENCODED_INSTANCES, GENERATE_FORM_URLENCODED_INSTANCES)
.put(HaskellHttpClientCodegen.GENERATE_LENSES, GENERATE_LENSES)
.put(HaskellHttpClientCodegen.GENERATE_MODEL_CONSTRUCTORS, GENERATE_MODEL_CONSTRUCTORS)
.build();
}
@Override
public boolean isServer() {
return false;
}
}

26
pom.xml
View File

@ -360,6 +360,30 @@
<module>samples/client/petstore/clojure</module>
</modules>
</profile>
<profile>
<id>haskell-http-client</id>
<activation>
<property>
<name>env</name>
<value>haskell-http-client</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/haskell-http-client</module>
</modules>
</profile>
<profile>
<id>haskell-http-client-integration-test</id>
<activation>
<property>
<name>env</name>
<value>haskell-http-client</value>
</property>
</activation>
<modules>
<module>samples/client/petstore/haskell-http-client/tests-integration</module>
</modules>
</profile>
<profile>
<id>java-client-jersey1</id>
<activation>
@ -823,6 +847,8 @@
<module>samples/client/petstore/akka-scala</module>
<module>samples/client/petstore/javascript</module>
<module>samples/client/petstore/python</module>
<!-- <module>samples/client/petstore/haskell-http-client</module> -->
<!-- <module>samples/client/petstore/haskell-http-client/tests-integration</module> -->
<module>samples/client/petstore/typescript-fetch/builds/default</module>
<module>samples/client/petstore/typescript-fetch/builds/es6-target</module>
<module>samples/client/petstore/typescript-fetch/builds/with-npm-version</module>

View File

@ -0,0 +1,8 @@
.stack-work
src/highlight.js
src/style.css
dist
dist-newstyle
cabal.project.local
.cabal-sandbox
cabal.sandbox.config

View File

@ -0,0 +1,23 @@
# Swagger Codegen Ignore
# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

View File

@ -0,0 +1 @@
2.3.0-SNAPSHOT

View File

@ -0,0 +1,16 @@
sudo: false
language: c
addons:
apt:
packages:
- libgmp-dev
before_install:
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
script:
- stack --install-ghc --no-haddock-deps haddock
- stack test
cache:
directories:
- $HOME/.stack

View File

@ -0,0 +1,163 @@
## Swagger Auto-Generated [http-client](https://www.stackage.org/lts-9.0/package/http-client-0.5.7.0) Bindings to `SwaggerPetstore`
The library in `lib` provides auto-generated-from-Swagger [http-client](https://www.stackage.org/lts-9.0/package/http-client-0.5.7.0) bindings to the SwaggerPetstore API.
Targeted swagger version: 2.0
OpenAPI-Specification: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
## Installation
Installation follows the standard approach to installing Stack-based projects.
1. Install the [Haskell `stack` tool](http://docs.haskellstack.org/en/stable/README).
2. To build the package, and generate the documentation (recommended):
```
stack haddock
```
which will generate docs for this lib in the `docs` folder.
To generate the docs in the normal location (to enable hyperlinks to external libs), remove
```
build:
haddock-arguments:
haddock-args:
- "--odir=./docs"
```
from the stack.yaml file and run `stack haddock` again.
3. To run unit tests:
```
stack test
```
## Swagger-Codegen
The code generator that produced this library, and which explains how
to obtain and use the swagger-codegen cli tool lives at
https://github.com/swagger-api/swagger-codegen
The _language_ argument (`--lang`) passed to the cli tool used should be
```
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
* Default Parameter Values
* Enum Parameters
This is beta software; other cases may not be supported.
### Codegen "config option" parameters
These options allow some customization of the code generation process.
**haskell-http-client specific options:**
| OPTION | DESCRIPTION | DEFAULT | ACTUAL |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------- |
| allowFromJsonNulls | allow JSON Null during model decoding from JSON | true | true |
| allowToJsonNulls | allow emitting JSON Null during model encoding to JSON | false | false |
| dateFormat | format string used to parse/render a date | %Y-%m-%d | |
| dateTimeFormat | format string used to parse/render a datetime. (Defaults to [formatISO8601Millis][1] when not provided) | | |
| generateFormUrlEncodedInstances | Generate FromForm/ToForm instances for models used by x-www-form-urlencoded operations (model fields must be primitive types) | true | true |
| generateLenses | Generate Lens optics for Models | true | true |
| generateModelConstructors | Generate smart constructors (only supply required fields) for models | true | true |
| modelDeriving | Additional classes to include in the deriving() clause of Models | | |
[1]: https://www.stackage.org/haddock/lts-9.0/iso8601-time-0.1.4/Data-Time-ISO8601.html#v:formatISO8601Millis
View the full list of Codegen "config option" parameters with the command:
```
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar config-help -l haskell-http-client
```
### Example SwaggerPetstore Haddock documentation
An example of the generated haddock documentation targeting the server http://petstore.swagger.io/ (SwaggerPetstore) can be found [here][2]
[2]: https://jonschoning.github.io/swaggerpetstore-haskell-http-client/
### Example SwaggerPetstore App
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/jonschoning/swagger-codegen/tree/haskell-http-client/samples/client/petstore/haskell-http-client/example-app
### Usage Notes
This library is intended to be imported qualified.
| MODULE | NOTES |
| ------------------- | --------------------------------------------------- |
| SwaggerPetstore.Client | use the "dispatch" functions to send requests |
| SwaggerPetstore.API | construct requetss |
| SwaggerPetstore.Model | describes models |
| SwaggerPetstore.MimeTypes | encoding/decoding MIME types (content-types/accept) |
| SwaggerPetstore.Lens | lenses & traversals for model fields |
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).
For example, if there is an Operation named _addFoo_, there will be a
data type generated named _AddFoo_ (note the capitalization) which
describes additional constraints and actions on the _addFoo_
operation, which can be viewed in GHCi or via the Haddocks.
* requried parameters are included as function arguments to _addFoo_
* optional non-body parameters are included by using `applyOptionalParam`
* optional body parameters are set by using `setBodyParam`
Example for pretend _addFoo_ operation:
```haskell
data AddFoo
instance Consumes AddFoo MimeJSON
instance Produces AddFoo MimeJSON
instance Produces AddFoo MimeXML
instance HasBodyParam AddFoo FooModel
instance HasOptionalParam AddFoo FooName
instance HasOptionalParam AddFoo FooId
```
this would indicate that:
* the _addFoo_ operation can consume JSON
* the _addFoo_ operation produces JSON or XML, depending on the argument passed to the dispatch function
* 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
supports it), use `dispatchLbsUnsafe` or modify the swagger spec and
run the generator again.
New MIME type instances can be added via MimeType/MimeRender/MimeUnrender
Only JSON instances are generated by default, and in some case
x-www-form-urlencoded instances (FromFrom, ToForm) will also be
generated if the model fields are primitive types, and there are
Operations using x-www-form-urlencoded which use those models.
See the example app and the haddocks for details.

View File

@ -0,0 +1,2 @@
import Distribution.Simple
main = defaultMain

View File

@ -0,0 +1,31 @@
#!/bin/bash
set -e
cabal_file=$(find . -maxdepth 1 -name "*.cabal" -print -quit)
if [ ! -f "$cabal_file" ]; then
echo "Run this script in the top-level package directory"
exit 1
fi
pkg=$(awk -F ":[[:space:]]*" 'tolower($1)=="name" { print $2 }' < "$cabal_file")
ver=$(awk -F ":[[:space:]]*" 'tolower($1)=="version" { print $2 }' < "$cabal_file")
if [ -z "$pkg" ]; then
echo "Unable to determine package name"
exit 1
fi
if [ -z "$ver" ]; then
echo "Unable to determine package version"
exit 1
fi
echo "Detected package: $pkg-$ver"
cabal haddock --hyperlink-source --html-location='https://www.stackage.org/haddock/nightly-2017-08-25/$pkg-$version' --contents-location='https://www.stackage.org/nightly-2017-08-25/package/$pkg-$version'
dir="build-docs"
trap 'rm -r "$dir"' EXIT
mkdir -p $dir
cp -R dist/doc/html/$pkg/ $dir/$pkg-$ver-docs

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SwaggerPetstore</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();setSynopsis("mini_SwaggerPetstore.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/SwaggerPetstore.html">Source</a></li><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="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">SwaggerPetstore</p></div><div id="description"><p class="caption">Description</p><div class="doc empty">&nbsp;</div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="SwaggerPetstore-Client.html">SwaggerPetstore.Client</a></p></div><div class="top"><p class="src">module <a href="SwaggerPetstore-API.html">SwaggerPetstore.API</a></p></div><div class="top"><p class="src">module <a href="SwaggerPetstore-Model.html">SwaggerPetstore.Model</a></p></div><div class="top"><p class="src">module <a href="SwaggerPetstore-MimeTypes.html">SwaggerPetstore.MimeTypes</a></p></div><div class="top"><p class="src">module <a href="SwaggerPetstore-Lens.html">SwaggerPetstore.Lens</a></p></div></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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - -)</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-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 - -</p><table><tr><td class="src">-&amp;-</td><td class="module"><a href="SwaggerPetstore-API.html#v:-45--38--45-">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

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - A)</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-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 - A</p><table><tr><td class="src">AdditionalMetadata</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:AdditionalMetadata">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:AdditionalMetadata">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">AddPet</td><td class="module"><a href="SwaggerPetstore-API.html#t:AddPet">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">addPet</td><td class="module"><a href="SwaggerPetstore-API.html#v:addPet">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">ApiResponse</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:ApiResponse">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:ApiResponse">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">apiResponseCode</td><td class="module"><a href="SwaggerPetstore-Model.html#v:apiResponseCode">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">apiResponseCodeT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:apiResponseCodeT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">apiResponseMessage</td><td class="module"><a href="SwaggerPetstore-Model.html#v:apiResponseMessage">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">apiResponseMessageT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:apiResponseMessageT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">apiResponseType</td><td class="module"><a href="SwaggerPetstore-Model.html#v:apiResponseType">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">apiResponseTypeT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:apiResponseTypeT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">ApiUnderscorekey</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:ApiUnderscorekey">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:ApiUnderscorekey">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">applyOptionalParam</td><td class="module"><a href="SwaggerPetstore-API.html#v:applyOptionalParam">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

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - C)</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-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 - C</p><table><tr><td class="src">Category</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:Category">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:Category">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">categoryId</td><td class="module"><a href="SwaggerPetstore-Model.html#v:categoryId">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">categoryIdT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:categoryIdT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">categoryName</td><td class="module"><a href="SwaggerPetstore-Model.html#v:categoryName">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">categoryNameT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:categoryNameT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">CollectionFormat</td><td class="module"><a href="SwaggerPetstore-API.html#t:CollectionFormat">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">CommaSeparated</td><td class="module"><a href="SwaggerPetstore-API.html#v:CommaSeparated">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">configExecLoggingT</td><td class="module"><a href="SwaggerPetstore-Client.html#v:configExecLoggingT">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">configHost</td><td class="module"><a href="SwaggerPetstore-Client.html#v:configHost">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">configLoggingFilter</td><td class="module"><a href="SwaggerPetstore-Client.html#v:configLoggingFilter">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">configUserAgent</td><td class="module"><a href="SwaggerPetstore-Client.html#v:configUserAgent">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">Consumes</td><td class="module"><a href="SwaggerPetstore-MimeTypes.html#t:Consumes">SwaggerPetstore.MimeTypes</a>, SwaggerPetstore</td></tr><tr><td class="src">CreateUser</td><td class="module"><a href="SwaggerPetstore-API.html#t:CreateUser">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">createUser</td><td class="module"><a href="SwaggerPetstore-API.html#v:createUser">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">CreateUsersWithArrayInput</td><td class="module"><a href="SwaggerPetstore-API.html#t:CreateUsersWithArrayInput">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">createUsersWithArrayInput</td><td class="module"><a href="SwaggerPetstore-API.html#v:createUsersWithArrayInput">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">CreateUsersWithListInput</td><td class="module"><a href="SwaggerPetstore-API.html#t:CreateUsersWithListInput">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">createUsersWithListInput</td><td class="module"><a href="SwaggerPetstore-API.html#v:createUsersWithListInput">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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - D)</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-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 - D</p><table><tr><td class="src">debugLevelFilter</td><td class="module"><a href="SwaggerPetstore-Client.html#v:debugLevelFilter">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">DeleteOrder</td><td class="module"><a href="SwaggerPetstore-API.html#t:DeleteOrder">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">deleteOrder</td><td class="module"><a href="SwaggerPetstore-API.html#v:deleteOrder">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">DeletePet</td><td class="module"><a href="SwaggerPetstore-API.html#t:DeletePet">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">deletePet</td><td class="module"><a href="SwaggerPetstore-API.html#v:deletePet">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">DeleteUser</td><td class="module"><a href="SwaggerPetstore-API.html#t:DeleteUser">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">deleteUser</td><td class="module"><a href="SwaggerPetstore-API.html#v:deleteUser">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">dispatchInitUnsafe</td><td class="module"><a href="SwaggerPetstore-Client.html#v:dispatchInitUnsafe">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">dispatchLbs</td><td class="module"><a href="SwaggerPetstore-Client.html#v:dispatchLbs">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">dispatchLbsUnsafe</td><td class="module"><a href="SwaggerPetstore-Client.html#v:dispatchLbsUnsafe">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">dispatchMime</td><td class="module"><a href="SwaggerPetstore-Client.html#v:dispatchMime">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">dispatchMime'</td><td class="module"><a href="SwaggerPetstore-Client.html#v:dispatchMime-39-">SwaggerPetstore.Client</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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - E)</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-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 - E</p><table><tr><td class="src">errorLevelFilter</td><td class="module"><a href="SwaggerPetstore-Client.html#v:errorLevelFilter">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">ExecLoggingT</td><td class="module"><a href="SwaggerPetstore-Client.html#t:ExecLoggingT">SwaggerPetstore.Client</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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - F)</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-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 - F</p><table><tr><td class="src">File</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:File">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:File">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">FindPetsByStatus</td><td class="module"><a href="SwaggerPetstore-API.html#t:FindPetsByStatus">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">findPetsByStatus</td><td class="module"><a href="SwaggerPetstore-API.html#v:findPetsByStatus">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">FindPetsByTags</td><td class="module"><a href="SwaggerPetstore-API.html#t:FindPetsByTags">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">findPetsByTags</td><td class="module"><a href="SwaggerPetstore-API.html#v:findPetsByTags">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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - G)</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-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 - G</p><table><tr><td class="src">GetInventory</td><td class="module"><a href="SwaggerPetstore-API.html#t:GetInventory">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">getInventory</td><td class="module"><a href="SwaggerPetstore-API.html#v:getInventory">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">GetOrderById</td><td class="module"><a href="SwaggerPetstore-API.html#t:GetOrderById">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">getOrderById</td><td class="module"><a href="SwaggerPetstore-API.html#v:getOrderById">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">GetPetById</td><td class="module"><a href="SwaggerPetstore-API.html#t:GetPetById">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">getPetById</td><td class="module"><a href="SwaggerPetstore-API.html#v:getPetById">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">GetUserByName</td><td class="module"><a href="SwaggerPetstore-API.html#t:GetUserByName">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">getUserByName</td><td class="module"><a href="SwaggerPetstore-API.html#v:getUserByName">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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - H)</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-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 - H</p><table><tr><td class="src">HasBodyParam</td><td class="module"><a href="SwaggerPetstore-API.html#t:HasBodyParam">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">HasOptionalParam</td><td class="module"><a href="SwaggerPetstore-API.html#t:HasOptionalParam">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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - I)</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-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 - I</p><table><tr><td class="src">infoLevelFilter</td><td class="module"><a href="SwaggerPetstore-Client.html#v:infoLevelFilter">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">InitRequest</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Client.html#t:InitRequest">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Client.html#v:InitRequest">SwaggerPetstore.Client</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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - L)</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-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 - L</p><table><tr><td class="src">Lens_</td><td class="module"><a href="SwaggerPetstore-Lens.html#t:Lens_">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">Lens_'</td><td class="module"><a href="SwaggerPetstore-Lens.html#t:Lens_-39-">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">logExceptions</td><td class="module"><a href="SwaggerPetstore-Client.html#v:logExceptions">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">LoginUser</td><td class="module"><a href="SwaggerPetstore-API.html#t:LoginUser">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">loginUser</td><td class="module"><a href="SwaggerPetstore-API.html#v:loginUser">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">logNST</td><td class="module"><a href="SwaggerPetstore-Client.html#v:logNST">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">LogoutUser</td><td class="module"><a href="SwaggerPetstore-API.html#t:LogoutUser">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">logoutUser</td><td class="module"><a href="SwaggerPetstore-API.html#v:logoutUser">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

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - N)</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-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 - N</p><table><tr><td class="src">Name</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:Name">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:Name">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">newConfig</td><td class="module"><a href="SwaggerPetstore-Client.html#v:newConfig">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">NoContent</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-MimeTypes.html#t:NoContent">SwaggerPetstore.MimeTypes</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-MimeTypes.html#v:NoContent">SwaggerPetstore.MimeTypes</a>, SwaggerPetstore</td></tr><tr><td class="src">nullLogger</td><td class="module"><a href="SwaggerPetstore-Client.html#v:nullLogger">SwaggerPetstore.Client</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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - O)</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-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 - O</p><table><tr><td class="src">Order</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:Order">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:Order">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">orderComplete</td><td class="module"><a href="SwaggerPetstore-Model.html#v:orderComplete">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">orderCompleteT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:orderCompleteT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">orderId</td><td class="module"><a href="SwaggerPetstore-Model.html#v:orderId">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">orderIdT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:orderIdT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">orderPetId</td><td class="module"><a href="SwaggerPetstore-Model.html#v:orderPetId">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">orderPetIdT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:orderPetIdT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">orderQuantity</td><td class="module"><a href="SwaggerPetstore-Model.html#v:orderQuantity">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">orderQuantityT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:orderQuantityT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">orderShipDate</td><td class="module"><a href="SwaggerPetstore-Model.html#v:orderShipDate">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">orderShipDateT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:orderShipDateT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">orderStatus</td><td class="module"><a href="SwaggerPetstore-Model.html#v:orderStatus">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">orderStatusT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:orderStatusT">SwaggerPetstore.Lens</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

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - 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-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">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">runExceptionLoggingT</td><td class="module"><a href="SwaggerPetstore-Client.html#v:runExceptionLoggingT">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">runLoggingT</td><td class="module"><a href="SwaggerPetstore-Client.html#v:runLoggingT">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">runNullLoggingT</td><td class="module"><a href="SwaggerPetstore-Client.html#v:runNullLoggingT">SwaggerPetstore.Client</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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - S)</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-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 - S</p><table><tr><td class="src">setBodyParam</td><td class="module"><a href="SwaggerPetstore-API.html#v:setBodyParam">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">setHeader</td><td class="module"><a href="SwaggerPetstore-API.html#v:setHeader">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">SpaceSeparated</td><td class="module"><a href="SwaggerPetstore-API.html#v:SpaceSeparated">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">Status</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:Status">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:Status">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">SwaggerPetstoreConfig</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Client.html#t:SwaggerPetstoreConfig">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Client.html#v:SwaggerPetstoreConfig">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">SwaggerPetstoreRequest</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-API.html#t:SwaggerPetstoreRequest">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-API.html#v:SwaggerPetstoreRequest">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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - T)</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-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 - T</p><table><tr><td class="src">TabSeparated</td><td class="module"><a href="SwaggerPetstore-API.html#v:TabSeparated">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">Tag</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="SwaggerPetstore-Model.html#t:Tag">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="SwaggerPetstore-Model.html#v:Tag">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">tagId</td><td class="module"><a href="SwaggerPetstore-Model.html#v:tagId">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">tagIdT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:tagIdT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">tagName</td><td class="module"><a href="SwaggerPetstore-Model.html#v:tagName">SwaggerPetstore.Model</a>, SwaggerPetstore</td></tr><tr><td class="src">tagNameT</td><td class="module"><a href="SwaggerPetstore-Lens.html#v:tagNameT">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">toForm</td><td class="module"><a href="SwaggerPetstore-API.html#v:toForm">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">toFormColl</td><td class="module"><a href="SwaggerPetstore-API.html#v:toFormColl">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">toHeader</td><td class="module"><a href="SwaggerPetstore-API.html#v:toHeader">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">toHeaderColl</td><td class="module"><a href="SwaggerPetstore-API.html#v:toHeaderColl">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">toPath</td><td class="module"><a href="SwaggerPetstore-API.html#v:toPath">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">toQuery</td><td class="module"><a href="SwaggerPetstore-API.html#v:toQuery">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">toQueryColl</td><td class="module"><a href="SwaggerPetstore-API.html#v:toQueryColl">SwaggerPetstore.API</a>, SwaggerPetstore</td></tr><tr><td class="src">Traversal_</td><td class="module"><a href="SwaggerPetstore-Lens.html#t:Traversal_">SwaggerPetstore.Lens</a>, SwaggerPetstore</td></tr><tr><td class="src">Traversal_'</td><td class="module"><a href="SwaggerPetstore-Lens.html#t:Traversal_-39-">SwaggerPetstore.Lens</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

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index - W)</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-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 - W</p><table><tr><td class="src">withNoLogging</td><td class="module"><a href="SwaggerPetstore-Client.html#v:withNoLogging">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">withStderrLogging</td><td class="module"><a href="SwaggerPetstore-Client.html#v:withStderrLogging">SwaggerPetstore.Client</a>, SwaggerPetstore</td></tr><tr><td class="src">withStdoutLogging</td><td class="module"><a href="SwaggerPetstore-Client.html#v:withStdoutLogging">SwaggerPetstore.Client</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>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client (Index)</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-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><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>

View File

@ -0,0 +1,316 @@
// Haddock JavaScript utilities
var rspace = /\s\s+/g,
rtrim = /^\s+|\s+$/g;
function spaced(s) { return (" " + s + " ").replace(rspace, " "); }
function trim(s) { return s.replace(rtrim, ""); }
function hasClass(elem, value) {
var className = spaced(elem.className || "");
return className.indexOf( " " + value + " " ) >= 0;
}
function addClass(elem, value) {
var className = spaced(elem.className || "");
if ( className.indexOf( " " + value + " " ) < 0 ) {
elem.className = trim(className + " " + value);
}
}
function removeClass(elem, value) {
var className = spaced(elem.className || "");
className = className.replace(" " + value + " ", " ");
elem.className = trim(className);
}
function toggleClass(elem, valueOn, valueOff, bool) {
if (bool == null) { bool = ! hasClass(elem, valueOn); }
if (bool) {
removeClass(elem, valueOff);
addClass(elem, valueOn);
}
else {
removeClass(elem, valueOn);
addClass(elem, valueOff);
}
return bool;
}
function makeClassToggle(valueOn, valueOff)
{
return function(elem, bool) {
return toggleClass(elem, valueOn, valueOff, bool);
}
}
toggleShow = makeClassToggle("show", "hide");
toggleCollapser = makeClassToggle("collapser", "expander");
function toggleSection(id)
{
var b = toggleShow(document.getElementById("section." + id));
toggleCollapser(document.getElementById("control." + id), b);
rememberCollapsed(id, b);
return b;
}
var collapsed = {};
function rememberCollapsed(id, b)
{
if(b)
delete collapsed[id]
else
collapsed[id] = null;
var sections = [];
for(var i in collapsed)
{
if(collapsed.hasOwnProperty(i))
sections.push(i);
}
// cookie specific to this page; don't use setCookie which sets path=/
document.cookie = "collapsed=" + escape(sections.join('+'));
}
function restoreCollapsed()
{
var cookie = getCookie("collapsed");
if(!cookie)
return;
var ids = cookie.split('+');
for(var i in ids)
{
if(document.getElementById("section." + ids[i]))
toggleSection(ids[i]);
}
}
function setCookie(name, value) {
document.cookie = name + "=" + escape(value) + ";path=/;";
}
function clearCookie(name) {
document.cookie = name + "=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) {
return unescape(c.substring(nameEQ.length,c.length));
}
}
return null;
}
var max_results = 75; // 50 is not enough to search for map in the base libraries
var shown_range = null;
var last_search = null;
function quick_search()
{
perform_search(false);
}
function full_search()
{
perform_search(true);
}
function perform_search(full)
{
var text = document.getElementById("searchbox").value.toLowerCase();
if (text == last_search && !full) return;
last_search = text;
var table = document.getElementById("indexlist");
var status = document.getElementById("searchmsg");
var children = table.firstChild.childNodes;
// first figure out the first node with the prefix
var first = bisect(-1);
var last = (first == -1 ? -1 : bisect(1));
if (first == -1)
{
table.className = "";
status.innerHTML = "No results found, displaying all";
}
else if (first == 0 && last == children.length - 1)
{
table.className = "";
status.innerHTML = "";
}
else if (last - first >= max_results && !full)
{
table.className = "";
status.innerHTML = "More than " + max_results + ", press Search to display";
}
else
{
// decide what you need to clear/show
if (shown_range)
setclass(shown_range[0], shown_range[1], "indexrow");
setclass(first, last, "indexshow");
shown_range = [first, last];
table.className = "indexsearch";
status.innerHTML = "";
}
function setclass(first, last, status)
{
for (var i = first; i <= last; i++)
{
children[i].className = status;
}
}
// do a binary search, treating 0 as ...
// return either -1 (no 0's found) or location of most far match
function bisect(dir)
{
var first = 0, finish = children.length - 1;
var mid, success = false;
while (finish - first > 3)
{
mid = Math.floor((finish + first) / 2);
var i = checkitem(mid);
if (i == 0) i = dir;
if (i == -1)
finish = mid;
else
first = mid;
}
var a = (dir == 1 ? first : finish);
var b = (dir == 1 ? finish : first);
for (var i = b; i != a - dir; i -= dir)
{
if (checkitem(i) == 0) return i;
}
return -1;
}
// from an index, decide what the result is
// 0 = match, -1 is lower, 1 is higher
function checkitem(i)
{
var s = getitem(i).toLowerCase().substr(0, text.length);
if (s == text) return 0;
else return (s > text ? -1 : 1);
}
// from an index, get its string
// this abstracts over alternates
function getitem(i)
{
for ( ; i >= 0; i--)
{
var s = children[i].firstChild.firstChild.data;
if (s.indexOf(' ') == -1)
return s;
}
return ""; // should never be reached
}
}
function setSynopsis(filename) {
if (parent.window.synopsis && parent.window.synopsis.location) {
if (parent.window.synopsis.location.replace) {
// In Firefox this avoids adding the change to the history.
parent.window.synopsis.location.replace(filename);
} else {
parent.window.synopsis.location = filename;
}
}
}
function addMenuItem(html) {
var menu = document.getElementById("page-menu");
if (menu) {
var btn = menu.firstChild.cloneNode(false);
btn.innerHTML = html;
menu.appendChild(btn);
}
}
function styles() {
var i, a, es = document.getElementsByTagName("link"), rs = [];
for (i = 0; a = es[i]; i++) {
if(a.rel.indexOf("style") != -1 && a.title) {
rs.push(a);
}
}
return rs;
}
function addStyleMenu() {
var as = styles();
var i, a, btns = "";
for(i=0; a = as[i]; i++) {
btns += "<li><a href='#' onclick=\"setActiveStyleSheet('"
+ a.title + "'); return false;\">"
+ a.title + "</a></li>"
}
if (as.length > 1) {
var h = "<div id='style-menu-holder'>"
+ "<a href='#' onclick='styleMenu(); return false;'>Style &#9662;</a>"
+ "<ul id='style-menu' class='hide'>" + btns + "</ul>"
+ "</div>";
addMenuItem(h);
}
}
function setActiveStyleSheet(title) {
var as = styles();
var i, a, found;
for(i=0; a = as[i]; i++) {
a.disabled = true;
// need to do this always, some browsers are edge triggered
if(a.title == title) {
found = a;
}
}
if (found) {
found.disabled = false;
setCookie("haddock-style", title);
}
else {
as[0].disabled = false;
clearCookie("haddock-style");
}
styleMenu(false);
}
function resetStyle() {
var s = getCookie("haddock-style");
if (s) setActiveStyleSheet(s);
}
function styleMenu(show) {
var m = document.getElementById('style-menu');
if (m) toggleShow(m, show);
}
function pageLoad() {
addStyleMenu();
resetStyle();
restoreCollapsed();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,6 @@
<!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</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="description"><h1>swagger-petstore-0.1.0.0: Auto-generated swagger-petstore API Client</h1><div class="doc"><p>.
Client library for calling the swagger-petstore API based on http-client.
host: petstore.swagger.io</p><p>base path: <a href="http://petstore.swagger.io/v2">http://petstore.swagger.io/v2</a></p><p>apiVersion: 0.0.1</p><p>swagger version: 2.0</p><p>OpenAPI-Specification: <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md">https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md</a></p></div></div><div id="module-list"><p class="caption">Modules</p><ul><li><span class="module"><span id="control.n.1" class="collapser" onclick="toggleSection('n.1')">&nbsp;</span><a href="SwaggerPetstore.html">SwaggerPetstore</a></span><ul id="section.n.1" class="show"><li><span class="module"><a href="SwaggerPetstore-API.html">SwaggerPetstore.API</a></span></li><li><span class="module"><a href="SwaggerPetstore-Client.html">SwaggerPetstore.Client</a></span></li><li><span class="module"><a href="SwaggerPetstore-Lens.html">SwaggerPetstore.Lens</a></span></li><li><span class="module"><a href="SwaggerPetstore-MimeTypes.html">SwaggerPetstore.MimeTypes</a></span></li><li><span class="module"><a href="SwaggerPetstore-Model.html">SwaggerPetstore.Model</a></span></li></ul></li></ul></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

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>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><h1>Logging</h1><div class="top"><p class="src"><span class="keyword">type</span> <a href="SwaggerPetstore-Client.html#t:ExecLoggingT" target="main">ExecLoggingT</a></p></div><h2>Null Logger</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:nullLogger" target="main">nullLogger</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runNullLoggingT" target="main">runNullLoggingT</a></p></div><h2>Logging Filters</h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:errorLevelFilter" target="main">errorLevelFilter</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:infoLevelFilter" target="main">infoLevelFilter</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:debugLevelFilter" target="main">debugLevelFilter</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:minLevelFilter" target="main">minLevelFilter</a></p></div><h2>Logging </h2><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:logNST" target="main">logNST</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:logExceptions" target="main">logExceptions</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runLoggingT" target="main">runLoggingT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Client.html#v:runExceptionLoggingT" target="main">runExceptionLoggingT</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SwaggerPetstore.Lens</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.Lens</p></div><div id="interface"><h1>Type Aliases</h1><div class="top"><p class="src"><span class="keyword">type</span> <a href="SwaggerPetstore-Lens.html#t:Traversal_-39-" target="main">Traversal_'</a> s a</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="SwaggerPetstore-Lens.html#t:Traversal_" target="main">Traversal_</a> s t a b</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="SwaggerPetstore-Lens.html#t:Lens_-39-" target="main">Lens_'</a> s a</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="SwaggerPetstore-Lens.html#t:Lens_" target="main">Lens_</a> s t a b</p></div><h1>ApiResponse</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:apiResponseCodeT" target="main">apiResponseCodeT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:apiResponseTypeT" target="main">apiResponseTypeT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:apiResponseMessageT" target="main">apiResponseMessageT</a></p></div><h1>Category</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:categoryIdT" target="main">categoryIdT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:categoryNameT" target="main">categoryNameT</a></p></div><h1>Order</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:orderIdT" target="main">orderIdT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:orderPetIdT" target="main">orderPetIdT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:orderQuantityT" target="main">orderQuantityT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:orderShipDateT" target="main">orderShipDateT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:orderStatusT" target="main">orderStatusT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:orderCompleteT" target="main">orderCompleteT</a></p></div><h1>Pet</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:petIdT" target="main">petIdT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:petCategoryT" target="main">petCategoryT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:petNameL" target="main">petNameL</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:petPhotoUrlsL" target="main">petPhotoUrlsL</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:petTagsT" target="main">petTagsT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:petStatusT" target="main">petStatusT</a></p></div><h1>Tag</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:tagIdT" target="main">tagIdT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:tagNameT" target="main">tagNameT</a></p></div><h1>User</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userIdT" target="main">userIdT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userUsernameT" target="main">userUsernameT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userFirstNameT" target="main">userFirstNameT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userLastNameT" target="main">userLastNameT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userEmailT" target="main">userEmailT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userPasswordT" target="main">userPasswordT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userPhoneT" target="main">userPhoneT</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:userUserStatusT" target="main">userUserStatusT</a></p></div><h1>Helpers</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Lens.html#v:_mtraversal" target="main">_mtraversal</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SwaggerPetstore.MimeTypes</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.MimeTypes</p></div><div id="interface"><h1>Content Negotiation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:NoContent" target="main">NoContent</a></p></div><h2>Mime Types</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeJSON" target="main">MimeJSON</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeXML" target="main">MimeXML</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimePlainText" target="main">MimePlainText</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeFormUrlEncoded" target="main">MimeFormUrlEncoded</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeMultipartFormData" target="main">MimeMultipartFormData</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeOctetStream" target="main">MimeOctetStream</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeNoContent" target="main">MimeNoContent</a></p></div><h2>MimeType Class</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeType" target="main">MimeType</a> mtype</p></div><h2>MimeType Instances</h2><h2>MimeRender Class</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeRender" target="main">MimeRender</a> mtype x</p></div><h2>MimeRender Instances</h2><h2>MimeUnrender Class</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="SwaggerPetstore-MimeTypes.html#t:MimeUnrender" target="main">MimeUnrender</a> mtype o</p></div><h2>MimeUnrender Instances</h2><h2>Request Consumes</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="SwaggerPetstore-MimeTypes.html#t:Consumes" target="main">Consumes</a> req mtype</p></div><h2>Request Produces</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="SwaggerPetstore-MimeTypes.html#t:Produces" target="main">Produces</a> req mtype</p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SwaggerPetstore.Model</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.Model</p></div><div id="interface"><h1>Models</h1><h2>ApiResponse</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Model.html#t:ApiResponse" target="main">ApiResponse</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:mkApiResponse" target="main">mkApiResponse</a></p></div><h2>Category</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Model.html#t:Category" target="main">Category</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:mkCategory" target="main">mkCategory</a></p></div><h2>Order</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Model.html#t:Order" target="main">Order</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:mkOrder" target="main">mkOrder</a></p></div><h2>Pet</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Model.html#t:Pet" target="main">Pet</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:mkPet" target="main">mkPet</a></p></div><h2>Tag</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Model.html#t:Tag" target="main">Tag</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:mkTag" target="main">mkTag</a></p></div><h2>User</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="SwaggerPetstore-Model.html#t:User" target="main">User</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:mkUser" target="main">mkUser</a></p></div><h1>Utils</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_omitNulls" target="main">_omitNulls</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_toFormItem" target="main">_toFormItem</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_emptyToNothing" target="main">_emptyToNothing</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_memptyToNothing" target="main">_memptyToNothing</a></p></div><h1>DateTime Formatting</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_readDateTime" target="main">_readDateTime</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_showDateTime" target="main">_showDateTime</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_parseISO8601" target="main">_parseISO8601</a></p></div><h1>Date Formatting</h1><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_readDate" target="main">_readDate</a></p></div><div class="top"><p class="src"><a href="SwaggerPetstore-Model.html#v:_showDate" target="main">_showDate</a></p></div></div></body></html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SwaggerPetstore</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</p></div><div id="interface"></div></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

View File

@ -0,0 +1,612 @@
/* @group Fundamentals */
* { margin: 0; padding: 0 }
/* Is this portable? */
html {
background-color: white;
width: 100%;
height: 100%;
}
body {
background: white;
color: black;
text-align: left;
min-height: 100%;
position: relative;
}
p {
margin: 0.8em 0;
}
ul, ol {
margin: 0.8em 0 0.8em 2em;
}
dl {
margin: 0.8em 0;
}
dt {
font-weight: bold;
}
dd {
margin-left: 2em;
}
a { text-decoration: none; }
a[href]:link { color: rgb(196,69,29); }
a[href]:visited { color: rgb(171,105,84); }
a[href]:hover { text-decoration:underline; }
a[href].def:link, a[href].def:visited { color: black; }
a[href].def:hover { color: rgb(78, 98, 114); }
/* @end */
/* @group Fonts & Sizes */
/* Basic technique & IE workarounds from YUI 3
For reasons, see:
http://yui.yahooapis.com/3.1.1/build/cssfonts/fonts.css
*/
body {
font:13px/1.4 sans-serif;
*font-size:small; /* for IE */
*font:x-small; /* for IE in quirks mode */
}
h1 { font-size: 146.5%; /* 19pt */ }
h2 { font-size: 131%; /* 17pt */ }
h3 { font-size: 116%; /* 15pt */ }
h4 { font-size: 100%; /* 13pt */ }
h5 { font-size: 100%; /* 13pt */ }
select, input, button, textarea {
font:99% sans-serif;
}
table {
font-size:inherit;
font:100%;
}
pre, code, kbd, samp, tt, .src {
font-family:monospace;
*font-size:108%;
line-height: 124%;
}
.links, .link {
font-size: 85%; /* 11pt */
}
#module-header .caption {
font-size: 182%; /* 24pt */
}
.info {
font-size: 85%; /* 11pt */
}
#table-of-contents, #synopsis {
/* font-size: 85%; /* 11pt */
}
/* @end */
/* @group Common */
.caption, h1, h2, h3, h4, h5, h6 {
font-weight: bold;
color: rgb(78,98,114);
margin: 0.8em 0 0.4em;
}
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
margin-top: 2em;
}
h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 {
margin-top: inherit;
}
ul.links {
list-style: none;
text-align: left;
float: right;
display: inline-table;
margin: 0 0 0 1em;
}
ul.links li {
display: inline;
border-left: 1px solid #d5d5d5;
white-space: nowrap;
padding: 0;
}
ul.links li a {
padding: 0.2em 0.5em;
}
.hide { display: none; }
.show { display: inherit; }
.clear { clear: both; }
.collapser {
background-image: url(minus.gif);
background-repeat: no-repeat;
}
.expander {
background-image: url(plus.gif);
background-repeat: no-repeat;
}
.collapser, .expander {
padding-left: 14px;
margin-left: -14px;
cursor: pointer;
}
p.caption.collapser,
p.caption.expander {
background-position: 0 0.4em;
}
.instance.collapser, .instance.expander {
margin-left: 0px;
background-position: left center;
min-width: 9px;
min-height: 9px;
}
pre {
padding: 0.25em;
margin: 0.8em 0;
background: rgb(229,237,244);
overflow: auto;
border-bottom: 0.25em solid white;
/* white border adds some space below the box to compensate
for visual extra space that paragraphs have between baseline
and the bounding box */
}
.src {
background: #f0f0f0;
padding: 0.2em 0.5em;
}
.keyword { font-weight: normal; }
.def { font-weight: bold; }
@media print {
#footer { display: none; }
}
/* @end */
/* @group Page Structure */
#content {
margin: 0 auto;
padding: 0 2em 6em;
}
#package-header {
background: rgb(41,56,69);
border-top: 5px solid rgb(78,98,114);
color: #ddd;
padding: 0.2em;
position: relative;
text-align: left;
}
#package-header .caption {
background: url(hslogo-16.png) no-repeat 0em;
color: white;
margin: 0 2em;
font-weight: normal;
font-style: normal;
padding-left: 2em;
}
#package-header a:link, #package-header a:visited { color: white; }
#package-header a:hover { background: rgb(78,98,114); }
#module-header .caption {
color: rgb(78,98,114);
font-weight: bold;
border-bottom: 1px solid #ddd;
}
table.info {
float: right;
padding: 0.5em 1em;
border: 1px solid #ddd;
color: rgb(78,98,114);
background-color: #fff;
max-width: 40%;
border-spacing: 0;
position: relative;
top: -0.5em;
margin: 0 0 0 2em;
}
.info th {
padding: 0 1em 0 0;
}
div#style-menu-holder {
position: relative;
z-index: 2;
display: inline;
}
#style-menu {
position: absolute;
z-index: 1;
overflow: visible;
background: #374c5e;
margin: 0;
text-align: center;
right: 0;
padding: 0;
top: 1.25em;
}
#style-menu li {
display: list-item;
border-style: none;
margin: 0;
padding: 0;
color: #000;
list-style-type: none;
}
#style-menu li + li {
border-top: 1px solid #919191;
}
#style-menu a {
width: 6em;
padding: 3px;
display: block;
}
#footer {
background: #ddd;
border-top: 1px solid #aaa;
padding: 0.5em 0;
color: #666;
text-align: center;
position: absolute;
bottom: 0;
width: 100%;
height: 3em;
}
/* @end */
/* @group Front Matter */
#table-of-contents {
float: right;
clear: right;
background: #faf9dc;
border: 1px solid #d8d7ad;
padding: 0.5em 1em;
max-width: 20em;
margin: 0.5em 0 1em 1em;
}
#table-of-contents .caption {
text-align: center;
margin: 0;
}
#table-of-contents ul {
list-style: none;
margin: 0;
}
#table-of-contents ul ul {
margin-left: 2em;
}
#description .caption {
display: none;
}
#synopsis {
display: none;
}
.no-frame #synopsis {
display: block;
position: fixed;
right: 0;
height: 80%;
top: 10%;
padding: 0;
max-width: 75%;
/* Ensure that synopsis covers everything (including MathJAX markup) */
z-index: 1;
}
#synopsis .caption {
float: left;
width: 29px;
color: rgba(255,255,255,0);
height: 110px;
margin: 0;
font-size: 1px;
padding: 0;
}
#synopsis p.caption.collapser {
background: url(synopsis.png) no-repeat -64px -8px;
}
#synopsis p.caption.expander {
background: url(synopsis.png) no-repeat 0px -8px;
}
#synopsis ul {
height: 100%;
overflow: auto;
padding: 0.5em;
margin: 0;
}
#synopsis ul ul {
overflow: hidden;
}
#synopsis ul,
#synopsis ul li.src {
background-color: #faf9dc;
white-space: nowrap;
list-style: none;
margin-left: 0;
}
/* @end */
/* @group Main Content */
#interface div.top { margin: 2em 0; }
#interface h1 + div.top,
#interface h2 + div.top,
#interface h3 + div.top,
#interface h4 + div.top,
#interface h5 + div.top {
margin-top: 1em;
}
#interface .src .selflink,
#interface .src .link {
float: right;
color: #919191;
background: #f0f0f0;
padding: 0 0.5em 0.2em;
margin: 0 -0.5em 0 0;
}
#interface .src .selflink {
border-left: 1px solid #919191;
margin: 0 -0.5em 0 0.5em;
}
#interface span.fixity {
color: #919191;
border-left: 1px solid #919191;
padding: 0.2em 0.5em 0.2em 0.5em;
margin: 0 -1em 0 1em;
}
#interface span.rightedge {
border-left: 1px solid #919191;
padding: 0.2em 0 0.2em 0;
margin: 0 0 0 1em;
}
#interface table { border-spacing: 2px; }
#interface td {
vertical-align: top;
padding-left: 0.5em;
}
#interface td.src {
white-space: nowrap;
}
#interface td.doc p {
margin: 0;
}
#interface td.doc p + p {
margin-top: 0.8em;
}
.clearfix:after {
clear: both;
content: " ";
display: block;
height: 0;
visibility: hidden;
}
.subs ul {
list-style: none;
display: table;
margin: 0;
}
.subs ul li {
display: table-row;
}
.subs ul li dfn {
display: table-cell;
font-style: normal;
font-weight: bold;
margin: 1px 0;
white-space: nowrap;
}
.subs ul li > .doc {
display: table-cell;
padding-left: 0.5em;
margin-bottom: 0.5em;
}
.subs ul li > .doc p {
margin: 0;
}
/* Render short-style data instances */
.inst ul {
height: 100%;
padding: 0.5em;
margin: 0;
}
.inst, .inst li {
list-style: none;
margin-left: 1em;
}
/* Workaround for bug in Firefox (issue #384) */
.inst-left {
float: left;
}
.top p.src {
border-top: 1px solid #ccc;
}
.subs, .doc {
/* use this selector for one level of indent */
padding-left: 2em;
}
.warning {
color: red;
}
.arguments {
margin-top: -0.4em;
}
.arguments .caption {
display: none;
}
.fields { padding-left: 1em; }
.fields .caption { display: none; }
.fields p { margin: 0 0; }
/* this seems bulky to me
.methods, .constructors {
background: #f8f8f8;
border: 1px solid #eee;
}
*/
/* @end */
/* @group Auxillary Pages */
.extension-list {
list-style-type: none;
margin-left: 0;
}
#mini {
margin: 0 auto;
padding: 0 1em 1em;
}
#mini > * {
font-size: 93%; /* 12pt */
}
#mini #module-list .caption,
#mini #module-header .caption {
font-size: 125%; /* 15pt */
}
#mini #interface h1,
#mini #interface h2,
#mini #interface h3,
#mini #interface h4 {
font-size: 109%; /* 13pt */
margin: 1em 0 0;
}
#mini #interface .top,
#mini #interface .src {
margin: 0;
}
#mini #module-list ul {
list-style: none;
margin: 0;
}
#alphabet ul {
list-style: none;
padding: 0;
margin: 0.5em 0 0;
text-align: center;
}
#alphabet li {
display: inline;
margin: 0 0.25em;
}
#alphabet a {
font-weight: bold;
}
#index .caption,
#module-list .caption { font-size: 131%; /* 17pt */ }
#index table {
margin-left: 2em;
}
#index .src {
font-weight: bold;
}
#index .alt {
font-size: 77%; /* 10pt */
font-style: italic;
padding-left: 2em;
}
#index td + td {
padding-left: 1em;
}
#module-list ul {
list-style: none;
margin: 0 0 0 2em;
}
#module-list li {
clear: right;
}
#module-list span.collapser,
#module-list span.expander {
background-position: 0 0.3em;
}
#module-list .package {
float: right;
}
/* @end */

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 B

View File

@ -0,0 +1,51 @@
<!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-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><a name="line-2"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}</span><span>
</span><a name="line-3"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-implicit-prelude #-}</span><span>
</span><a name="line-4"></a><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Paths_swagger_petstore</span><span> </span><span class="hs-special">(</span><span>
</span><a name="line-5"></a><span> </span><a href="Paths_swagger_petstore.html#version"><span class="hs-identifier hs-var">version</span></a><span class="hs-special">,</span><span>
</span><a name="line-6"></a><span> </span><a href="Paths_swagger_petstore.html#getBinDir"><span class="hs-identifier hs-var">getBinDir</span></a><span class="hs-special">,</span><span> </span><a href="Paths_swagger_petstore.html#getLibDir"><span class="hs-identifier hs-var">getLibDir</span></a><span class="hs-special">,</span><span> </span><a href="Paths_swagger_petstore.html#getDynLibDir"><span class="hs-identifier hs-var">getDynLibDir</span></a><span class="hs-special">,</span><span> </span><a href="Paths_swagger_petstore.html#getDataDir"><span class="hs-identifier hs-var">getDataDir</span></a><span class="hs-special">,</span><span> </span><a href="Paths_swagger_petstore.html#getLibexecDir"><span class="hs-identifier hs-var">getLibexecDir</span></a><span class="hs-special">,</span><span>
</span><a name="line-7"></a><span> </span><a href="Paths_swagger_petstore.html#getDataFileName"><span class="hs-identifier hs-var">getDataFileName</span></a><span class="hs-special">,</span><span> </span><a href="Paths_swagger_petstore.html#getSysconfDir"><span class="hs-identifier hs-var">getSysconfDir</span></a><span>
</span><a name="line-8"></a><span> </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-9"></a><span>
</span><a name="line-10"></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> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Exception</span><span>
</span><a name="line-11"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Version</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Version</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-12"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">System</span><span class="hs-operator">.</span><span class="hs-identifier">Environment</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</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">Prelude</span><span>
</span><a name="line-14"></a><span>
</span><a name="line-15"></a><span class="hs-cpp">#if defined(VERSION_base)</span><span>
</span><a name="line-16"></a><span>
</span><a name="line-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-6989586621679142330"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Exception</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">IOException</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679142330"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><a href="#local-6989586621679142330"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-19"></a><span class="hs-cpp">#else</span><span>
</span><a name="line-20"></a><span class="hs-identifier">catchIO</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">Exception</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span>
</span><a name="line-21"></a><span class="hs-cpp">#endif</span><span>
</span><a name="line-22"></a><span>
</span><a name="line-23"></a><span class="hs-cpp">#else</span><span>
</span><a name="line-24"></a><span class="hs-identifier">catchIO</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">Exception</span><span class="hs-operator">.</span><span class="hs-identifier">IOException</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">a</span><span>
</span><a name="line-25"></a><span class="hs-cpp">#endif</span><span>
</span><a name="line-26"></a><a name="catchIO"><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier">catchIO</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Exception</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">catch</span><span>
</span><a name="line-27"></a><span>
</span><a name="line-28"></a><span class="hs-identifier">version</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Version</span><span>
</span><a name="line-29"></a><a name="version"><a href="Paths_swagger_petstore.html#version"><span class="hs-identifier">version</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Version</span><span> </span><span class="hs-special">[</span><span class="hs-number">0</span><span class="hs-special">,</span><span class="hs-number">1</span><span class="hs-special">,</span><span class="hs-number">0</span><span class="hs-special">,</span><span class="hs-number">0</span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><a name="line-30"></a><span class="hs-identifier">bindir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">libdir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">dynlibdir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">datadir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">libexecdir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">sysconfdir</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">FilePath</span><span>
</span><a name="line-31"></a><span>
</span><a name="line-32"></a><a name="bindir"><a href="Paths_swagger_petstore.html#bindir"><span class="hs-identifier">bindir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;/home/jon/fs/git/swagger-codegen/samples/client/petstore/haskell-http-client/.stack-work/install/x86_64-linux-nopie/lts-9.0/8.0.2/bin&quot;</span><span>
</span><a name="line-33"></a><a name="libdir"><a href="Paths_swagger_petstore.html#libdir"><span class="hs-identifier">libdir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;/home/jon/fs/git/swagger-codegen/samples/client/petstore/haskell-http-client/.stack-work/install/x86_64-linux-nopie/lts-9.0/8.0.2/lib/x86_64-linux-ghc-8.0.2/swagger-petstore-0.1.0.0-FhAGC7YzWguJAT2YJ3ggeI&quot;</span><span>
</span><a name="line-34"></a><a name="dynlibdir"><a href="Paths_swagger_petstore.html#dynlibdir"><span class="hs-identifier">dynlibdir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;/home/jon/fs/git/swagger-codegen/samples/client/petstore/haskell-http-client/.stack-work/install/x86_64-linux-nopie/lts-9.0/8.0.2/lib/x86_64-linux-ghc-8.0.2&quot;</span><span>
</span><a name="line-35"></a><a name="datadir"><a href="Paths_swagger_petstore.html#datadir"><span class="hs-identifier">datadir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;/home/jon/fs/git/swagger-codegen/samples/client/petstore/haskell-http-client/.stack-work/install/x86_64-linux-nopie/lts-9.0/8.0.2/share/x86_64-linux-ghc-8.0.2/swagger-petstore-0.1.0.0&quot;</span><span>
</span><a name="line-36"></a><a name="libexecdir"><a href="Paths_swagger_petstore.html#libexecdir"><span class="hs-identifier">libexecdir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;/home/jon/fs/git/swagger-codegen/samples/client/petstore/haskell-http-client/.stack-work/install/x86_64-linux-nopie/lts-9.0/8.0.2/libexec&quot;</span><span>
</span><a name="line-37"></a><a name="sysconfdir"><a href="Paths_swagger_petstore.html#sysconfdir"><span class="hs-identifier">sysconfdir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;/home/jon/fs/git/swagger-codegen/samples/client/petstore/haskell-http-client/.stack-work/install/x86_64-linux-nopie/lts-9.0/8.0.2/etc&quot;</span><span>
</span><a name="line-38"></a><span>
</span><a name="line-39"></a><span class="hs-identifier">getBinDir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">getLibDir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">getDynLibDir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">getDataDir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">getLibexecDir</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">getSysconfDir</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-40"></a><a name="getBinDir"><a href="Paths_swagger_petstore.html#getBinDir"><span class="hs-identifier">getBinDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">&quot;swagger_petstore_bindir&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#bindir"><span class="hs-identifier hs-var">bindir</span></a><span class="hs-special">)</span><span>
</span><a name="line-41"></a><a name="getLibDir"><a href="Paths_swagger_petstore.html#getLibDir"><span class="hs-identifier">getLibDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">&quot;swagger_petstore_libdir&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#libdir"><span class="hs-identifier hs-var">libdir</span></a><span class="hs-special">)</span><span>
</span><a name="line-42"></a><a name="getDynLibDir"><a href="Paths_swagger_petstore.html#getDynLibDir"><span class="hs-identifier">getDynLibDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">&quot;swagger_petstore_dynlibdir&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#dynlibdir"><span class="hs-identifier hs-var">dynlibdir</span></a><span class="hs-special">)</span><span>
</span><a name="line-43"></a><a name="getDataDir"><a href="Paths_swagger_petstore.html#getDataDir"><span class="hs-identifier">getDataDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">&quot;swagger_petstore_datadir&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#datadir"><span class="hs-identifier hs-var">datadir</span></a><span class="hs-special">)</span><span>
</span><a name="line-44"></a><a name="getLibexecDir"><a href="Paths_swagger_petstore.html#getLibexecDir"><span class="hs-identifier">getLibexecDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">&quot;swagger_petstore_libexecdir&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#libexecdir"><span class="hs-identifier hs-var">libexecdir</span></a><span class="hs-special">)</span><span>
</span><a name="line-45"></a><a name="getSysconfDir"><a href="Paths_swagger_petstore.html#getSysconfDir"><span class="hs-identifier">getSysconfDir</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="Paths_swagger_petstore.html#catchIO"><span class="hs-identifier hs-var">catchIO</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">getEnv</span><span> </span><span class="hs-string">&quot;swagger_petstore_sysconfdir&quot;</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="Paths_swagger_petstore.html#sysconfdir"><span class="hs-identifier hs-var">sysconfdir</span></a><span class="hs-special">)</span><span>
</span><a name="line-46"></a><span>
</span><a name="line-47"></a><span class="hs-identifier">getDataFileName</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">FilePath</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-identifier hs-type">FilePath</span><span>
</span><a name="line-48"></a><a name="getDataFileName"><a href="Paths_swagger_petstore.html#getDataFileName"><span class="hs-identifier">getDataFileName</span></a></a><span> </span><a name="local-6989586621679142656"><a href="#local-6989586621679142656"><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-6989586621679142657"><a href="#local-6989586621679142657"><span class="hs-identifier">dir</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="Paths_swagger_petstore.html#getDataDir"><span class="hs-identifier hs-var">getDataDir</span></a><span>
</span><a name="line-50"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679142657"><span class="hs-identifier hs-var">dir</span></a><span> </span><span class="hs-operator hs-var">++</span><span> </span><span class="hs-string">&quot;/&quot;</span><span> </span><span class="hs-operator hs-var">++</span><span> </span><a href="#local-6989586621679142656"><span class="hs-identifier hs-var">name</span></a><span class="hs-special">)</span><span>
</span><a name="line-51"></a></pre></body></html>

View File

@ -0,0 +1,831 @@
<!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">{-|
Module : SwaggerPetstore.API
-}</span><span>
</span><a name="line-4"></a><span>
</span><a name="line-5"></a><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
</span><a name="line-6"></a><span>
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE MultiParamTypeClasses #-}</span><span>
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</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 FlexibleInstances #-}</span><span>
</span><a name="line-11"></a><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><a name="line-12"></a><span class="hs-pragma">{-# LANGUAGE ConstraintKinds #-}</span><span>
</span><a name="line-13"></a><span class="hs-pragma">{-# LANGUAGE InstanceSigs #-}</span><span>
</span><a name="line-14"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
</span><a name="line-15"></a><span>
</span><a name="line-16"></a><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><span class="hs-keyword">where</span><span>
</span><a name="line-17"></a><span>
</span><a name="line-18"></a><span>
</span><a name="line-19"></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-20"></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-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">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-23"></a><span class="hs-keyword">import</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-special">(</span><span class="hs-identifier hs-type">Value</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">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-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">Time</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">UTCTime</span><span class="hs-special">)</span><span>
</span><a name="line-27"></a><span>
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</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 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-30"></a><span class="hs-keyword">import</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-special">(</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</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 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-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Network</span><span class="hs-operator">.</span><span class="hs-identifier">HTTP</span><span class="hs-operator">.</span><span class="hs-identifier">Media</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">ME</span><span>
</span><a name="line-37"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">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-38"></a><span>
</span><a name="line-39"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Web</span><span class="hs-operator">.</span><span class="hs-identifier">HttpApiData</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">WH</span><span>
</span><a name="line-40"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">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>
</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">CaseInsensitive</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">CI</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">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-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">Foldable</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">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">Maybe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</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">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-48"></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-49"></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-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">Text</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">TL</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">Text</span><span class="hs-operator">.</span><span class="hs-identifier">Lazy</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">TL</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">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Base</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">Alternative</span><span class="hs-special">)</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">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-54"></a><span>
</span><a name="line-55"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-56"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Function</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&amp;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-57"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Set</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Set</span><span class="hs-special">)</span><span>
</span><a name="line-58"></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-59"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Base</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;|&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-60"></a><span>
</span><a name="line-61"></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 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> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;$&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;*&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&gt;&gt;=</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Maybe</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Bool</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Char</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Double</span><span class="hs-special">,</span><span class="hs-identifier hs-type">FilePath</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Float</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Int</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Integer</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">,</span><span class="hs-identifier hs-var">undefined</span><span class="hs-special">,</span><span class="hs-identifier hs-var">mempty</span><span class="hs-special">,</span><span class="hs-identifier hs-var">maybe</span><span class="hs-special">,</span><span class="hs-identifier hs-var">pure</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Monad</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Applicative</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Functor</span><span class="hs-special">)</span><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">Prelude</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-63"></a><span>
</span><a name="line-64"></a><span class="hs-comment">-- * Operations</span><span>
</span><a name="line-65"></a><span>
</span><a name="line-66"></a><span>
</span><a name="line-67"></a><span class="hs-comment">-- ** Pet</span><span>
</span><a name="line-68"></a><span>
</span><a name="line-69"></a><span class="hs-comment">-- *** addPet</span><span>
</span><a name="line-70"></a><span>
</span><a name="line-71"></a><span class="hs-comment">-- | @POST \/pet@</span><span>
</span><a name="line-72"></a><span class="hs-comment">-- </span><span>
</span><a name="line-73"></a><span class="hs-comment">-- Add a new pet to the store</span><span>
</span><a name="line-74"></a><span class="hs-comment">-- </span><span>
</span><a name="line-75"></a><span class="hs-comment">-- </span><span>
</span><a name="line-76"></a><span class="hs-comment">-- </span><span>
</span><a name="line-77"></a><span class="hs-comment">-- AuthMethod: petstore_auth</span><span>
</span><a name="line-78"></a><span class="hs-comment">-- </span><span>
</span><a name="line-79"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-80"></a><span class="hs-comment">-- </span><span>
</span><a name="line-81"></a><span class="hs-identifier">addPet</span><span> </span><span>
</span><a name="line-82"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier hs-type">AddPet</span></a><span> </span><a href="#local-6989586621679096578"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096578"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span class="hs-special">)</span><span>
</span><a name="line-83"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096578"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-84"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-comment">-- ^ &quot;body&quot; - Pet object that needs to be added to the store</span><span>
</span><a name="line-85"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier hs-type">AddPet</span></a><span> </span><a href="#local-6989586621679096578"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096579"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-86"></a><a name="addPet"><a href="SwaggerPetstore.API.html#addPet"><span class="hs-identifier">addPet</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096580"><a href="#local-6989586621679096580"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-87"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;POST&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-88"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier hs-var">setBodyParam</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679096580"><span class="hs-identifier hs-var">body</span></a><span>
</span><a name="line-89"></a><span>
</span><a name="line-90"></a><span class="hs-keyword">data</span><span> </span><a name="AddPet"><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier">AddPet</span></a></a><span> </span><span>
</span><a name="line-91"></a><span>
</span><a name="line-92"></a><span class="hs-comment">-- | /Body Param/ &quot;body&quot; - Pet object that needs to be added to the store</span><span>
</span><a name="line-93"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier hs-type">HasBodyParam</span></a><span> </span><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier hs-type">AddPet</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span>
</span><a name="line-94"></a><span>
</span><a name="line-95"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-96"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier hs-type">AddPet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-97"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-98"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier hs-type">AddPet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-99"></a><span>
</span><a name="line-100"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-101"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier hs-type">AddPet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-102"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-103"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#AddPet"><span class="hs-identifier hs-type">AddPet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-104"></a><span>
</span><a name="line-105"></a><span>
</span><a name="line-106"></a><span class="hs-comment">-- *** deletePet</span><span>
</span><a name="line-107"></a><span>
</span><a name="line-108"></a><span class="hs-comment">-- | @DELETE \/pet\/{petId}@</span><span>
</span><a name="line-109"></a><span class="hs-comment">-- </span><span>
</span><a name="line-110"></a><span class="hs-comment">-- Deletes a pet</span><span>
</span><a name="line-111"></a><span class="hs-comment">-- </span><span>
</span><a name="line-112"></a><span class="hs-comment">-- </span><span>
</span><a name="line-113"></a><span class="hs-comment">-- </span><span>
</span><a name="line-114"></a><span class="hs-comment">-- AuthMethod: petstore_auth</span><span>
</span><a name="line-115"></a><span class="hs-comment">-- </span><span>
</span><a name="line-116"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-117"></a><span class="hs-comment">-- </span><span>
</span><a name="line-118"></a><span class="hs-identifier">deletePet</span><span> </span><span>
</span><a name="line-119"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;petId&quot; - Pet id to delete</span><span>
</span><a name="line-120"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#DeletePet"><span class="hs-identifier hs-type">DeletePet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="#local-6989586621679096577"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-121"></a><a name="deletePet"><a href="SwaggerPetstore.API.html#deletePet"><span class="hs-identifier">deletePet</span></a></a><span> </span><a name="local-6989586621679096581"><a href="#local-6989586621679096581"><span class="hs-identifier">petId</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-122"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;DELETE&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096581"><span class="hs-identifier hs-var">petId</span></a><span class="hs-special">]</span><span>
</span><a name="line-123"></a><span> </span><span>
</span><a name="line-124"></a><span>
</span><a name="line-125"></a><span class="hs-keyword">data</span><span> </span><a name="DeletePet"><a href="SwaggerPetstore.API.html#DeletePet"><span class="hs-identifier">DeletePet</span></a></a><span> </span><span>
</span><a name="line-126"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasOptionalParam"><span class="hs-identifier hs-type">HasOptionalParam</span></a><span> </span><a href="SwaggerPetstore.API.html#DeletePet"><span class="hs-identifier hs-type">DeletePet</span></a><span> </span><a href="SwaggerPetstore.API.html#ApiUnderscorekey"><span class="hs-identifier hs-type">ApiUnderscorekey</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-127"></a><span> </span><a name="local-8214565720323870210"><a href="SwaggerPetstore.API.html#applyOptionalParam"><span class="hs-identifier">applyOptionalParam</span></a></a><span> </span><a name="local-6989586621679096899"><a href="#local-6989586621679096899"><span class="hs-identifier">req</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#ApiUnderscorekey"><span class="hs-identifier hs-var">ApiUnderscorekey</span></a><span> </span><a name="local-6989586621679096900"><a href="#local-6989586621679096900"><span class="hs-identifier">xs</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-128"></a><span> </span><a href="#local-6989586621679096899"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setHeader"><span class="hs-identifier hs-var">setHeader</span></a><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.API.html#toHeader"><span class="hs-identifier hs-var">toHeader</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;api_key&quot;</span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096900"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
</span><a name="line-129"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-130"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#DeletePet"><span class="hs-identifier hs-type">DeletePet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-131"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-132"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#DeletePet"><span class="hs-identifier hs-type">DeletePet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-133"></a><span>
</span><a name="line-134"></a><span>
</span><a name="line-135"></a><span class="hs-comment">-- *** findPetsByStatus</span><span>
</span><a name="line-136"></a><span>
</span><a name="line-137"></a><span class="hs-comment">-- | @GET \/pet\/findByStatus@</span><span>
</span><a name="line-138"></a><span class="hs-comment">-- </span><span>
</span><a name="line-139"></a><span class="hs-comment">-- Finds Pets by status</span><span>
</span><a name="line-140"></a><span class="hs-comment">-- </span><span>
</span><a name="line-141"></a><span class="hs-comment">-- Multiple status values can be provided with comma separated strings</span><span>
</span><a name="line-142"></a><span class="hs-comment">-- </span><span>
</span><a name="line-143"></a><span class="hs-comment">-- AuthMethod: petstore_auth</span><span>
</span><a name="line-144"></a><span class="hs-comment">-- </span><span>
</span><a name="line-145"></a><span class="hs-identifier">findPetsByStatus</span><span> </span><span>
</span><a name="line-146"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ &quot;status&quot; - Status values that need to be considered for filter</span><span>
</span><a name="line-147"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#FindPetsByStatus"><span class="hs-identifier hs-type">FindPetsByStatus</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span class="hs-special">]</span><span>
</span><a name="line-148"></a><a name="findPetsByStatus"><a href="SwaggerPetstore.API.html#findPetsByStatus"><span class="hs-identifier">findPetsByStatus</span></a></a><span> </span><a name="local-6989586621679096582"><a href="#local-6989586621679096582"><span class="hs-identifier">status</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-149"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet/findByStatus&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-150"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_setQuery"><span class="hs-identifier hs-var">_setQuery</span></a><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.API.html#toQueryColl"><span class="hs-identifier hs-var">toQueryColl</span></a><span> </span><a href="SwaggerPetstore.API.html#CommaSeparated"><span class="hs-identifier hs-var">CommaSeparated</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;status&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679096582"><span class="hs-identifier hs-var">status</span></a><span class="hs-special">)</span><span>
</span><a name="line-151"></a><span>
</span><a name="line-152"></a><span class="hs-keyword">data</span><span> </span><a name="FindPetsByStatus"><a href="SwaggerPetstore.API.html#FindPetsByStatus"><span class="hs-identifier">FindPetsByStatus</span></a></a><span> </span><span>
</span><a name="line-153"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-154"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#FindPetsByStatus"><span class="hs-identifier hs-type">FindPetsByStatus</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-155"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-156"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#FindPetsByStatus"><span class="hs-identifier hs-type">FindPetsByStatus</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-157"></a><span>
</span><a name="line-158"></a><span>
</span><a name="line-159"></a><span class="hs-comment">-- *** findPetsByTags</span><span>
</span><a name="line-160"></a><span>
</span><a name="line-161"></a><span class="hs-comment">-- | @GET \/pet\/findByTags@</span><span>
</span><a name="line-162"></a><span class="hs-comment">-- </span><span>
</span><a name="line-163"></a><span class="hs-comment">-- Finds Pets by tags</span><span>
</span><a name="line-164"></a><span class="hs-comment">-- </span><span>
</span><a name="line-165"></a><span class="hs-comment">-- Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.</span><span>
</span><a name="line-166"></a><span class="hs-comment">-- </span><span>
</span><a name="line-167"></a><span class="hs-comment">-- AuthMethod: petstore_auth</span><span>
</span><a name="line-168"></a><span class="hs-comment">-- </span><span>
</span><a name="line-169"></a><span class="hs-identifier">findPetsByTags</span><span> </span><span>
</span><a name="line-170"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ &quot;tags&quot; - Tags to filter by</span><span>
</span><a name="line-171"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#FindPetsByTags"><span class="hs-identifier hs-type">FindPetsByTags</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span class="hs-special">]</span><span>
</span><a name="line-172"></a><a name="findPetsByTags"><a href="SwaggerPetstore.API.html#findPetsByTags"><span class="hs-identifier">findPetsByTags</span></a></a><span> </span><a name="local-6989586621679096583"><a href="#local-6989586621679096583"><span class="hs-identifier">tags</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-173"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet/findByTags&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-174"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_setQuery"><span class="hs-identifier hs-var">_setQuery</span></a><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.API.html#toQueryColl"><span class="hs-identifier hs-var">toQueryColl</span></a><span> </span><a href="SwaggerPetstore.API.html#CommaSeparated"><span class="hs-identifier hs-var">CommaSeparated</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;tags&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679096583"><span class="hs-identifier hs-var">tags</span></a><span class="hs-special">)</span><span>
</span><a name="line-175"></a><span>
</span><a name="line-176"></a><span class="hs-pragma">{-# DEPRECATED findPetsByTags &quot;&quot; #-}</span><span>
</span><a name="line-177"></a><span>
</span><a name="line-178"></a><span class="hs-keyword">data</span><span> </span><a name="FindPetsByTags"><a href="SwaggerPetstore.API.html#FindPetsByTags"><span class="hs-identifier">FindPetsByTags</span></a></a><span> </span><span>
</span><a name="line-179"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-180"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#FindPetsByTags"><span class="hs-identifier hs-type">FindPetsByTags</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-181"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-182"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#FindPetsByTags"><span class="hs-identifier hs-type">FindPetsByTags</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-183"></a><span>
</span><a name="line-184"></a><span>
</span><a name="line-185"></a><span class="hs-comment">-- *** getPetById</span><span>
</span><a name="line-186"></a><span>
</span><a name="line-187"></a><span class="hs-comment">-- | @GET \/pet\/{petId}@</span><span>
</span><a name="line-188"></a><span class="hs-comment">-- </span><span>
</span><a name="line-189"></a><span class="hs-comment">-- Find pet by ID</span><span>
</span><a name="line-190"></a><span class="hs-comment">-- </span><span>
</span><a name="line-191"></a><span class="hs-comment">-- Returns a single pet</span><span>
</span><a name="line-192"></a><span class="hs-comment">-- </span><span>
</span><a name="line-193"></a><span class="hs-comment">-- AuthMethod: api_key</span><span>
</span><a name="line-194"></a><span class="hs-comment">-- </span><span>
</span><a name="line-195"></a><span class="hs-identifier">getPetById</span><span> </span><span>
</span><a name="line-196"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;petId&quot; - ID of pet to return</span><span>
</span><a name="line-197"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#GetPetById"><span class="hs-identifier hs-type">GetPetById</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span>
</span><a name="line-198"></a><a name="getPetById"><a href="SwaggerPetstore.API.html#getPetById"><span class="hs-identifier">getPetById</span></a></a><span> </span><a name="local-6989586621679096584"><a href="#local-6989586621679096584"><span class="hs-identifier">petId</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-199"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096584"><span class="hs-identifier hs-var">petId</span></a><span class="hs-special">]</span><span>
</span><a name="line-200"></a><span> </span><span>
</span><a name="line-201"></a><span>
</span><a name="line-202"></a><span class="hs-keyword">data</span><span> </span><a name="GetPetById"><a href="SwaggerPetstore.API.html#GetPetById"><span class="hs-identifier">GetPetById</span></a></a><span> </span><span>
</span><a name="line-203"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-204"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#GetPetById"><span class="hs-identifier hs-type">GetPetById</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-205"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-206"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#GetPetById"><span class="hs-identifier hs-type">GetPetById</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-207"></a><span>
</span><a name="line-208"></a><span>
</span><a name="line-209"></a><span class="hs-comment">-- *** updatePet</span><span>
</span><a name="line-210"></a><span>
</span><a name="line-211"></a><span class="hs-comment">-- | @PUT \/pet@</span><span>
</span><a name="line-212"></a><span class="hs-comment">-- </span><span>
</span><a name="line-213"></a><span class="hs-comment">-- Update an existing pet</span><span>
</span><a name="line-214"></a><span class="hs-comment">-- </span><span>
</span><a name="line-215"></a><span class="hs-comment">-- </span><span>
</span><a name="line-216"></a><span class="hs-comment">-- </span><span>
</span><a name="line-217"></a><span class="hs-comment">-- AuthMethod: petstore_auth</span><span>
</span><a name="line-218"></a><span class="hs-comment">-- </span><span>
</span><a name="line-219"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-220"></a><span class="hs-comment">-- </span><span>
</span><a name="line-221"></a><span class="hs-identifier">updatePet</span><span> </span><span>
</span><a name="line-222"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier hs-type">UpdatePet</span></a><span> </span><a href="#local-6989586621679096575"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096575"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span class="hs-special">)</span><span>
</span><a name="line-223"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096575"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-224"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-comment">-- ^ &quot;body&quot; - Pet object that needs to be added to the store</span><span>
</span><a name="line-225"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier hs-type">UpdatePet</span></a><span> </span><a href="#local-6989586621679096575"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096576"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-226"></a><a name="updatePet"><a href="SwaggerPetstore.API.html#updatePet"><span class="hs-identifier">updatePet</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096585"><a href="#local-6989586621679096585"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-227"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;PUT&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-228"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier hs-var">setBodyParam</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679096585"><span class="hs-identifier hs-var">body</span></a><span>
</span><a name="line-229"></a><span>
</span><a name="line-230"></a><span class="hs-keyword">data</span><span> </span><a name="UpdatePet"><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier">UpdatePet</span></a></a><span> </span><span>
</span><a name="line-231"></a><span>
</span><a name="line-232"></a><span class="hs-comment">-- | /Body Param/ &quot;body&quot; - Pet object that needs to be added to the store</span><span>
</span><a name="line-233"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier hs-type">HasBodyParam</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier hs-type">UpdatePet</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span>
</span><a name="line-234"></a><span>
</span><a name="line-235"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-236"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier hs-type">UpdatePet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-237"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-238"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier hs-type">UpdatePet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-239"></a><span>
</span><a name="line-240"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-241"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier hs-type">UpdatePet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-242"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-243"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePet"><span class="hs-identifier hs-type">UpdatePet</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-244"></a><span>
</span><a name="line-245"></a><span>
</span><a name="line-246"></a><span class="hs-comment">-- *** updatePetWithForm</span><span>
</span><a name="line-247"></a><span>
</span><a name="line-248"></a><span class="hs-comment">-- | @POST \/pet\/{petId}@</span><span>
</span><a name="line-249"></a><span class="hs-comment">-- </span><span>
</span><a name="line-250"></a><span class="hs-comment">-- Updates a pet in the store with form data</span><span>
</span><a name="line-251"></a><span class="hs-comment">-- </span><span>
</span><a name="line-252"></a><span class="hs-comment">-- </span><span>
</span><a name="line-253"></a><span class="hs-comment">-- </span><span>
</span><a name="line-254"></a><span class="hs-comment">-- AuthMethod: petstore_auth</span><span>
</span><a name="line-255"></a><span class="hs-comment">-- </span><span>
</span><a name="line-256"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-257"></a><span class="hs-comment">-- </span><span>
</span><a name="line-258"></a><span class="hs-identifier">updatePetWithForm</span><span> </span><span>
</span><a name="line-259"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier hs-type">UpdatePetWithForm</span></a><span> </span><a href="#local-6989586621679096573"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-260"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096573"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-261"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;petId&quot; - ID of pet that needs to be updated</span><span>
</span><a name="line-262"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier hs-type">UpdatePetWithForm</span></a><span> </span><a href="#local-6989586621679096573"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096574"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-263"></a><a name="updatePetWithForm"><a href="SwaggerPetstore.API.html#updatePetWithForm"><span class="hs-identifier">updatePetWithForm</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096586"><a href="#local-6989586621679096586"><span class="hs-identifier">petId</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-264"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;POST&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096586"><span class="hs-identifier hs-var">petId</span></a><span class="hs-special">]</span><span>
</span><a name="line-265"></a><span> </span><span>
</span><a name="line-266"></a><span>
</span><a name="line-267"></a><span class="hs-keyword">data</span><span> </span><a name="UpdatePetWithForm"><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier">UpdatePetWithForm</span></a></a><span> </span><span>
</span><a name="line-268"></a><span>
</span><a name="line-269"></a><span class="hs-comment">-- | /Optional Param/ &quot;name&quot; - Updated name of the pet</span><span>
</span><a name="line-270"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasOptionalParam"><span class="hs-identifier hs-type">HasOptionalParam</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier hs-type">UpdatePetWithForm</span></a><span> </span><a href="SwaggerPetstore.API.html#Name"><span class="hs-identifier hs-type">Name</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-271"></a><span> </span><a name="local-8214565720323870210"><a href="SwaggerPetstore.API.html#applyOptionalParam"><span class="hs-identifier">applyOptionalParam</span></a></a><span> </span><a name="local-6989586621679096897"><a href="#local-6989586621679096897"><span class="hs-identifier">req</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#Name"><span class="hs-identifier hs-var">Name</span></a><span> </span><a name="local-6989586621679096898"><a href="#local-6989586621679096898"><span class="hs-identifier">xs</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-272"></a><span> </span><a href="#local-6989586621679096897"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_addForm"><span class="hs-identifier hs-var">_addForm</span></a><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.API.html#toForm"><span class="hs-identifier hs-var">toForm</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;name&quot;</span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096898"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
</span><a name="line-273"></a><span>
</span><a name="line-274"></a><span class="hs-comment">-- | /Optional Param/ &quot;status&quot; - Updated status of the pet</span><span>
</span><a name="line-275"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasOptionalParam"><span class="hs-identifier hs-type">HasOptionalParam</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier hs-type">UpdatePetWithForm</span></a><span> </span><a href="SwaggerPetstore.API.html#Status"><span class="hs-identifier hs-type">Status</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-276"></a><span> </span><a name="local-8214565720323870210"><a href="SwaggerPetstore.API.html#applyOptionalParam"><span class="hs-identifier">applyOptionalParam</span></a></a><span> </span><a name="local-6989586621679096895"><a href="#local-6989586621679096895"><span class="hs-identifier">req</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#Status"><span class="hs-identifier hs-var">Status</span></a><span> </span><a name="local-6989586621679096896"><a href="#local-6989586621679096896"><span class="hs-identifier">xs</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-277"></a><span> </span><a href="#local-6989586621679096895"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_addForm"><span class="hs-identifier hs-var">_addForm</span></a><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.API.html#toForm"><span class="hs-identifier hs-var">toForm</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;status&quot;</span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096896"><span class="hs-identifier hs-var">xs</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">-- | @application/x-www-form-urlencoded@</span><span>
</span><a name="line-280"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier hs-type">UpdatePetWithForm</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span>
</span><a name="line-281"></a><span>
</span><a name="line-282"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-283"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier hs-type">UpdatePetWithForm</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-284"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-285"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdatePetWithForm"><span class="hs-identifier hs-type">UpdatePetWithForm</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-286"></a><span>
</span><a name="line-287"></a><span>
</span><a name="line-288"></a><span class="hs-comment">-- *** uploadFile</span><span>
</span><a name="line-289"></a><span>
</span><a name="line-290"></a><span class="hs-comment">-- | @POST \/pet\/{petId}\/uploadImage@</span><span>
</span><a name="line-291"></a><span class="hs-comment">-- </span><span>
</span><a name="line-292"></a><span class="hs-comment">-- uploads an image</span><span>
</span><a name="line-293"></a><span class="hs-comment">-- </span><span>
</span><a name="line-294"></a><span class="hs-comment">-- </span><span>
</span><a name="line-295"></a><span class="hs-comment">-- </span><span>
</span><a name="line-296"></a><span class="hs-comment">-- AuthMethod: petstore_auth</span><span>
</span><a name="line-297"></a><span class="hs-comment">-- </span><span>
</span><a name="line-298"></a><span class="hs-identifier">uploadFile</span><span> </span><span>
</span><a name="line-299"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UploadFile"><span class="hs-identifier hs-type">UploadFile</span></a><span> </span><a href="#local-6989586621679096572"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-300"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096572"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-301"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;petId&quot; - ID of pet to update</span><span>
</span><a name="line-302"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#UploadFile"><span class="hs-identifier hs-type">UploadFile</span></a><span> </span><a href="#local-6989586621679096572"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-type">ApiResponse</span></a><span>
</span><a name="line-303"></a><a name="uploadFile"><a href="SwaggerPetstore.API.html#uploadFile"><span class="hs-identifier">uploadFile</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096587"><a href="#local-6989586621679096587"><span class="hs-identifier">petId</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-304"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;POST&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/pet/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096587"><span class="hs-identifier hs-var">petId</span></a><span class="hs-special">,</span><span class="hs-string">&quot;/uploadImage&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-305"></a><span> </span><span>
</span><a name="line-306"></a><span>
</span><a name="line-307"></a><span class="hs-keyword">data</span><span> </span><a name="UploadFile"><a href="SwaggerPetstore.API.html#UploadFile"><span class="hs-identifier">UploadFile</span></a></a><span> </span><span>
</span><a name="line-308"></a><span>
</span><a name="line-309"></a><span class="hs-comment">-- | /Optional Param/ &quot;additionalMetadata&quot; - Additional data to pass to server</span><span>
</span><a name="line-310"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasOptionalParam"><span class="hs-identifier hs-type">HasOptionalParam</span></a><span> </span><a href="SwaggerPetstore.API.html#UploadFile"><span class="hs-identifier hs-type">UploadFile</span></a><span> </span><a href="SwaggerPetstore.API.html#AdditionalMetadata"><span class="hs-identifier hs-type">AdditionalMetadata</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-311"></a><span> </span><a name="local-8214565720323870210"><a href="SwaggerPetstore.API.html#applyOptionalParam"><span class="hs-identifier">applyOptionalParam</span></a></a><span> </span><a name="local-6989586621679096893"><a href="#local-6989586621679096893"><span class="hs-identifier">req</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#AdditionalMetadata"><span class="hs-identifier hs-var">AdditionalMetadata</span></a><span> </span><a name="local-6989586621679096894"><a href="#local-6989586621679096894"><span class="hs-identifier">xs</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-312"></a><span> </span><a href="#local-6989586621679096893"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_addMultiFormPart"><span class="hs-identifier hs-var">_addMultiFormPart</span></a><span class="hs-special">`</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">partLBS</span><span> </span><span class="hs-string">&quot;additionalMetadata&quot;</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#mimeRender%27"><span class="hs-identifier hs-var">mimeRender'</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-var">MimeMultipartFormData</span></a><span> </span><a href="#local-6989586621679096894"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
</span><a name="line-313"></a><span>
</span><a name="line-314"></a><span class="hs-comment">-- | /Optional Param/ &quot;file&quot; - file to upload</span><span>
</span><a name="line-315"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasOptionalParam"><span class="hs-identifier hs-type">HasOptionalParam</span></a><span> </span><a href="SwaggerPetstore.API.html#UploadFile"><span class="hs-identifier hs-type">UploadFile</span></a><span> </span><a href="SwaggerPetstore.API.html#File"><span class="hs-identifier hs-type">File</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-316"></a><span> </span><a name="local-8214565720323870210"><a href="SwaggerPetstore.API.html#applyOptionalParam"><span class="hs-identifier">applyOptionalParam</span></a></a><span> </span><a name="local-6989586621679096891"><a href="#local-6989586621679096891"><span class="hs-identifier">req</span></a></a><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#File"><span class="hs-identifier hs-var">File</span></a><span> </span><a name="local-6989586621679096892"><a href="#local-6989586621679096892"><span class="hs-identifier">xs</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-317"></a><span> </span><a href="#local-6989586621679096891"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_addMultiFormPart"><span class="hs-identifier hs-var">_addMultiFormPart</span></a><span class="hs-special">`</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">partFileSource</span><span> </span><span class="hs-string">&quot;file&quot;</span><span> </span><a href="#local-6989586621679096892"><span class="hs-identifier hs-var">xs</span></a><span>
</span><a name="line-318"></a><span>
</span><a name="line-319"></a><span class="hs-comment">-- | @multipart/form-data@</span><span>
</span><a name="line-320"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UploadFile"><span class="hs-identifier hs-type">UploadFile</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span>
</span><a name="line-321"></a><span>
</span><a name="line-322"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-323"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#UploadFile"><span class="hs-identifier hs-type">UploadFile</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-324"></a><span>
</span><a name="line-325"></a><span>
</span><a name="line-326"></a><span class="hs-comment">-- ** Store</span><span>
</span><a name="line-327"></a><span>
</span><a name="line-328"></a><span class="hs-comment">-- *** deleteOrder</span><span>
</span><a name="line-329"></a><span>
</span><a name="line-330"></a><span class="hs-comment">-- | @DELETE \/store\/order\/{orderId}@</span><span>
</span><a name="line-331"></a><span class="hs-comment">-- </span><span>
</span><a name="line-332"></a><span class="hs-comment">-- Delete purchase order by ID</span><span>
</span><a name="line-333"></a><span class="hs-comment">-- </span><span>
</span><a name="line-334"></a><span class="hs-comment">-- For valid response try integer IDs with value &lt; 1000. Anything above 1000 or nonintegers will generate API errors</span><span>
</span><a name="line-335"></a><span class="hs-comment">-- </span><span>
</span><a name="line-336"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-337"></a><span class="hs-comment">-- </span><span>
</span><a name="line-338"></a><span class="hs-identifier">deleteOrder</span><span> </span><span>
</span><a name="line-339"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ &quot;orderId&quot; - ID of the order that needs to be deleted</span><span>
</span><a name="line-340"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#DeleteOrder"><span class="hs-identifier hs-type">DeleteOrder</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="#local-6989586621679096571"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-341"></a><a name="deleteOrder"><a href="SwaggerPetstore.API.html#deleteOrder"><span class="hs-identifier">deleteOrder</span></a></a><span> </span><a name="local-6989586621679096588"><a href="#local-6989586621679096588"><span class="hs-identifier">orderId</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-342"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;DELETE&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/store/order/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096588"><span class="hs-identifier hs-var">orderId</span></a><span class="hs-special">]</span><span>
</span><a name="line-343"></a><span> </span><span>
</span><a name="line-344"></a><span>
</span><a name="line-345"></a><span class="hs-keyword">data</span><span> </span><a name="DeleteOrder"><a href="SwaggerPetstore.API.html#DeleteOrder"><span class="hs-identifier">DeleteOrder</span></a></a><span> </span><span>
</span><a name="line-346"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-347"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#DeleteOrder"><span class="hs-identifier hs-type">DeleteOrder</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-348"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-349"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#DeleteOrder"><span class="hs-identifier hs-type">DeleteOrder</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-350"></a><span>
</span><a name="line-351"></a><span>
</span><a name="line-352"></a><span class="hs-comment">-- *** getInventory</span><span>
</span><a name="line-353"></a><span>
</span><a name="line-354"></a><span class="hs-comment">-- | @GET \/store\/inventory@</span><span>
</span><a name="line-355"></a><span class="hs-comment">-- </span><span>
</span><a name="line-356"></a><span class="hs-comment">-- Returns pet inventories by status</span><span>
</span><a name="line-357"></a><span class="hs-comment">-- </span><span>
</span><a name="line-358"></a><span class="hs-comment">-- Returns a map of status codes to quantities</span><span>
</span><a name="line-359"></a><span class="hs-comment">-- </span><span>
</span><a name="line-360"></a><span class="hs-comment">-- AuthMethod: api_key</span><span>
</span><a name="line-361"></a><span class="hs-comment">-- </span><span>
</span><a name="line-362"></a><span class="hs-identifier">getInventory</span><span> </span><span>
</span><a name="line-363"></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="SwaggerPetstore.API.html#GetInventory"><span class="hs-identifier hs-type">GetInventory</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Map</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Map</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-identifier hs-type">Int</span><span class="hs-special">)</span><span>
</span><a name="line-364"></a><a name="getInventory"><a href="SwaggerPetstore.API.html#getInventory"><span class="hs-identifier">getInventory</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-365"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/store/inventory&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-366"></a><span>
</span><a name="line-367"></a><span class="hs-keyword">data</span><span> </span><a name="GetInventory"><a href="SwaggerPetstore.API.html#GetInventory"><span class="hs-identifier">GetInventory</span></a></a><span> </span><span>
</span><a name="line-368"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-369"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#GetInventory"><span class="hs-identifier hs-type">GetInventory</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-370"></a><span>
</span><a name="line-371"></a><span>
</span><a name="line-372"></a><span class="hs-comment">-- *** getOrderById</span><span>
</span><a name="line-373"></a><span>
</span><a name="line-374"></a><span class="hs-comment">-- | @GET \/store\/order\/{orderId}@</span><span>
</span><a name="line-375"></a><span class="hs-comment">-- </span><span>
</span><a name="line-376"></a><span class="hs-comment">-- Find purchase order by ID</span><span>
</span><a name="line-377"></a><span class="hs-comment">-- </span><span>
</span><a name="line-378"></a><span class="hs-comment">-- For valid response try integer IDs with value &lt;= 5 or &gt; 10. Other values will generated exceptions</span><span>
</span><a name="line-379"></a><span class="hs-comment">-- </span><span>
</span><a name="line-380"></a><span class="hs-identifier">getOrderById</span><span> </span><span>
</span><a name="line-381"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;orderId&quot; - ID of pet that needs to be fetched</span><span>
</span><a name="line-382"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#GetOrderById"><span class="hs-identifier hs-type">GetOrderById</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span>
</span><a name="line-383"></a><a name="getOrderById"><a href="SwaggerPetstore.API.html#getOrderById"><span class="hs-identifier">getOrderById</span></a></a><span> </span><a name="local-6989586621679096589"><a href="#local-6989586621679096589"><span class="hs-identifier">orderId</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-384"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/store/order/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096589"><span class="hs-identifier hs-var">orderId</span></a><span class="hs-special">]</span><span>
</span><a name="line-385"></a><span> </span><span>
</span><a name="line-386"></a><span>
</span><a name="line-387"></a><span class="hs-keyword">data</span><span> </span><a name="GetOrderById"><a href="SwaggerPetstore.API.html#GetOrderById"><span class="hs-identifier">GetOrderById</span></a></a><span> </span><span>
</span><a name="line-388"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-389"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#GetOrderById"><span class="hs-identifier hs-type">GetOrderById</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-390"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-391"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#GetOrderById"><span class="hs-identifier hs-type">GetOrderById</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-392"></a><span>
</span><a name="line-393"></a><span>
</span><a name="line-394"></a><span class="hs-comment">-- *** placeOrder</span><span>
</span><a name="line-395"></a><span>
</span><a name="line-396"></a><span class="hs-comment">-- | @POST \/store\/order@</span><span>
</span><a name="line-397"></a><span class="hs-comment">-- </span><span>
</span><a name="line-398"></a><span class="hs-comment">-- Place an order for a pet</span><span>
</span><a name="line-399"></a><span class="hs-comment">-- </span><span>
</span><a name="line-400"></a><span class="hs-comment">-- </span><span>
</span><a name="line-401"></a><span class="hs-comment">-- </span><span>
</span><a name="line-402"></a><span class="hs-identifier">placeOrder</span><span> </span><span>
</span><a name="line-403"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#PlaceOrder"><span class="hs-identifier hs-type">PlaceOrder</span></a><span> </span><a href="#local-6989586621679096090"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096090"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span class="hs-special">)</span><span>
</span><a name="line-404"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096090"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-405"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-comment">-- ^ &quot;body&quot; - order placed for purchasing the pet</span><span>
</span><a name="line-406"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#PlaceOrder"><span class="hs-identifier hs-type">PlaceOrder</span></a><span> </span><a href="#local-6989586621679096090"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span>
</span><a name="line-407"></a><a name="placeOrder"><a href="SwaggerPetstore.API.html#placeOrder"><span class="hs-identifier">placeOrder</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096590"><a href="#local-6989586621679096590"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-408"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;POST&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/store/order&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-409"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier hs-var">setBodyParam</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679096590"><span class="hs-identifier hs-var">body</span></a><span>
</span><a name="line-410"></a><span>
</span><a name="line-411"></a><span class="hs-keyword">data</span><span> </span><a name="PlaceOrder"><a href="SwaggerPetstore.API.html#PlaceOrder"><span class="hs-identifier">PlaceOrder</span></a></a><span> </span><span>
</span><a name="line-412"></a><span>
</span><a name="line-413"></a><span class="hs-comment">-- | /Body Param/ &quot;body&quot; - order placed for purchasing the pet</span><span>
</span><a name="line-414"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier hs-type">HasBodyParam</span></a><span> </span><a href="SwaggerPetstore.API.html#PlaceOrder"><span class="hs-identifier hs-type">PlaceOrder</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span>
</span><a name="line-415"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-416"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#PlaceOrder"><span class="hs-identifier hs-type">PlaceOrder</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-417"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-418"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#PlaceOrder"><span class="hs-identifier hs-type">PlaceOrder</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-419"></a><span>
</span><a name="line-420"></a><span>
</span><a name="line-421"></a><span class="hs-comment">-- ** User</span><span>
</span><a name="line-422"></a><span>
</span><a name="line-423"></a><span class="hs-comment">-- *** createUser</span><span>
</span><a name="line-424"></a><span>
</span><a name="line-425"></a><span class="hs-comment">-- | @POST \/user@</span><span>
</span><a name="line-426"></a><span class="hs-comment">-- </span><span>
</span><a name="line-427"></a><span class="hs-comment">-- Create user</span><span>
</span><a name="line-428"></a><span class="hs-comment">-- </span><span>
</span><a name="line-429"></a><span class="hs-comment">-- This can only be done by the logged in user.</span><span>
</span><a name="line-430"></a><span class="hs-comment">-- </span><span>
</span><a name="line-431"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-432"></a><span class="hs-comment">-- </span><span>
</span><a name="line-433"></a><span class="hs-identifier">createUser</span><span> </span><span>
</span><a name="line-434"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUser"><span class="hs-identifier hs-type">CreateUser</span></a><span> </span><a href="#local-6989586621679096088"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096088"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">)</span><span>
</span><a name="line-435"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096088"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-436"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-comment">-- ^ &quot;body&quot; - Created user object</span><span>
</span><a name="line-437"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUser"><span class="hs-identifier hs-type">CreateUser</span></a><span> </span><a href="#local-6989586621679096088"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096089"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-438"></a><a name="createUser"><a href="SwaggerPetstore.API.html#createUser"><span class="hs-identifier">createUser</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096591"><a href="#local-6989586621679096591"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-439"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;POST&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-440"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier hs-var">setBodyParam</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679096591"><span class="hs-identifier hs-var">body</span></a><span>
</span><a name="line-441"></a><span>
</span><a name="line-442"></a><span class="hs-keyword">data</span><span> </span><a name="CreateUser"><a href="SwaggerPetstore.API.html#CreateUser"><span class="hs-identifier">CreateUser</span></a></a><span> </span><span>
</span><a name="line-443"></a><span>
</span><a name="line-444"></a><span class="hs-comment">-- | /Body Param/ &quot;body&quot; - Created user object</span><span>
</span><a name="line-445"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier hs-type">HasBodyParam</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUser"><span class="hs-identifier hs-type">CreateUser</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span>
</span><a name="line-446"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-447"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUser"><span class="hs-identifier hs-type">CreateUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-448"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-449"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUser"><span class="hs-identifier hs-type">CreateUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-450"></a><span>
</span><a name="line-451"></a><span>
</span><a name="line-452"></a><span class="hs-comment">-- *** createUsersWithArrayInput</span><span>
</span><a name="line-453"></a><span>
</span><a name="line-454"></a><span class="hs-comment">-- | @POST \/user\/createWithArray@</span><span>
</span><a name="line-455"></a><span class="hs-comment">-- </span><span>
</span><a name="line-456"></a><span class="hs-comment">-- Creates list of users with given input array</span><span>
</span><a name="line-457"></a><span class="hs-comment">-- </span><span>
</span><a name="line-458"></a><span class="hs-comment">-- </span><span>
</span><a name="line-459"></a><span class="hs-comment">-- </span><span>
</span><a name="line-460"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-461"></a><span class="hs-comment">-- </span><span>
</span><a name="line-462"></a><span class="hs-identifier">createUsersWithArrayInput</span><span> </span><span>
</span><a name="line-463"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithArrayInput"><span class="hs-identifier hs-type">CreateUsersWithArrayInput</span></a><span> </span><a href="#local-6989586621679096086"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096086"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><a name="line-464"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096086"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-465"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ &quot;body&quot; - List of user object</span><span>
</span><a name="line-466"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithArrayInput"><span class="hs-identifier hs-type">CreateUsersWithArrayInput</span></a><span> </span><a href="#local-6989586621679096086"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096087"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-467"></a><a name="createUsersWithArrayInput"><a href="SwaggerPetstore.API.html#createUsersWithArrayInput"><span class="hs-identifier">createUsersWithArrayInput</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096592"><a href="#local-6989586621679096592"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-468"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;POST&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user/createWithArray&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-469"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier hs-var">setBodyParam</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679096592"><span class="hs-identifier hs-var">body</span></a><span>
</span><a name="line-470"></a><span>
</span><a name="line-471"></a><span class="hs-keyword">data</span><span> </span><a name="CreateUsersWithArrayInput"><a href="SwaggerPetstore.API.html#CreateUsersWithArrayInput"><span class="hs-identifier">CreateUsersWithArrayInput</span></a></a><span> </span><span>
</span><a name="line-472"></a><span>
</span><a name="line-473"></a><span class="hs-comment">-- | /Body Param/ &quot;body&quot; - List of user object</span><span>
</span><a name="line-474"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier hs-type">HasBodyParam</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithArrayInput"><span class="hs-identifier hs-type">CreateUsersWithArrayInput</span></a><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">]</span><span> </span><span>
</span><a name="line-475"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-476"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithArrayInput"><span class="hs-identifier hs-type">CreateUsersWithArrayInput</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-477"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-478"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithArrayInput"><span class="hs-identifier hs-type">CreateUsersWithArrayInput</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-479"></a><span>
</span><a name="line-480"></a><span>
</span><a name="line-481"></a><span class="hs-comment">-- *** createUsersWithListInput</span><span>
</span><a name="line-482"></a><span>
</span><a name="line-483"></a><span class="hs-comment">-- | @POST \/user\/createWithList@</span><span>
</span><a name="line-484"></a><span class="hs-comment">-- </span><span>
</span><a name="line-485"></a><span class="hs-comment">-- Creates list of users with given input array</span><span>
</span><a name="line-486"></a><span class="hs-comment">-- </span><span>
</span><a name="line-487"></a><span class="hs-comment">-- </span><span>
</span><a name="line-488"></a><span class="hs-comment">-- </span><span>
</span><a name="line-489"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-490"></a><span class="hs-comment">-- </span><span>
</span><a name="line-491"></a><span class="hs-identifier">createUsersWithListInput</span><span> </span><span>
</span><a name="line-492"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithListInput"><span class="hs-identifier hs-type">CreateUsersWithListInput</span></a><span> </span><a href="#local-6989586621679096084"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096084"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><a name="line-493"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096084"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-494"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ &quot;body&quot; - List of user object</span><span>
</span><a name="line-495"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithListInput"><span class="hs-identifier hs-type">CreateUsersWithListInput</span></a><span> </span><a href="#local-6989586621679096084"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096085"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-496"></a><a name="createUsersWithListInput"><a href="SwaggerPetstore.API.html#createUsersWithListInput"><span class="hs-identifier">createUsersWithListInput</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096593"><a href="#local-6989586621679096593"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-497"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;POST&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user/createWithList&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-498"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier hs-var">setBodyParam</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679096593"><span class="hs-identifier hs-var">body</span></a><span>
</span><a name="line-499"></a><span>
</span><a name="line-500"></a><span class="hs-keyword">data</span><span> </span><a name="CreateUsersWithListInput"><a href="SwaggerPetstore.API.html#CreateUsersWithListInput"><span class="hs-identifier">CreateUsersWithListInput</span></a></a><span> </span><span>
</span><a name="line-501"></a><span>
</span><a name="line-502"></a><span class="hs-comment">-- | /Body Param/ &quot;body&quot; - List of user object</span><span>
</span><a name="line-503"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier hs-type">HasBodyParam</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithListInput"><span class="hs-identifier hs-type">CreateUsersWithListInput</span></a><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">]</span><span> </span><span>
</span><a name="line-504"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-505"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithListInput"><span class="hs-identifier hs-type">CreateUsersWithListInput</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-506"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-507"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#CreateUsersWithListInput"><span class="hs-identifier hs-type">CreateUsersWithListInput</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-508"></a><span>
</span><a name="line-509"></a><span>
</span><a name="line-510"></a><span class="hs-comment">-- *** deleteUser</span><span>
</span><a name="line-511"></a><span>
</span><a name="line-512"></a><span class="hs-comment">-- | @DELETE \/user\/{username}@</span><span>
</span><a name="line-513"></a><span class="hs-comment">-- </span><span>
</span><a name="line-514"></a><span class="hs-comment">-- Delete user</span><span>
</span><a name="line-515"></a><span class="hs-comment">-- </span><span>
</span><a name="line-516"></a><span class="hs-comment">-- This can only be done by the logged in user.</span><span>
</span><a name="line-517"></a><span class="hs-comment">-- </span><span>
</span><a name="line-518"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-519"></a><span class="hs-comment">-- </span><span>
</span><a name="line-520"></a><span class="hs-identifier">deleteUser</span><span> </span><span>
</span><a name="line-521"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ &quot;username&quot; - The name that needs to be deleted</span><span>
</span><a name="line-522"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#DeleteUser"><span class="hs-identifier hs-type">DeleteUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="#local-6989586621679096083"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-523"></a><a name="deleteUser"><a href="SwaggerPetstore.API.html#deleteUser"><span class="hs-identifier">deleteUser</span></a></a><span> </span><a name="local-6989586621679096594"><a href="#local-6989586621679096594"><span class="hs-identifier">username</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-524"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;DELETE&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096594"><span class="hs-identifier hs-var">username</span></a><span class="hs-special">]</span><span>
</span><a name="line-525"></a><span> </span><span>
</span><a name="line-526"></a><span>
</span><a name="line-527"></a><span class="hs-keyword">data</span><span> </span><a name="DeleteUser"><a href="SwaggerPetstore.API.html#DeleteUser"><span class="hs-identifier">DeleteUser</span></a></a><span> </span><span>
</span><a name="line-528"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-529"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#DeleteUser"><span class="hs-identifier hs-type">DeleteUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-530"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-531"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#DeleteUser"><span class="hs-identifier hs-type">DeleteUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-532"></a><span>
</span><a name="line-533"></a><span>
</span><a name="line-534"></a><span class="hs-comment">-- *** getUserByName</span><span>
</span><a name="line-535"></a><span>
</span><a name="line-536"></a><span class="hs-comment">-- | @GET \/user\/{username}@</span><span>
</span><a name="line-537"></a><span class="hs-comment">-- </span><span>
</span><a name="line-538"></a><span class="hs-comment">-- Get user by user name</span><span>
</span><a name="line-539"></a><span class="hs-comment">-- </span><span>
</span><a name="line-540"></a><span class="hs-comment">-- </span><span>
</span><a name="line-541"></a><span class="hs-comment">-- </span><span>
</span><a name="line-542"></a><span class="hs-identifier">getUserByName</span><span> </span><span>
</span><a name="line-543"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ &quot;username&quot; - The name that needs to be fetched. Use user1 for testing. </span><span>
</span><a name="line-544"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#GetUserByName"><span class="hs-identifier hs-type">GetUserByName</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span>
</span><a name="line-545"></a><a name="getUserByName"><a href="SwaggerPetstore.API.html#getUserByName"><span class="hs-identifier">getUserByName</span></a></a><span> </span><a name="local-6989586621679096595"><a href="#local-6989586621679096595"><span class="hs-identifier">username</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-546"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096595"><span class="hs-identifier hs-var">username</span></a><span class="hs-special">]</span><span>
</span><a name="line-547"></a><span> </span><span>
</span><a name="line-548"></a><span>
</span><a name="line-549"></a><span class="hs-keyword">data</span><span> </span><a name="GetUserByName"><a href="SwaggerPetstore.API.html#GetUserByName"><span class="hs-identifier">GetUserByName</span></a></a><span> </span><span>
</span><a name="line-550"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-551"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#GetUserByName"><span class="hs-identifier hs-type">GetUserByName</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-552"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-553"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#GetUserByName"><span class="hs-identifier hs-type">GetUserByName</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-554"></a><span>
</span><a name="line-555"></a><span>
</span><a name="line-556"></a><span class="hs-comment">-- *** loginUser</span><span>
</span><a name="line-557"></a><span>
</span><a name="line-558"></a><span class="hs-comment">-- | @GET \/user\/login@</span><span>
</span><a name="line-559"></a><span class="hs-comment">-- </span><span>
</span><a name="line-560"></a><span class="hs-comment">-- Logs user into the system</span><span>
</span><a name="line-561"></a><span class="hs-comment">-- </span><span>
</span><a name="line-562"></a><span class="hs-comment">-- </span><span>
</span><a name="line-563"></a><span class="hs-comment">-- </span><span>
</span><a name="line-564"></a><span class="hs-identifier">loginUser</span><span> </span><span>
</span><a name="line-565"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ &quot;username&quot; - The user name for login</span><span>
</span><a name="line-566"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ &quot;password&quot; - The password for login in clear text</span><span>
</span><a name="line-567"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#LoginUser"><span class="hs-identifier hs-type">LoginUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-568"></a><a name="loginUser"><a href="SwaggerPetstore.API.html#loginUser"><span class="hs-identifier">loginUser</span></a></a><span> </span><a name="local-6989586621679096596"><a href="#local-6989586621679096596"><span class="hs-identifier">username</span></a></a><span> </span><a name="local-6989586621679096597"><a href="#local-6989586621679096597"><span class="hs-identifier">password</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-569"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user/login&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-570"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_setQuery"><span class="hs-identifier hs-var">_setQuery</span></a><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.API.html#toQuery"><span class="hs-identifier hs-var">toQuery</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;username&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679096596"><span class="hs-identifier hs-var">username</span></a><span class="hs-special">)</span><span>
</span><a name="line-571"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_setQuery"><span class="hs-identifier hs-var">_setQuery</span></a><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.API.html#toQuery"><span class="hs-identifier hs-var">toQuery</span></a><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;password&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679096597"><span class="hs-identifier hs-var">password</span></a><span class="hs-special">)</span><span>
</span><a name="line-572"></a><span>
</span><a name="line-573"></a><span class="hs-keyword">data</span><span> </span><a name="LoginUser"><a href="SwaggerPetstore.API.html#LoginUser"><span class="hs-identifier">LoginUser</span></a></a><span> </span><span>
</span><a name="line-574"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-575"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#LoginUser"><span class="hs-identifier hs-type">LoginUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-576"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-577"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#LoginUser"><span class="hs-identifier hs-type">LoginUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-578"></a><span>
</span><a name="line-579"></a><span>
</span><a name="line-580"></a><span class="hs-comment">-- *** logoutUser</span><span>
</span><a name="line-581"></a><span>
</span><a name="line-582"></a><span class="hs-comment">-- | @GET \/user\/logout@</span><span>
</span><a name="line-583"></a><span class="hs-comment">-- </span><span>
</span><a name="line-584"></a><span class="hs-comment">-- Logs out current logged in user session</span><span>
</span><a name="line-585"></a><span class="hs-comment">-- </span><span>
</span><a name="line-586"></a><span class="hs-comment">-- </span><span>
</span><a name="line-587"></a><span class="hs-comment">-- </span><span>
</span><a name="line-588"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-589"></a><span class="hs-comment">-- </span><span>
</span><a name="line-590"></a><span class="hs-identifier">logoutUser</span><span> </span><span>
</span><a name="line-591"></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="SwaggerPetstore.API.html#LogoutUser"><span class="hs-identifier hs-type">LogoutUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeNoContent"><span class="hs-identifier hs-type">MimeNoContent</span></a><span> </span><a href="#local-6989586621679096082"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-592"></a><a name="logoutUser"><a href="SwaggerPetstore.API.html#logoutUser"><span class="hs-identifier">logoutUser</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-593"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;GET&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user/logout&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-594"></a><span>
</span><a name="line-595"></a><span class="hs-keyword">data</span><span> </span><a name="LogoutUser"><a href="SwaggerPetstore.API.html#LogoutUser"><span class="hs-identifier">LogoutUser</span></a></a><span> </span><span>
</span><a name="line-596"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-597"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#LogoutUser"><span class="hs-identifier hs-type">LogoutUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-598"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-599"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#LogoutUser"><span class="hs-identifier hs-type">LogoutUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-600"></a><span>
</span><a name="line-601"></a><span>
</span><a name="line-602"></a><span class="hs-comment">-- *** updateUser</span><span>
</span><a name="line-603"></a><span>
</span><a name="line-604"></a><span class="hs-comment">-- | @PUT \/user\/{username}@</span><span>
</span><a name="line-605"></a><span class="hs-comment">-- </span><span>
</span><a name="line-606"></a><span class="hs-comment">-- Updated user</span><span>
</span><a name="line-607"></a><span class="hs-comment">-- </span><span>
</span><a name="line-608"></a><span class="hs-comment">-- This can only be done by the logged in user.</span><span>
</span><a name="line-609"></a><span class="hs-comment">-- </span><span>
</span><a name="line-610"></a><span class="hs-comment">-- Note: Has 'Produces' instances, but no response schema</span><span>
</span><a name="line-611"></a><span class="hs-comment">-- </span><span>
</span><a name="line-612"></a><span class="hs-identifier">updateUser</span><span> </span><span>
</span><a name="line-613"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdateUser"><span class="hs-identifier hs-type">UpdateUser</span></a><span> </span><a href="#local-6989586621679096080"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096080"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span class="hs-special">)</span><span>
</span><a name="line-614"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096080"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-comment">-- ^ request content-type ('MimeType')</span><span>
</span><a name="line-615"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ &quot;username&quot; - name that need to be deleted</span><span>
</span><a name="line-616"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-comment">-- ^ &quot;body&quot; - Updated user object</span><span>
</span><a name="line-617"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdateUser"><span class="hs-identifier hs-type">UpdateUser</span></a><span> </span><a href="#local-6989586621679096080"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096081"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-618"></a><a name="updateUser"><a href="SwaggerPetstore.API.html#updateUser"><span class="hs-identifier">updateUser</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679096598"><a href="#local-6989586621679096598"><span class="hs-identifier">username</span></a></a><span> </span><a name="local-6989586621679096599"><a href="#local-6989586621679096599"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-619"></a><span> </span><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier hs-var">_mkRequest</span></a><span> </span><span class="hs-string">&quot;PUT&quot;</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;/user/&quot;</span><span class="hs-special">,</span><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier hs-var">toPath</span></a><span> </span><a href="#local-6989586621679096598"><span class="hs-identifier hs-var">username</span></a><span class="hs-special">]</span><span>
</span><a name="line-620"></a><span> </span><span>
</span><a name="line-621"></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier hs-var">setBodyParam</span></a><span class="hs-special">`</span><span> </span><a href="#local-6989586621679096599"><span class="hs-identifier hs-var">body</span></a><span>
</span><a name="line-622"></a><span>
</span><a name="line-623"></a><span class="hs-keyword">data</span><span> </span><a name="UpdateUser"><a href="SwaggerPetstore.API.html#UpdateUser"><span class="hs-identifier">UpdateUser</span></a></a><span> </span><span>
</span><a name="line-624"></a><span>
</span><a name="line-625"></a><span class="hs-comment">-- | /Body Param/ &quot;body&quot; - Updated user object</span><span>
</span><a name="line-626"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier hs-type">HasBodyParam</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdateUser"><span class="hs-identifier hs-type">UpdateUser</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span>
</span><a name="line-627"></a><span class="hs-comment">-- | @application/xml@</span><span>
</span><a name="line-628"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdateUser"><span class="hs-identifier hs-type">UpdateUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span>
</span><a name="line-629"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-630"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier hs-type">Produces</span></a><span> </span><a href="SwaggerPetstore.API.html#UpdateUser"><span class="hs-identifier hs-type">UpdateUser</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span>
</span><a name="line-631"></a><span>
</span><a name="line-632"></a><span>
</span><a name="line-633"></a><span>
</span><a name="line-634"></a><span class="hs-comment">-- * HasBodyParam</span><span>
</span><a name="line-635"></a><span>
</span><a name="line-636"></a><span class="hs-comment">-- | Designates the body parameter of a request</span><span>
</span><a name="line-637"></a><span class="hs-keyword">class</span><span> </span><a name="HasBodyParam"><a href="SwaggerPetstore.API.html#HasBodyParam"><span class="hs-identifier">HasBodyParam</span></a></a><span> </span><a name="local-6989586621679096024"><a href="#local-6989586621679096024"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096025"><a href="#local-6989586621679096025"><span class="hs-identifier">param</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-638"></a><span> </span><span class="hs-identifier">setBodyParam</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096026"><a href="#local-6989586621679096026"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679096027"><a href="#local-6989586621679096027"><span class="hs-identifier">res</span></a></a><span class="hs-operator">.</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier hs-type">Consumes</span></a><span> </span><a href="#local-6989586621679096024"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096026"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">,</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="#local-6989586621679096026"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096025"><span class="hs-identifier hs-type">param</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096024"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096026"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096027"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096025"><span class="hs-identifier hs-type">param</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096024"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096026"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096027"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-639"></a><span> </span><a name="local-8214565720323870213"><a href="SwaggerPetstore.API.html#setBodyParam"><span class="hs-identifier">setBodyParam</span></a></a><span> </span><a name="local-6989586621679096028"><a href="#local-6989586621679096028"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096029"><a href="#local-6989586621679096029"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-640"></a><span> </span><a href="#local-6989586621679096028"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#_setBodyLBS"><span class="hs-identifier hs-var">_setBodyLBS</span></a><span class="hs-special">`</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-6989586621679096026"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679096029"><span class="hs-identifier hs-var">xs</span></a><span> </span><span class="hs-operator hs-var">&amp;</span><span> </span><a href="SwaggerPetstore.API.html#_setContentTypeHeader"><span class="hs-identifier hs-var">_setContentTypeHeader</span></a><span>
</span><a name="line-641"></a><span>
</span><a name="line-642"></a><span class="hs-comment">-- * HasOptionalParam</span><span>
</span><a name="line-643"></a><span>
</span><a name="line-644"></a><span class="hs-comment">-- | Designates the optional parameters of a request</span><span>
</span><a name="line-645"></a><span class="hs-keyword">class</span><span> </span><a name="HasOptionalParam"><a href="SwaggerPetstore.API.html#HasOptionalParam"><span class="hs-identifier">HasOptionalParam</span></a></a><span> </span><a name="local-6989586621679096018"><a href="#local-6989586621679096018"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096019"><a href="#local-6989586621679096019"><span class="hs-identifier">param</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-646"></a><span> </span><span class="hs-pragma">{-# MINIMAL applyOptionalParam | (-&amp;-) #-}</span><span>
</span><a name="line-647"></a><span>
</span><a name="line-648"></a><span> </span><span class="hs-comment">-- | Apply an optional parameter to a request</span><span>
</span><a name="line-649"></a><span> </span><span class="hs-identifier">applyOptionalParam</span><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-6989586621679096018"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096020"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096021"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096019"><span class="hs-identifier hs-type">param</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096018"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096020"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096021"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-650"></a><span> </span><a name="local-8214565720323870210"><a href="SwaggerPetstore.API.html#applyOptionalParam"><span class="hs-identifier">applyOptionalParam</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#-%26-"><span class="hs-operator hs-var">-&amp;-</span></a><span class="hs-special">)</span><span>
</span><a name="line-651"></a><span> </span><span class="hs-pragma">{-# INLINE applyOptionalParam #-}</span><span>
</span><a name="line-652"></a><span>
</span><a name="line-653"></a><span> </span><span class="hs-comment">-- | infix operator \/ alias for 'addOptionalParam'</span><span>
</span><a name="line-654"></a><span> </span><span class="hs-special">(</span><span class="hs-operator">-&amp;-</span><span class="hs-special">)</span><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-6989586621679096018"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096022"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096023"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096019"><span class="hs-identifier hs-type">param</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096018"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096022"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096023"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-655"></a><span> </span><span class="hs-special">(</span><a name="local-8214565720323870211"><a href="SwaggerPetstore.API.html#-%26-"><span class="hs-operator">-&amp;-</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#applyOptionalParam"><span class="hs-identifier hs-var">applyOptionalParam</span></a><span>
</span><a name="line-656"></a><span> </span><span class="hs-pragma">{-# INLINE (-&amp;-) #-}</span><span>
</span><a name="line-657"></a><span>
</span><a name="line-658"></a><span class="hs-keyword">infixl</span><span> </span><span class="hs-number">2</span><span> </span><span class="hs-operator">-&amp;-</span><span>
</span><a name="line-659"></a><span> </span><span>
</span><a name="line-660"></a><span class="hs-comment">-- * Optional Request Parameter Types</span><span>
</span><a name="line-661"></a><span>
</span><a name="line-662"></a><span>
</span><a name="line-663"></a><span class="hs-keyword">newtype</span><span> </span><a name="ApiUnderscorekey"><a href="SwaggerPetstore.API.html#ApiUnderscorekey"><span class="hs-identifier">ApiUnderscorekey</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="ApiUnderscorekey"><a href="SwaggerPetstore.API.html#ApiUnderscorekey"><span class="hs-identifier">ApiUnderscorekey</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="unApiUnderscorekey"><a href="SwaggerPetstore.API.html#unApiUnderscorekey"><span class="hs-identifier">unApiUnderscorekey</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-special">}</span><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">Eq</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">Show</span><span class="hs-special">)</span><span>
</span><a name="line-664"></a><span>
</span><a name="line-665"></a><span class="hs-keyword">newtype</span><span> </span><a name="Name"><a href="SwaggerPetstore.API.html#Name"><span class="hs-identifier">Name</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="Name"><a href="SwaggerPetstore.API.html#Name"><span class="hs-identifier">Name</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="unName"><a href="SwaggerPetstore.API.html#unName"><span class="hs-identifier">unName</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-special">}</span><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">Eq</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">Show</span><span class="hs-special">)</span><span>
</span><a name="line-666"></a><span>
</span><a name="line-667"></a><span class="hs-keyword">newtype</span><span> </span><a name="Status"><a href="SwaggerPetstore.API.html#Status"><span class="hs-identifier">Status</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="Status"><a href="SwaggerPetstore.API.html#Status"><span class="hs-identifier">Status</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="unStatus"><a href="SwaggerPetstore.API.html#unStatus"><span class="hs-identifier">unStatus</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-special">}</span><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">Eq</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">Show</span><span class="hs-special">)</span><span>
</span><a name="line-668"></a><span>
</span><a name="line-669"></a><span class="hs-keyword">newtype</span><span> </span><a name="AdditionalMetadata"><a href="SwaggerPetstore.API.html#AdditionalMetadata"><span class="hs-identifier">AdditionalMetadata</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="AdditionalMetadata"><a href="SwaggerPetstore.API.html#AdditionalMetadata"><span class="hs-identifier">AdditionalMetadata</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="unAdditionalMetadata"><a href="SwaggerPetstore.API.html#unAdditionalMetadata"><span class="hs-identifier">unAdditionalMetadata</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-special">}</span><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">Eq</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">Show</span><span class="hs-special">)</span><span>
</span><a name="line-670"></a><span>
</span><a name="line-671"></a><span class="hs-keyword">newtype</span><span> </span><a name="File"><a href="SwaggerPetstore.API.html#File"><span class="hs-identifier">File</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="File"><a href="SwaggerPetstore.API.html#File"><span class="hs-identifier">File</span></a></a><span> </span><span class="hs-special">{</span><span> </span><a name="unFile"><a href="SwaggerPetstore.API.html#unFile"><span class="hs-identifier">unFile</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">FilePath</span><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">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Eq</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">Show</span><span class="hs-special">)</span><span>
</span><a name="line-672"></a><span>
</span><a name="line-673"></a><span>
</span><a name="line-674"></a><span class="hs-comment">-- * SwaggerPetstoreRequest</span><span>
</span><a name="line-675"></a><span>
</span><a name="line-676"></a><span class="hs-comment">-- | Represents a request. The &quot;req&quot; type variable is the request type. The &quot;res&quot; type variable is the response type.</span><span>
</span><a name="line-677"></a><span class="hs-keyword">data</span><span> </span><a name="SwaggerPetstoreRequest"><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier">SwaggerPetstoreRequest</span></a></a><span> </span><a name="local-6989586621679095659"><a href="#local-6989586621679095659"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679095660"><a href="#local-6989586621679095660"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679095661"><a href="#local-6989586621679095661"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="SwaggerPetstoreRequest"><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier">SwaggerPetstoreRequest</span></a></a><span>
</span><a name="line-678"></a><span> </span><span class="hs-special">{</span><span> </span><a name="rMethod"><a href="SwaggerPetstore.API.html#rMethod"><span class="hs-identifier">rMethod</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">Method</span><span> </span><span class="hs-comment">-- ^ Method of SwaggerPetstoreRequest</span><span>
</span><a name="line-679"></a><span> </span><span class="hs-special">,</span><span> </span><a name="urlPath"><a href="SwaggerPetstore.API.html#urlPath"><span class="hs-identifier">urlPath</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</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">-- ^ Endpoint of SwaggerPetstoreRequest</span><span>
</span><a name="line-680"></a><span> </span><span class="hs-special">,</span><span> </span><a name="params"><a href="SwaggerPetstore.API.html#params"><span class="hs-identifier">params</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.API.html#Params"><span class="hs-identifier hs-type">Params</span></a><span> </span><span class="hs-comment">-- ^ params of SwaggerPetstoreRequest</span><span>
</span><a name="line-681"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-682"></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><a name="line-683"></a><span>
</span><a name="line-684"></a><span class="hs-comment">-- | Request Params</span><span>
</span><a name="line-685"></a><span class="hs-keyword">data</span><span> </span><a name="Params"><a href="SwaggerPetstore.API.html#Params"><span class="hs-identifier">Params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="Params"><a href="SwaggerPetstore.API.html#Params"><span class="hs-identifier">Params</span></a></a><span>
</span><a name="line-686"></a><span> </span><span class="hs-special">{</span><span> </span><a name="paramsQuery"><a href="SwaggerPetstore.API.html#paramsQuery"><span class="hs-identifier">paramsQuery</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">Query</span><span>
</span><a name="line-687"></a><span> </span><span class="hs-special">,</span><span> </span><a name="paramsHeaders"><a href="SwaggerPetstore.API.html#paramsHeaders"><span class="hs-identifier">paramsHeaders</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">RequestHeaders</span><span>
</span><a name="line-688"></a><span> </span><span class="hs-special">,</span><span> </span><a name="paramsBody"><a href="SwaggerPetstore.API.html#paramsBody"><span class="hs-identifier">paramsBody</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.API.html#ParamBody"><span class="hs-identifier hs-type">ParamBody</span></a><span>
</span><a name="line-689"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-690"></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><a name="line-691"></a><span>
</span><a name="line-692"></a><span class="hs-comment">-- | Request Body</span><span>
</span><a name="line-693"></a><span class="hs-keyword">data</span><span> </span><a name="ParamBody"><a href="SwaggerPetstore.API.html#ParamBody"><span class="hs-identifier">ParamBody</span></a></a><span>
</span><a name="line-694"></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="ParamBodyNone"><a href="SwaggerPetstore.API.html#ParamBodyNone"><span class="hs-identifier">ParamBodyNone</span></a></a><span>
</span><a name="line-695"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="ParamBodyB"><a href="SwaggerPetstore.API.html#ParamBodyB"><span class="hs-identifier">ParamBodyB</span></a></a><span> </span><span class="hs-identifier hs-type">B</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-696"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="ParamBodyBL"><a href="SwaggerPetstore.API.html#ParamBodyBL"><span class="hs-identifier">ParamBodyBL</span></a></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><a name="line-697"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="ParamBodyFormUrlEncoded"><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier">ParamBodyFormUrlEncoded</span></a></a><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Form</span><span>
</span><a name="line-698"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="ParamBodyMultipartFormData"><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier">ParamBodyMultipartFormData</span></a></a><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">Part</span><span class="hs-special">]</span><span>
</span><a name="line-699"></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><a name="line-700"></a><span>
</span><a name="line-701"></a><span class="hs-comment">-- ** SwaggerPetstoreRequest Utils</span><span>
</span><a name="line-702"></a><span>
</span><a name="line-703"></a><span class="hs-identifier">_mkRequest</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">Method</span><span> </span><span class="hs-comment">-- ^ Method </span><span>
</span><a name="line-704"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</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">-- ^ Endpoint</span><span>
</span><a name="line-705"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096077"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096078"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096079"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ req: Request Type, res: Response Type</span><span>
</span><a name="line-706"></a><a name="_mkRequest"><a href="SwaggerPetstore.API.html#_mkRequest"><span class="hs-identifier">_mkRequest</span></a></a><span> </span><a name="local-6989586621679096600"><a href="#local-6989586621679096600"><span class="hs-identifier">m</span></a></a><span> </span><a name="local-6989586621679096601"><a href="#local-6989586621679096601"><span class="hs-identifier">u</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-var">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096600"><span class="hs-identifier hs-var">m</span></a><span> </span><a href="#local-6989586621679096601"><span class="hs-identifier hs-var">u</span></a><span> </span><a href="SwaggerPetstore.API.html#_mkParams"><span class="hs-identifier hs-var">_mkParams</span></a><span>
</span><a name="line-707"></a><span>
</span><a name="line-708"></a><span class="hs-identifier">_mkParams</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.API.html#Params"><span class="hs-identifier hs-type">Params</span></a><span>
</span><a name="line-709"></a><a name="_mkParams"><a href="SwaggerPetstore.API.html#_mkParams"><span class="hs-identifier">_mkParams</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#Params"><span class="hs-identifier hs-var">Params</span></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><a href="SwaggerPetstore.API.html#ParamBodyNone"><span class="hs-identifier hs-var">ParamBodyNone</span></a><span>
</span><a name="line-710"></a><span>
</span><a name="line-711"></a><span class="hs-identifier">setHeader</span><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-6989586621679096074"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096075"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096076"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Header</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096074"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096075"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096076"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-712"></a><a name="setHeader"><a href="SwaggerPetstore.API.html#setHeader"><span class="hs-identifier">setHeader</span></a></a><span> </span><a name="local-6989586621679096602"><a href="#local-6989586621679096602"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096603"><a href="#local-6989586621679096603"><span class="hs-identifier">header</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-713"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679096604"><a href="#local-6989586621679096604"><span class="hs-identifier">_params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096602"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#removeHeader"><span class="hs-identifier hs-var">removeHeader</span></a><span class="hs-special">`</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fst</span><span> </span><a href="#local-6989586621679096603"><span class="hs-identifier hs-var">header</span></a><span class="hs-special">)</span><span>
</span><a name="line-714"></a><span> </span><span class="hs-keyword">in</span><span> </span><a href="#local-6989586621679096602"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096604"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096603"><span class="hs-identifier hs-var">header</span></a><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.++</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><a href="#local-6989586621679096604"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><a name="line-715"></a><span>
</span><a name="line-716"></a><span class="hs-identifier">removeHeader</span><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-6989586621679096071"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096072"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096073"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">HeaderName</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096071"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096072"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096073"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-717"></a><a name="removeHeader"><a href="SwaggerPetstore.API.html#removeHeader"><span class="hs-identifier">removeHeader</span></a></a><span> </span><a name="local-6989586621679096616"><a href="#local-6989586621679096616"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096617"><a href="#local-6989586621679096617"><span class="hs-identifier">header</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-718"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679096825"><a href="#local-6989586621679096825"><span class="hs-identifier">_params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">params</span><span> </span><a href="#local-6989586621679096616"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-719"></a><span> </span><span class="hs-keyword">in</span><span> </span><a href="#local-6989586621679096616"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096825"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679096826"><span class="hs-identifier hs-var">h</span></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="local-6989586621679096826"><a href="#local-6989586621679096826"><span class="hs-identifier">h</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier">paramsHeaders</span><span> </span><a href="#local-6989586621679096825"><span class="hs-identifier hs-var">_params</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096618"><span class="hs-identifier hs-var">cifst</span></a><span> </span><a href="#local-6989586621679096826"><span class="hs-identifier hs-var">h</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">notElem</span><span class="hs-special">`</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-identifier hs-var">CI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mk</span><span> </span><a href="#local-6989586621679096617"><span class="hs-identifier hs-var">header</span></a><span class="hs-special">]</span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><a name="line-720"></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-6989586621679096618"><a href="#local-6989586621679096618"><span class="hs-identifier">cifst</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">CI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mk</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">fst</span><span>
</span><a name="line-721"></a><span>
</span><a name="line-722"></a><span>
</span><a name="line-723"></a><span class="hs-identifier">_setContentTypeHeader</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096068"><a href="#local-6989586621679096068"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096069"><a href="#local-6989586621679096069"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679096070"><a href="#local-6989586621679096070"><span class="hs-identifier">res</span></a></a><span class="hs-operator">.</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679096069"><span class="hs-identifier hs-type">contentType</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096068"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096069"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096070"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096068"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096069"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096070"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-724"></a><a name="_setContentTypeHeader"><a href="SwaggerPetstore.API.html#_setContentTypeHeader"><span class="hs-identifier">_setContentTypeHeader</span></a></a><span> </span><a name="local-6989586621679096827"><a href="#local-6989586621679096827"><span class="hs-identifier">req</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-725"></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><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-6989586621679096069"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span> </span><span>
</span><a name="line-726"></a><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679096828"><a href="#local-6989586621679096828"><span class="hs-identifier">m</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096827"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setHeader"><span class="hs-identifier hs-var">setHeader</span></a><span class="hs-special">`</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-string">&quot;content-type&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">BC</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">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><a href="#local-6989586621679096828"><span class="hs-identifier hs-var">m</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-727"></a><span> </span><span class="hs-identifier hs-var">Nothing</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096827"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#removeHeader"><span class="hs-identifier hs-var">removeHeader</span></a><span class="hs-special">`</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;content-type&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-728"></a><span>
</span><a name="line-729"></a><span class="hs-identifier">_setAcceptHeader</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679096064"><a href="#local-6989586621679096064"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096065"><a href="#local-6989586621679096065"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679096066"><a href="#local-6989586621679096066"><span class="hs-identifier">res</span></a></a><span> </span><a name="local-6989586621679096067"><a href="#local-6989586621679096067"><span class="hs-identifier">accept</span></a></a><span class="hs-operator">.</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="#local-6989586621679096067"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096064"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096065"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096066"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096067"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096064"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096065"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096066"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-730"></a><a name="_setAcceptHeader"><a href="SwaggerPetstore.API.html#_setAcceptHeader"><span class="hs-identifier">_setAcceptHeader</span></a></a><span> </span><a name="local-6989586621679096829"><a href="#local-6989586621679096829"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096830"><a href="#local-6989586621679096830"><span class="hs-identifier">accept</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-731"></a><span> </span><span class="hs-keyword">case</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#mimeType%27"><span class="hs-identifier hs-var">mimeType'</span></a><span> </span><a href="#local-6989586621679096830"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-keyword">of</span><span> </span><span>
</span><a name="line-732"></a><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679096831"><a href="#local-6989586621679096831"><span class="hs-identifier">m</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096829"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#setHeader"><span class="hs-identifier hs-var">setHeader</span></a><span class="hs-special">`</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-string">&quot;accept&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">BC</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">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">show</span><span> </span><a href="#local-6989586621679096831"><span class="hs-identifier hs-var">m</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-733"></a><span> </span><span class="hs-identifier hs-var">Nothing</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096829"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">`</span><a href="SwaggerPetstore.API.html#removeHeader"><span class="hs-identifier hs-var">removeHeader</span></a><span class="hs-special">`</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;accept&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-734"></a><span>
</span><a name="line-735"></a><span class="hs-identifier">_setQuery</span><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-6989586621679096061"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096062"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096063"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">QueryItem</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096061"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096062"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096063"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-736"></a><a name="_setQuery"><a href="SwaggerPetstore.API.html#_setQuery"><span class="hs-identifier">_setQuery</span></a></a><span> </span><a name="local-6989586621679096832"><a href="#local-6989586621679096832"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096833"><a href="#local-6989586621679096833"><span class="hs-identifier">query</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-737"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679096835"><a href="#local-6989586621679096835"><span class="hs-identifier">_params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">params</span><span> </span><a href="#local-6989586621679096832"><span class="hs-identifier hs-var">req</span></a><span> </span><span>
</span><a name="line-738"></a><span> </span><span class="hs-keyword">in</span><span> </span><a href="#local-6989586621679096832"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096835"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">paramsQuery</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096833"><span class="hs-identifier hs-var">query</span></a><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.++</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679096836"><span class="hs-identifier hs-var">q</span></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="local-6989586621679096836"><a href="#local-6989586621679096836"><span class="hs-identifier">q</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier">paramsQuery</span><span> </span><a href="#local-6989586621679096835"><span class="hs-identifier hs-var">_params</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096834"><span class="hs-identifier hs-var">cifst</span></a><span> </span><a href="#local-6989586621679096836"><span class="hs-identifier hs-var">q</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">notElem</span><span class="hs-special">`</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fmap</span><span> </span><a href="#local-6989586621679096834"><span class="hs-identifier hs-var">cifst</span></a><span> </span><a href="#local-6989586621679096833"><span class="hs-identifier hs-var">query</span></a><span class="hs-special">]</span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><a name="line-739"></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-6989586621679096834"><a href="#local-6989586621679096834"><span class="hs-identifier">cifst</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">CI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mk</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">fst</span><span>
</span><a name="line-740"></a><span>
</span><a name="line-741"></a><span class="hs-identifier">_addForm</span><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-6989586621679096058"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096059"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096060"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Form</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096058"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096059"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096060"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-742"></a><a name="_addForm"><a href="SwaggerPetstore.API.html#_addForm"><span class="hs-identifier">_addForm</span></a></a><span> </span><a name="local-6989586621679096837"><a href="#local-6989586621679096837"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096838"><a href="#local-6989586621679096838"><span class="hs-identifier">newform</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-743"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679096839"><a href="#local-6989586621679096839"><span class="hs-identifier">_params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">params</span><span> </span><a href="#local-6989586621679096837"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-744"></a><span> </span><a name="local-6989586621679096840"><a href="#local-6989586621679096840"><span class="hs-identifier">form</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><a href="#local-6989586621679096839"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-745"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier hs-var">ParamBodyFormUrlEncoded</span></a><span> </span><a name="local-6989586621679096841"><a href="#local-6989586621679096841"><span class="hs-identifier">_form</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096841"><span class="hs-identifier hs-var">_form</span></a><span>
</span><a name="line-746"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">mempty</span><span>
</span><a name="line-747"></a><span> </span><span class="hs-keyword">in</span><span> </span><a href="#local-6989586621679096837"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096839"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier hs-var">ParamBodyFormUrlEncoded</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096838"><span class="hs-identifier hs-var">newform</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679096840"><span class="hs-identifier hs-var">form</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><a name="line-748"></a><span>
</span><a name="line-749"></a><span class="hs-identifier">_addMultiFormPart</span><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-6989586621679096055"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096056"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096057"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Part</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096055"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096056"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096057"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-750"></a><a name="_addMultiFormPart"><a href="SwaggerPetstore.API.html#_addMultiFormPart"><span class="hs-identifier">_addMultiFormPart</span></a></a><span> </span><a name="local-6989586621679096842"><a href="#local-6989586621679096842"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096843"><a href="#local-6989586621679096843"><span class="hs-identifier">newpart</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-751"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679096844"><a href="#local-6989586621679096844"><span class="hs-identifier">_params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">params</span><span> </span><a href="#local-6989586621679096842"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-752"></a><span> </span><a name="local-6989586621679096845"><a href="#local-6989586621679096845"><span class="hs-identifier">parts</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><a href="#local-6989586621679096844"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-753"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier hs-var">ParamBodyMultipartFormData</span></a><span> </span><a name="local-6989586621679096846"><a href="#local-6989586621679096846"><span class="hs-identifier">_parts</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096846"><span class="hs-identifier hs-var">_parts</span></a><span>
</span><a name="line-754"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><a name="line-755"></a><span> </span><span class="hs-keyword">in</span><span> </span><a href="#local-6989586621679096842"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096844"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier hs-var">ParamBodyMultipartFormData</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096843"><span class="hs-identifier hs-var">newpart</span></a><span> </span><span class="hs-glyph">:</span><span> </span><a href="#local-6989586621679096845"><span class="hs-identifier hs-var">parts</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><a name="line-756"></a><span>
</span><a name="line-757"></a><span class="hs-identifier">_setBodyBS</span><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-6989586621679096052"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096053"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096054"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">B</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096052"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096053"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096054"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-758"></a><a name="_setBodyBS"><a href="SwaggerPetstore.API.html#_setBodyBS"><span class="hs-identifier">_setBodyBS</span></a></a><span> </span><a name="local-6989586621679096847"><a href="#local-6989586621679096847"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096848"><a href="#local-6989586621679096848"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-759"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679096849"><a href="#local-6989586621679096849"><span class="hs-identifier">_params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">params</span><span> </span><a href="#local-6989586621679096847"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-760"></a><span> </span><span class="hs-keyword">in</span><span> </span><a href="#local-6989586621679096847"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096849"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#ParamBodyB"><span class="hs-identifier hs-var">ParamBodyB</span></a><span> </span><a href="#local-6989586621679096848"><span class="hs-identifier hs-var">body</span></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><a name="line-761"></a><span>
</span><a name="line-762"></a><span class="hs-identifier">_setBodyLBS</span><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-6989586621679096049"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096050"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096051"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679096049"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679096050"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679096051"><span class="hs-identifier hs-type">res</span></a><span>
</span><a name="line-763"></a><a name="_setBodyLBS"><a href="SwaggerPetstore.API.html#_setBodyLBS"><span class="hs-identifier">_setBodyLBS</span></a></a><span> </span><a name="local-6989586621679096850"><a href="#local-6989586621679096850"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679096851"><a href="#local-6989586621679096851"><span class="hs-identifier">body</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span>
</span><a name="line-764"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679096852"><a href="#local-6989586621679096852"><span class="hs-identifier">_params</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">params</span><span> </span><a href="#local-6989586621679096850"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-765"></a><span> </span><span class="hs-keyword">in</span><span> </span><a href="#local-6989586621679096850"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">params</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096852"><span class="hs-identifier hs-var">_params</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#ParamBodyBL"><span class="hs-identifier hs-var">ParamBodyBL</span></a><span> </span><a href="#local-6989586621679096851"><span class="hs-identifier hs-var">body</span></a><span> </span><span class="hs-special">}</span><span> </span><span class="hs-special">}</span><span>
</span><a name="line-766"></a><span>
</span><a name="line-767"></a><span>
</span><a name="line-768"></a><span class="hs-comment">-- ** Params Utils</span><span>
</span><a name="line-769"></a><span>
</span><a name="line-770"></a><span class="hs-identifier">toPath</span><span>
</span><a name="line-771"></a><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-6989586621679096048"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-772"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679096048"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-773"></a><a name="toPath"><a href="SwaggerPetstore.API.html#toPath"><span class="hs-identifier">toPath</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">BB</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toLazyByteString</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">toEncodedUrlPiece</span><span>
</span><a name="line-774"></a><span>
</span><a name="line-775"></a><span class="hs-identifier">toHeader</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-6989586621679096047"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">HeaderName</span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096047"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Header</span><span class="hs-special">]</span><span>
</span><a name="line-776"></a><a name="toHeader"><a href="SwaggerPetstore.API.html#toHeader"><span class="hs-identifier">toHeader</span></a></a><span> </span><a name="local-6989586621679096853"><a href="#local-6989586621679096853"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-var">fmap</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><a href="#local-6989586621679096853"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-777"></a><span>
</span><a name="line-778"></a><span class="hs-identifier">toForm</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-6989586621679096046"><span class="hs-identifier hs-type">v</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">BC</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096046"><span class="hs-identifier hs-type">v</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Form</span><span>
</span><a name="line-779"></a><a name="toForm"><a href="SwaggerPetstore.API.html#toForm"><span class="hs-identifier">toForm</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679096854"><a href="#local-6989586621679096854"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><a name="local-6989586621679096855"><a href="#local-6989586621679096855"><span class="hs-identifier">v</span></a></a><span class="hs-special">)</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">toForm</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</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><a href="#local-6989586621679096854"><span class="hs-identifier hs-var">k</span></a><span class="hs-special">,</span><a href="#local-6989586621679096855"><span class="hs-identifier hs-var">v</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-780"></a><span>
</span><a name="line-781"></a><span class="hs-identifier">toQuery</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-6989586621679096045"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">BC</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-identifier hs-type">Maybe</span><span> </span><a href="#local-6989586621679096045"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">QueryItem</span><span class="hs-special">]</span><span>
</span><a name="line-782"></a><a name="toQuery"><a href="SwaggerPetstore.API.html#toQuery"><span class="hs-identifier">toQuery</span></a></a><span> </span><a name="local-6989586621679096856"><a href="#local-6989586621679096856"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679096857"><span class="hs-identifier hs-var">toQueryParam</span></a><span> </span><a href="#local-6989586621679096856"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-783"></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-6989586621679096857"><a href="#local-6989586621679096857"><span class="hs-identifier">toQueryParam</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">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-784"></a><span>
</span><a name="line-785"></a><span class="hs-comment">-- *** Swagger `CollectionFormat` Utils</span><span>
</span><a name="line-786"></a><span>
</span><a name="line-787"></a><span class="hs-comment">-- | Determines the format of the array if type array is used.</span><span>
</span><a name="line-788"></a><span class="hs-keyword">data</span><span> </span><a name="CollectionFormat"><a href="SwaggerPetstore.API.html#CollectionFormat"><span class="hs-identifier">CollectionFormat</span></a></a><span>
</span><a name="line-789"></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="CommaSeparated"><a href="SwaggerPetstore.API.html#CommaSeparated"><span class="hs-identifier">CommaSeparated</span></a></a><span> </span><span class="hs-comment">-- ^ CSV format for multiple parameters.</span><span>
</span><a name="line-790"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="SpaceSeparated"><a href="SwaggerPetstore.API.html#SpaceSeparated"><span class="hs-identifier">SpaceSeparated</span></a></a><span> </span><span class="hs-comment">-- ^ Also called &quot;SSV&quot;</span><span>
</span><a name="line-791"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="TabSeparated"><a href="SwaggerPetstore.API.html#TabSeparated"><span class="hs-identifier">TabSeparated</span></a></a><span> </span><span class="hs-comment">-- ^ Also called &quot;TSV&quot;</span><span>
</span><a name="line-792"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="PipeSeparated"><a href="SwaggerPetstore.API.html#PipeSeparated"><span class="hs-identifier">PipeSeparated</span></a></a><span> </span><span class="hs-comment">-- ^ `value1|value2|value2`</span><span>
</span><a name="line-793"></a><span> </span><span class="hs-glyph">|</span><span> </span><a name="MultiParamArray"><a href="SwaggerPetstore.API.html#MultiParamArray"><span class="hs-identifier">MultiParamArray</span></a></a><span> </span><span class="hs-comment">-- ^ Using multiple GET parameters, e.g. `foo=bar&amp;foo=baz`. This is valid only for parameters in &quot;query&quot; ('NH.Query') or &quot;formData&quot; ('WH.Form')</span><span>
</span><a name="line-794"></a><span>
</span><a name="line-795"></a><span class="hs-identifier">toHeaderColl</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-6989586621679096044"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#CollectionFormat"><span class="hs-identifier hs-type">CollectionFormat</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">HeaderName</span><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679096044"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Header</span><span class="hs-special">]</span><span>
</span><a name="line-796"></a><a name="toHeaderColl"><a href="SwaggerPetstore.API.html#toHeaderColl"><span class="hs-identifier">toHeaderColl</span></a></a><span> </span><a name="local-6989586621679096858"><a href="#local-6989586621679096858"><span class="hs-identifier">c</span></a></a><span> </span><a name="local-6989586621679096859"><a href="#local-6989586621679096859"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#_toColl"><span class="hs-identifier hs-var">_toColl</span></a><span> </span><a href="#local-6989586621679096858"><span class="hs-identifier hs-var">c</span></a><span> </span><a href="SwaggerPetstore.API.html#toHeader"><span class="hs-identifier hs-var">toHeader</span></a><span> </span><a href="#local-6989586621679096859"><span class="hs-identifier hs-var">xs</span></a><span>
</span><a name="line-797"></a><span>
</span><a name="line-798"></a><span class="hs-identifier">toFormColl</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-6989586621679096043"><span class="hs-identifier hs-type">v</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#CollectionFormat"><span class="hs-identifier hs-type">CollectionFormat</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">BC</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-special">[</span><a href="#local-6989586621679096043"><span class="hs-identifier hs-type">v</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">WH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Form</span><span>
</span><a name="line-799"></a><a name="toFormColl"><a href="SwaggerPetstore.API.html#toFormColl"><span class="hs-identifier">toFormColl</span></a></a><span> </span><a name="local-6989586621679096860"><a href="#local-6989586621679096860"><span class="hs-identifier">c</span></a></a><span> </span><a name="local-6989586621679096861"><a href="#local-6989586621679096861"><span class="hs-identifier">xs</span></a></a><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">toForm</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><a href="#local-6989586621679096863"><span class="hs-identifier hs-var">unpack</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="SwaggerPetstore.API.html#_toColl"><span class="hs-identifier hs-var">_toColl</span></a><span> </span><a href="#local-6989586621679096860"><span class="hs-identifier hs-var">c</span></a><span> </span><a href="SwaggerPetstore.API.html#toHeader"><span class="hs-identifier hs-var">toHeader</span></a><span> </span><span class="hs-operator hs-var">$</span><span> </span><a href="#local-6989586621679096862"><span class="hs-identifier hs-var">pack</span></a><span> </span><a href="#local-6989586621679096861"><span class="hs-identifier hs-var">xs</span></a><span>
</span><a name="line-800"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-801"></a><span> </span><a name="local-6989586621679096862"><a href="#local-6989586621679096862"><span class="hs-identifier">pack</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679096864"><a href="#local-6989586621679096864"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><a name="local-6989586621679096865"><a href="#local-6989586621679096865"><span class="hs-identifier">v</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">CI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mk</span><span> </span><a href="#local-6989586621679096864"><span class="hs-identifier hs-var">k</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096865"><span class="hs-identifier hs-var">v</span></a><span class="hs-special">)</span><span>
</span><a name="line-802"></a><span> </span><a name="local-6989586621679096863"><a href="#local-6989586621679096863"><span class="hs-identifier">unpack</span></a></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679096866"><a href="#local-6989586621679096866"><span class="hs-identifier">k</span></a></a><span class="hs-special">,</span><a name="local-6989586621679096867"><a href="#local-6989586621679096867"><span class="hs-identifier">v</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</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-special">(</span><span class="hs-identifier">CI</span><span class="hs-operator">.</span><span class="hs-identifier">original</span><span> </span><a href="#local-6989586621679096866"><span class="hs-identifier hs-var">k</span></a><span class="hs-special">)</span><span class="hs-special">,</span><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><a href="#local-6989586621679096867"><span class="hs-identifier hs-var">v</span></a><span class="hs-special">)</span><span>
</span><a name="line-803"></a><span>
</span><a name="line-804"></a><span class="hs-identifier">toQueryColl</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-6989586621679096042"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#CollectionFormat"><span class="hs-identifier hs-type">CollectionFormat</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">BC</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-identifier hs-type">Maybe</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679096042"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Query</span><span>
</span><a name="line-805"></a><a name="toQueryColl"><a href="SwaggerPetstore.API.html#toQueryColl"><span class="hs-identifier">toQueryColl</span></a></a><span> </span><a name="local-6989586621679096868"><a href="#local-6989586621679096868"><span class="hs-identifier">c</span></a></a><span> </span><a name="local-6989586621679096869"><a href="#local-6989586621679096869"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#_toCollA"><span class="hs-identifier hs-var">_toCollA</span></a><span> </span><a href="#local-6989586621679096868"><span class="hs-identifier hs-var">c</span></a><span> </span><a href="SwaggerPetstore.API.html#toQuery"><span class="hs-identifier hs-var">toQuery</span></a><span> </span><a href="#local-6989586621679096869"><span class="hs-identifier hs-var">xs</span></a><span>
</span><a name="line-806"></a><span>
</span><a name="line-807"></a><span class="hs-identifier">_toColl</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">Traversable</span><span> </span><a href="#local-6989586621679096039"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#CollectionFormat"><span class="hs-identifier hs-type">CollectionFormat</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096039"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679096040"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><a href="#local-6989586621679096041"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">BC</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096039"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-special">[</span><a href="#local-6989586621679096040"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><a href="#local-6989586621679096041"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">BC</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-808"></a><a name="_toColl"><a href="SwaggerPetstore.API.html#_toColl"><span class="hs-identifier">_toColl</span></a></a><span> </span><a name="local-6989586621679096870"><a href="#local-6989586621679096870"><span class="hs-identifier">c</span></a></a><span> </span><a name="local-6989586621679096871"><a href="#local-6989586621679096871"><span class="hs-identifier">encode</span></a></a><span> </span><a name="local-6989586621679096872"><a href="#local-6989586621679096872"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromJust</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.API.html#_toCollA%27"><span class="hs-identifier hs-var">_toCollA'</span></a><span> </span><a href="#local-6989586621679096870"><span class="hs-identifier hs-var">c</span></a><span> </span><a href="#local-6989586621679096873"><span class="hs-identifier hs-var">fencode</span></a><span> </span><span class="hs-identifier hs-var">BC</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">singleton</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679096872"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-809"></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-6989586621679096873"><a href="#local-6989586621679096873"><span class="hs-identifier">fencode</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-identifier hs-var">Just</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="#local-6989586621679096871"><span class="hs-identifier hs-var">encode</span></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">fmap</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">fromJust</span><span>
</span><a name="line-810"></a><span> </span><span class="hs-pragma">{-# INLINE fencode #-}</span><span>
</span><a name="line-811"></a><span>
</span><a name="line-812"></a><span class="hs-identifier">_toCollA</span><span> </span><span class="hs-glyph">::</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">Traversable</span><span> </span><a href="#local-6989586621679096035"><span class="hs-identifier hs-type">f</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">Traversable</span><span> </span><a href="#local-6989586621679096036"><span class="hs-identifier hs-type">t</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">Alternative</span><span> </span><a href="#local-6989586621679096036"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#CollectionFormat"><span class="hs-identifier hs-type">CollectionFormat</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096035"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096036"><span class="hs-identifier hs-type">t</span></a><span> </span><a href="#local-6989586621679096037"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><a href="#local-6989586621679096038"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096036"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-identifier hs-type">BC</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096035"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096036"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-special">[</span><a href="#local-6989586621679096037"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><a href="#local-6989586621679096038"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096036"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-identifier hs-type">BC</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-813"></a><a name="_toCollA"><a href="SwaggerPetstore.API.html#_toCollA"><span class="hs-identifier">_toCollA</span></a></a><span> </span><a name="local-6989586621679096874"><a href="#local-6989586621679096874"><span class="hs-identifier">c</span></a></a><span> </span><a name="local-6989586621679096875"><a href="#local-6989586621679096875"><span class="hs-identifier">encode</span></a></a><span> </span><a name="local-6989586621679096876"><a href="#local-6989586621679096876"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.API.html#_toCollA%27"><span class="hs-identifier hs-var">_toCollA'</span></a><span> </span><a href="#local-6989586621679096874"><span class="hs-identifier hs-var">c</span></a><span> </span><a href="#local-6989586621679096875"><span class="hs-identifier hs-var">encode</span></a><span> </span><span class="hs-identifier hs-var">BC</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">singleton</span><span> </span><a href="#local-6989586621679096876"><span class="hs-identifier hs-var">xs</span></a><span>
</span><a name="line-814"></a><span>
</span><a name="line-815"></a><span class="hs-identifier">_toCollA'</span><span> </span><span class="hs-glyph">::</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">Monoid</span><span> </span><a href="#local-6989586621679096030"><span class="hs-identifier hs-type">c</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">Traversable</span><span> </span><a href="#local-6989586621679096031"><span class="hs-identifier hs-type">f</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">Traversable</span><span> </span><a href="#local-6989586621679096032"><span class="hs-identifier hs-type">t</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">Alternative</span><span> </span><a href="#local-6989586621679096032"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.API.html#CollectionFormat"><span class="hs-identifier hs-type">CollectionFormat</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096031"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096032"><span class="hs-identifier hs-type">t</span></a><span> </span><a href="#local-6989586621679096033"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><a href="#local-6989586621679096034"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096032"><span class="hs-identifier hs-type">t</span></a><span> </span><a href="#local-6989586621679096030"><span class="hs-identifier hs-type">c</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Char</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096030"><span class="hs-identifier hs-type">c</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096031"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096032"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-special">[</span><a href="#local-6989586621679096033"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><a href="#local-6989586621679096034"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">,</span><span> </span><a href="#local-6989586621679096032"><span class="hs-identifier hs-type">t</span></a><span> </span><a href="#local-6989586621679096030"><span class="hs-identifier hs-type">c</span></a><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><a name="line-816"></a><a name="_toCollA%27"><a href="SwaggerPetstore.API.html#_toCollA%27"><span class="hs-identifier">_toCollA'</span></a></a><span> </span><a name="local-6989586621679096877"><a href="#local-6989586621679096877"><span class="hs-identifier">c</span></a></a><span> </span><a name="local-6989586621679096878"><a href="#local-6989586621679096878"><span class="hs-identifier">encode</span></a></a><span> </span><a name="local-6989586621679096879"><a href="#local-6989586621679096879"><span class="hs-identifier">one</span></a></a><span> </span><a name="local-6989586621679096880"><a href="#local-6989586621679096880"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><a href="#local-6989586621679096877"><span class="hs-identifier hs-var">c</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-817"></a><span> </span><a href="SwaggerPetstore.API.html#CommaSeparated"><span class="hs-identifier hs-var">CommaSeparated</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096881"><span class="hs-identifier hs-var">go</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096879"><span class="hs-identifier hs-var">one</span></a><span> </span><span class="hs-char">','</span><span class="hs-special">)</span><span>
</span><a name="line-818"></a><span> </span><a href="SwaggerPetstore.API.html#SpaceSeparated"><span class="hs-identifier hs-var">SpaceSeparated</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096881"><span class="hs-identifier hs-var">go</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096879"><span class="hs-identifier hs-var">one</span></a><span> </span><span class="hs-char">' '</span><span class="hs-special">)</span><span>
</span><a name="line-819"></a><span> </span><a href="SwaggerPetstore.API.html#TabSeparated"><span class="hs-identifier hs-var">TabSeparated</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096881"><span class="hs-identifier hs-var">go</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096879"><span class="hs-identifier hs-var">one</span></a><span> </span><span class="hs-char">'\t'</span><span class="hs-special">)</span><span>
</span><a name="line-820"></a><span> </span><a href="SwaggerPetstore.API.html#PipeSeparated"><span class="hs-identifier hs-var">PipeSeparated</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096881"><span class="hs-identifier hs-var">go</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096879"><span class="hs-identifier hs-var">one</span></a><span> </span><span class="hs-char">'|'</span><span class="hs-special">)</span><span>
</span><a name="line-821"></a><span> </span><a href="SwaggerPetstore.API.html#MultiParamArray"><span class="hs-identifier hs-var">MultiParamArray</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679096883"><span class="hs-identifier hs-var">expandList</span></a><span>
</span><a name="line-822"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-823"></a><span> </span><a name="local-6989586621679096881"><a href="#local-6989586621679096881"><span class="hs-identifier">go</span></a></a><span> </span><a name="local-6989586621679096884"><a href="#local-6989586621679096884"><span class="hs-identifier">sep</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-824"></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">foldl1</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679096885"><a href="#local-6989586621679096885"><span class="hs-identifier">sk</span></a></a><span class="hs-special">,</span><span> </span><a name="local-6989586621679096886"><a href="#local-6989586621679096886"><span class="hs-identifier">sv</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">_</span><span class="hs-special">,</span><span> </span><a name="local-6989586621679096887"><a href="#local-6989586621679096887"><span class="hs-identifier">v</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096885"><span class="hs-identifier hs-var">sk</span></a><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679096882"><span class="hs-identifier hs-var">combine</span></a><span> </span><a href="#local-6989586621679096884"><span class="hs-identifier hs-var">sep</span></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679096886"><span class="hs-identifier hs-var">sv</span></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><a href="#local-6989586621679096887"><span class="hs-identifier hs-var">v</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;|&gt;</span><span> </span><a href="#local-6989586621679096886"><span class="hs-identifier hs-var">sv</span></a><span> </span><span class="hs-operator hs-var">&lt;|&gt;</span><span> </span><a href="#local-6989586621679096887"><span class="hs-identifier hs-var">v</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679096883"><span class="hs-identifier hs-var">expandList</span></a><span class="hs-special">]</span><span>
</span><a name="line-825"></a><span> </span><a name="local-6989586621679096882"><a href="#local-6989586621679096882"><span class="hs-identifier">combine</span></a></a><span> </span><a name="local-6989586621679096888"><a href="#local-6989586621679096888"><span class="hs-identifier">sep</span></a></a><span> </span><a name="local-6989586621679096889"><a href="#local-6989586621679096889"><span class="hs-identifier">x</span></a></a><span> </span><a name="local-6989586621679096890"><a href="#local-6989586621679096890"><span class="hs-identifier">y</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679096889"><span class="hs-identifier hs-var">x</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679096888"><span class="hs-identifier hs-var">sep</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679096890"><span class="hs-identifier hs-var">y</span></a><span>
</span><a name="line-826"></a><span> </span><a name="local-6989586621679096883"><a href="#local-6989586621679096883"><span class="hs-identifier">expandList</span></a></a><span> </span><span class="hs-glyph">=</span><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">concatMap</span><span> </span><a href="#local-6989586621679096878"><span class="hs-identifier hs-var">encode</span></a><span> </span><span class="hs-operator hs-var">.</span><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">traverse</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">traverse</span><span class="hs-special">)</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toList</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679096880"><span class="hs-identifier hs-var">xs</span></a><span>
</span><a name="line-827"></a><span> </span><span class="hs-pragma">{-# INLINE go #-}</span><span>
</span><a name="line-828"></a><span> </span><span class="hs-pragma">{-# INLINE expandList #-}</span><span>
</span><a name="line-829"></a><span> </span><span class="hs-pragma">{-# INLINE combine #-}</span><span>
</span><a name="line-830"></a><span> </span><span>
</span><a name="line-831"></a></pre></body></html>

View File

@ -0,0 +1,318 @@
<!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">{-|
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>
</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">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">IO</span><span class="hs-operator">.</span><span class="hs-identifier">Class</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-22"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-23"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</span><span class="hs-operator">.</span><span class="hs-identifier">Types</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">A</span><span>
</span><a name="line-24"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Proxy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Proxy</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-25"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Function</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&amp;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-26"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Monoid</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-27"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Text</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">)</span><span>
</span><a name="line-28"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC</span><span class="hs-operator">.</span><span class="hs-identifier">Exts</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">IsString</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-29"></a><span class="hs-keyword">import</span><span> </span><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-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 class="hs-keyword">import</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Catch</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">MonadThrow</span><span class="hs-special">)</span><span>
</span><a name="line-32"></a><span>
</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">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Monad</span><span class="hs-operator">.</span><span class="hs-identifier">Logger</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">LG</span><span>
</span><a name="line-34"></a><span>
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Time</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</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">Map</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Map</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> </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">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-39"></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-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">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</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">Lazy</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BL</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">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</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">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-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">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-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> </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">TLS</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">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-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 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-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> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">NH</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">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-52"></a><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">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-54"></a><span class="hs-comment">-- * Config</span><span>
</span><a name="line-55"></a><span>
</span><a name="line-56"></a><span class="hs-comment">-- | </span><span>
</span><a name="line-57"></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-58"></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-59"></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-60"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configExecLoggingT"><a href="SwaggerPetstore.Client.html#configExecLoggingT"><span class="hs-identifier">configExecLoggingT</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#ExecLoggingT"><span class="hs-identifier hs-type">ExecLoggingT</span></a><span> </span><span class="hs-comment">-- ^ Run a block using a MonadLogger instance</span><span>
</span><a name="line-61"></a><span> </span><span class="hs-special">,</span><span> </span><a name="configLoggingFilter"><a href="SwaggerPetstore.Client.html#configLoggingFilter"><span class="hs-identifier">configLoggingFilter</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">LogSource</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Bool</span><span> </span><span class="hs-comment">-- ^ Only log messages passing the given predicate function.</span><span>
</span><a name="line-62"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-63"></a><span>
</span><a name="line-64"></a><span class="hs-comment">-- | display the config</span><span>
</span><a name="line-65"></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-66"></a><span> </span><a name="local-8214565720323792628"><span class="hs-identifier">show</span></a><span> </span><a name="local-6989586621679133870"><a href="#local-6989586621679133870"><span class="hs-identifier">c</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-67"></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-68"></a><span> </span><span class="hs-string">&quot;{ configHost = %v, configUserAgent = %v, ..}&quot;</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">configHost</span><span> </span><a href="#local-6989586621679133870"><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><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-6989586621679133870"><span class="hs-identifier hs-var">c</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-71"></a><span>
</span><a name="line-72"></a><span class="hs-comment">-- | constructs a default SwaggerPetstoreConfig</span><span>
</span><a name="line-73"></a><span class="hs-comment">--</span><span>
</span><a name="line-74"></a><span class="hs-comment">-- configHost:</span><span>
</span><a name="line-75"></a><span class="hs-comment">--</span><span>
</span><a name="line-76"></a><span class="hs-comment">-- @http://petstore.swagger.io/v2@</span><span>
</span><a name="line-77"></a><span class="hs-comment">--</span><span>
</span><a name="line-78"></a><span class="hs-comment">-- configUserAgent:</span><span>
</span><a name="line-79"></a><span class="hs-comment">--</span><span>
</span><a name="line-80"></a><span class="hs-comment">-- @&quot;swagger-haskell-http-client/1.0.0&quot;@</span><span>
</span><a name="line-81"></a><span class="hs-comment">--</span><span>
</span><a name="line-82"></a><span class="hs-comment">-- configExecLoggingT: 'runNullLoggingT'</span><span>
</span><a name="line-83"></a><span class="hs-comment">--</span><span>
</span><a name="line-84"></a><span class="hs-comment">-- configLoggingFilter: 'infoLevelFilter'</span><span>
</span><a name="line-85"></a><span class="hs-identifier">newConfig</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><a name="line-86"></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><a name="line-87"></a><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-var">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-88"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configHost</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;http://petstore.swagger.io/v2&quot;</span><span>
</span><a name="line-89"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configUserAgent</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;swagger-haskell-http-client/1.0.0&quot;</span><span>
</span><a name="line-90"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configExecLoggingT</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#runNullLoggingT"><span class="hs-identifier hs-var">runNullLoggingT</span></a><span>
</span><a name="line-91"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">configLoggingFilter</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#infoLevelFilter"><span class="hs-identifier hs-var">infoLevelFilter</span></a><span>
</span><a name="line-92"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-93"></a><span>
</span><a name="line-94"></a><span class="hs-comment">-- | updates the config to use a MonadLogger instance which prints to stdout.</span><span>
</span><a name="line-95"></a><span class="hs-identifier">withStdoutLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-96"></a><a name="withStdoutLogging"><a href="SwaggerPetstore.Client.html#withStdoutLogging"><span class="hs-identifier">withStdoutLogging</span></a></a><span> </span><a name="local-6989586621679133090"><a href="#local-6989586621679133090"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679133090"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configExecLoggingT</span><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">runStdoutLoggingT</span><span class="hs-special">}</span><span>
</span><a name="line-97"></a><span>
</span><a name="line-98"></a><span class="hs-comment">-- | updates the config to use a MonadLogger instance which prints to stderr.</span><span>
</span><a name="line-99"></a><span class="hs-identifier">withStderrLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-100"></a><a name="withStderrLogging"><a href="SwaggerPetstore.Client.html#withStderrLogging"><span class="hs-identifier">withStderrLogging</span></a></a><span> </span><a name="local-6989586621679133091"><a href="#local-6989586621679133091"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679133091"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configExecLoggingT</span><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">runStderrLoggingT</span><span class="hs-special">}</span><span>
</span><a name="line-101"></a><span>
</span><a name="line-102"></a><span class="hs-comment">-- | updates the config to disable logging</span><span>
</span><a name="line-103"></a><span class="hs-identifier">withNoLogging</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span>
</span><a name="line-104"></a><a name="withNoLogging"><a href="SwaggerPetstore.Client.html#withNoLogging"><span class="hs-identifier">withNoLogging</span></a></a><span> </span><a name="local-6989586621679133092"><a href="#local-6989586621679133092"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679133092"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">configExecLoggingT</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#runNullLoggingT"><span class="hs-identifier hs-var">runNullLoggingT</span></a><span class="hs-special">}</span><span>
</span><a name="line-105"></a><span>
</span><a name="line-106"></a><span class="hs-comment">-- * Dispatch</span><span>
</span><a name="line-107"></a><span>
</span><a name="line-108"></a><span class="hs-comment">-- ** Lbs</span><span>
</span><a name="line-109"></a><span>
</span><a name="line-110"></a><span class="hs-comment">-- | send a request returning the raw http response</span><span>
</span><a name="line-111"></a><span class="hs-identifier">dispatchLbs</span><span>
</span><a name="line-112"></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-6989586621679133086"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133087"><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-6989586621679133088"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-113"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-114"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-115"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679133086"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133088"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133089"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-116"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679133087"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-117"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-118"></a><a name="dispatchLbs"><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier">dispatchLbs</span></a></a><span> </span><a name="local-6989586621679133093"><a href="#local-6989586621679133093"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679133094"><a href="#local-6989586621679133094"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679133095"><a href="#local-6989586621679133095"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679133096"><a href="#local-6989586621679133096"><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-119"></a><span> </span><a name="local-6989586621679133097"><a href="#local-6989586621679133097"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679133094"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679133095"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679133096"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
</span><a name="line-120"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679133093"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679133094"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679133097"><span class="hs-identifier hs-var">initReq</span></a><span>
</span><a name="line-121"></a><span>
</span><a name="line-122"></a><span class="hs-comment">-- ** Mime</span><span>
</span><a name="line-123"></a><span>
</span><a name="line-124"></a><span class="hs-comment">-- | pair of decoded http body and http response</span><span>
</span><a name="line-125"></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-6989586621679132958"><a href="#local-6989586621679132958"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-126"></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-6989586621679132958"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ decoded http body</span><span>
</span><a name="line-127"></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-128"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-129"></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-130"></a><span>
</span><a name="line-131"></a><span class="hs-comment">-- | pair of unrender/parser error and http response</span><span>
</span><a name="line-132"></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-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-special">{</span><span>
</span><a name="line-134"></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-135"></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-136"></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-137"></a><span>
</span><a name="line-138"></a><span class="hs-comment">-- | send a request returning the 'MimeResult'</span><span>
</span><a name="line-139"></a><span class="hs-identifier">dispatchMime</span><span>
</span><a name="line-140"></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-6989586621679133082"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133083"><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-6989586621679133083"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679133084"><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-6989586621679133085"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-141"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-142"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-143"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679133082"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133085"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133084"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-144"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679133083"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-145"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-type">MimeResult</span></a><span> </span><a href="#local-6989586621679133084"><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-146"></a><a name="dispatchMime"><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier">dispatchMime</span></a></a><span> </span><a name="local-6989586621679133098"><a href="#local-6989586621679133098"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679133099"><a href="#local-6989586621679133099"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679133100"><a href="#local-6989586621679133100"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679133101"><a href="#local-6989586621679133101"><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-147"></a><span> </span><a name="local-6989586621679133102"><a href="#local-6989586621679133102"><span class="hs-identifier">httpResponse</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchLbs"><span class="hs-identifier hs-var">dispatchLbs</span></a><span> </span><a href="#local-6989586621679133098"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679133099"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679133100"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679133101"><span class="hs-identifier hs-var">accept</span></a><span>
</span><a name="line-148"></a><span> </span><a name="local-6989586621679133105"><a href="#local-6989586621679133105"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span>
</span><a name="line-149"></a><span> </span><a href="SwaggerPetstore.Client.html#runExceptionLoggingT"><span class="hs-identifier hs-var">runExceptionLoggingT</span></a><span> </span><span class="hs-string">&quot;Client&quot;</span><span> </span><a href="#local-6989586621679133099"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-150"></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-6989586621679133101"><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-6989586621679133102"><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-151"></a><span> </span><span class="hs-identifier hs-var">Left</span><span> </span><a name="local-6989586621679133103"><a href="#local-6989586621679133103"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-152"></a><span> </span><a href="SwaggerPetstore.Client.html#logNST"><span class="hs-identifier hs-var">logNST</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">LevelError</span><span> </span><span class="hs-string">&quot;Client&quot;</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><a href="#local-6989586621679133103"><span class="hs-identifier hs-var">s</span></a><span class="hs-special">)</span><span>
</span><a name="line-153"></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-6989586621679133103"><span class="hs-identifier hs-var">s</span></a><span> </span><a href="#local-6989586621679133102"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-154"></a><span> </span><span class="hs-identifier hs-var">Right</span><span> </span><a name="local-6989586621679133104"><a href="#local-6989586621679133104"><span class="hs-identifier">r</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Right</span><span> </span><a href="#local-6989586621679133104"><span class="hs-identifier hs-var">r</span></a><span class="hs-special">)</span><span>
</span><a name="line-155"></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-6989586621679133105"><span class="hs-identifier hs-var">parsedResult</span></a><span> </span><a href="#local-6989586621679133102"><span class="hs-identifier hs-var">httpResponse</span></a><span class="hs-special">)</span><span>
</span><a name="line-156"></a><span>
</span><a name="line-157"></a><span class="hs-comment">-- | like 'dispatchMime', but only returns the decoded http body</span><span>
</span><a name="line-158"></a><span class="hs-identifier">dispatchMime'</span><span>
</span><a name="line-159"></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-6989586621679133078"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133079"><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-6989586621679133079"><span class="hs-identifier hs-type">accept</span></a><span> </span><a href="#local-6989586621679133080"><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-6989586621679133081"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-160"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-161"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-162"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679133078"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133081"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133080"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-163"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679133079"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-164"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Either</span><span> </span><a href="SwaggerPetstore.Client.html#MimeError"><span class="hs-identifier hs-type">MimeError</span></a><span> </span><a href="#local-6989586621679133080"><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-165"></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-6989586621679133106"><a href="#local-6989586621679133106"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679133107"><a href="#local-6989586621679133107"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679133108"><a href="#local-6989586621679133108"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679133109"><a href="#local-6989586621679133109"><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-166"></a><span> </span><a href="SwaggerPetstore.Client.html#MimeResult"><span class="hs-identifier hs-var">MimeResult</span></a><span> </span><a name="local-6989586621679133110"><a href="#local-6989586621679133110"><span class="hs-identifier">parsedResult</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#dispatchMime"><span class="hs-identifier hs-var">dispatchMime</span></a><span> </span><a href="#local-6989586621679133106"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679133107"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679133108"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679133109"><span class="hs-identifier hs-var">accept</span></a><span> </span><span>
</span><a name="line-167"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679133110"><span class="hs-identifier hs-var">parsedResult</span></a><span>
</span><a name="line-168"></a><span>
</span><a name="line-169"></a><span class="hs-comment">-- ** Unsafe</span><span>
</span><a name="line-170"></a><span>
</span><a name="line-171"></a><span class="hs-comment">-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the &quot;accept&quot; 'MimeType'. (Useful if the server's response is undocumented)</span><span>
</span><a name="line-172"></a><span class="hs-identifier">dispatchLbsUnsafe</span><span>
</span><a name="line-173"></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-6989586621679133074"><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-6989586621679133075"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-174"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Manager</span><span> </span><span class="hs-comment">-- ^ http-client Connection manager</span><span>
</span><a name="line-175"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-176"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679133076"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133075"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133077"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-177"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679133074"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-178"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-179"></a><a name="dispatchLbsUnsafe"><a href="SwaggerPetstore.Client.html#dispatchLbsUnsafe"><span class="hs-identifier">dispatchLbsUnsafe</span></a></a><span> </span><a name="local-6989586621679133111"><a href="#local-6989586621679133111"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679133112"><a href="#local-6989586621679133112"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679133113"><a href="#local-6989586621679133113"><span class="hs-identifier">request</span></a></a><span> </span><a name="local-6989586621679133114"><a href="#local-6989586621679133114"><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-180"></a><span> </span><a name="local-6989586621679133115"><a href="#local-6989586621679133115"><span class="hs-identifier">initReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier hs-var">_toInitRequest</span></a><span> </span><a href="#local-6989586621679133112"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679133113"><span class="hs-identifier hs-var">request</span></a><span> </span><a href="#local-6989586621679133114"><span class="hs-identifier hs-var">accept</span></a><span>
</span><a name="line-181"></a><span> </span><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier hs-var">dispatchInitUnsafe</span></a><span> </span><a href="#local-6989586621679133111"><span class="hs-identifier hs-var">manager</span></a><span> </span><a href="#local-6989586621679133112"><span class="hs-identifier hs-var">config</span></a><span> </span><a href="#local-6989586621679133115"><span class="hs-identifier hs-var">initReq</span></a><span>
</span><a name="line-182"></a><span>
</span><a name="line-183"></a><span class="hs-comment">-- | dispatch an InitRequest</span><span>
</span><a name="line-184"></a><span class="hs-identifier">dispatchInitUnsafe</span><span>
</span><a name="line-185"></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-186"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-187"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679133070"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133071"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133072"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679133073"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ init request</span><span>
</span><a name="line-188"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Response</span><span> </span><span class="hs-identifier hs-type">BCL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ response</span><span>
</span><a name="line-189"></a><a name="dispatchInitUnsafe"><a href="SwaggerPetstore.Client.html#dispatchInitUnsafe"><span class="hs-identifier">dispatchInitUnsafe</span></a></a><span> </span><a name="local-6989586621679133116"><a href="#local-6989586621679133116"><span class="hs-identifier">manager</span></a></a><span> </span><a name="local-6989586621679133117"><a href="#local-6989586621679133117"><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-6989586621679133118"><a href="#local-6989586621679133118"><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-190"></a><span> </span><a href="SwaggerPetstore.Client.html#runExceptionLoggingT"><span class="hs-identifier hs-var">runExceptionLoggingT</span></a><span> </span><a href="#local-6989586621679133119"><span class="hs-identifier hs-var">logSrc</span></a><span> </span><a href="#local-6989586621679133117"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-191"></a><span> </span><span class="hs-keyword">do</span><span> </span><a href="SwaggerPetstore.Client.html#logNST"><span class="hs-identifier hs-var">logNST</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">LevelInfo</span><span> </span><a href="#local-6989586621679133119"><span class="hs-identifier hs-var">logSrc</span></a><span> </span><a href="#local-6989586621679133121"><span class="hs-identifier hs-var">requestLogMsg</span></a><span>
</span><a name="line-192"></a><span> </span><a href="SwaggerPetstore.Client.html#logNST"><span class="hs-identifier hs-var">logNST</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">LevelDebug</span><span> </span><a href="#local-6989586621679133119"><span class="hs-identifier hs-var">logSrc</span></a><span> </span><a href="#local-6989586621679133122"><span class="hs-identifier hs-var">requestDbgLogMsg</span></a><span>
</span><a name="line-193"></a><span> </span><a name="local-6989586621679133554"><a href="#local-6989586621679133554"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">liftIO</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">httpLbs</span><span> </span><a href="#local-6989586621679133118"><span class="hs-identifier hs-var">req</span></a><span> </span><a href="#local-6989586621679133116"><span class="hs-identifier hs-var">manager</span></a><span>
</span><a name="line-194"></a><span> </span><a href="SwaggerPetstore.Client.html#logNST"><span class="hs-identifier hs-var">logNST</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">LevelInfo</span><span> </span><a href="#local-6989586621679133119"><span class="hs-identifier hs-var">logSrc</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679133124"><span class="hs-identifier hs-var">responseLogMsg</span></a><span> </span><a href="#local-6989586621679133554"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
</span><a name="line-195"></a><span> </span><a href="SwaggerPetstore.Client.html#logNST"><span class="hs-identifier hs-var">logNST</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">LevelDebug</span><span> </span><a href="#local-6989586621679133119"><span class="hs-identifier hs-var">logSrc</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-6989586621679133554"><span class="hs-identifier hs-var">res</span></a><span class="hs-special">)</span><span>
</span><a name="line-196"></a><span> </span><span class="hs-identifier hs-var">return</span><span> </span><a href="#local-6989586621679133554"><span class="hs-identifier hs-var">res</span></a><span>
</span><a name="line-197"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-198"></a><span> </span><a name="local-6989586621679133119"><a href="#local-6989586621679133119"><span class="hs-identifier">logSrc</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;Client&quot;</span><span>
</span><a name="line-199"></a><span> </span><a name="local-6989586621679133120"><a href="#local-6989586621679133120"><span class="hs-identifier">endpoint</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-200"></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-201"></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-202"></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-6989586621679133118"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">host</span><span> </span><a href="#local-6989586621679133118"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">path</span><span> </span><a href="#local-6989586621679133118"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">queryString</span><span> </span><a href="#local-6989586621679133118"><span class="hs-identifier hs-var">req</span></a><span>
</span><a name="line-203"></a><span> </span><a name="local-6989586621679133121"><a href="#local-6989586621679133121"><span class="hs-identifier">requestLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;REQ:&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679133120"><span class="hs-identifier hs-var">endpoint</span></a><span>
</span><a name="line-204"></a><span> </span><a name="local-6989586621679133122"><a href="#local-6989586621679133122"><span class="hs-identifier">requestDbgLogMsg</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-205"></a><span> </span><span class="hs-string">&quot;Headers=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">pack</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">show</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">NH</span><span class="hs-operator">.</span><span class="hs-identifier">requestHeaders</span><span> </span><a href="#local-6989586621679133118"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; Body=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span>
</span><a name="line-206"></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-6989586621679133118"><span class="hs-identifier hs-var">req</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-207"></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-6989586621679133125"><a href="#local-6989586621679133125"><span class="hs-identifier">xs</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">T</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">decodeUtf8</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">BL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toStrict</span><span> </span><a href="#local-6989586621679133125"><span class="hs-identifier hs-var">xs</span></a><span class="hs-special">)</span><span>
</span><a name="line-208"></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-string">&quot;&lt;RequestBody&gt;&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-209"></a><span> </span><a name="local-6989586621679133123"><a href="#local-6989586621679133123"><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-210"></a><span> </span><a name="local-6989586621679133124"><a href="#local-6989586621679133124"><span class="hs-identifier">responseLogMsg</span></a></a><span> </span><a name="local-6989586621679133500"><a href="#local-6989586621679133500"><span class="hs-identifier">res</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-211"></a><span> </span><span class="hs-string">&quot;RES:statusCode=&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679133123"><span class="hs-identifier hs-var">responseStatusCode</span></a><span> </span><a href="#local-6989586621679133500"><span class="hs-identifier hs-var">res</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; (&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679133120"><span class="hs-identifier hs-var">endpoint</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot;)&quot;</span><span>
</span><a name="line-212"></a><span>
</span><a name="line-213"></a><span class="hs-comment">-- * InitRequest</span><span>
</span><a name="line-214"></a><span>
</span><a name="line-215"></a><span class="hs-comment">-- | wraps an http-client 'Request' with request/response type parameters</span><span>
</span><a name="line-216"></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-6989586621679132954"><a href="#local-6989586621679132954"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679132955"><a href="#local-6989586621679132955"><span class="hs-identifier">contentType</span></a></a><span> </span><a name="local-6989586621679132956"><a href="#local-6989586621679132956"><span class="hs-identifier">res</span></a></a><span> </span><a name="local-6989586621679132957"><a href="#local-6989586621679132957"><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-217"></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-218"></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-219"></a><span>
</span><a name="line-220"></a><span class="hs-comment">-- | Build an http-client 'Request' record from the supplied config and request</span><span>
</span><a name="line-221"></a><span class="hs-identifier">_toInitRequest</span><span>
</span><a name="line-222"></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-6989586621679133066"><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-6989586621679133067"><span class="hs-identifier hs-type">contentType</span></a><span class="hs-special">)</span><span>
</span><a name="line-223"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-comment">-- ^ config</span><span>
</span><a name="line-224"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.API.html#SwaggerPetstoreRequest"><span class="hs-identifier hs-type">SwaggerPetstoreRequest</span></a><span> </span><a href="#local-6989586621679133068"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133067"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133069"><span class="hs-identifier hs-type">res</span></a><span> </span><span class="hs-comment">-- ^ request</span><span>
</span><a name="line-225"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679133066"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-comment">-- ^ &quot;accept&quot; 'MimeType'</span><span>
</span><a name="line-226"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679133068"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133067"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133069"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679133066"><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-227"></a><a name="_toInitRequest"><a href="SwaggerPetstore.Client.html#_toInitRequest"><span class="hs-identifier">_toInitRequest</span></a></a><span> </span><a name="local-6989586621679133555"><a href="#local-6989586621679133555"><span class="hs-identifier">config</span></a></a><span> </span><a name="local-6989586621679133556"><a href="#local-6989586621679133556"><span class="hs-identifier">req0</span></a></a><span> </span><a name="local-6989586621679133557"><a href="#local-6989586621679133557"><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-228"></a><span> </span><a name="local-6989586621679133558"><a href="#local-6989586621679133558"><span class="hs-identifier">parsedReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">parseRequest</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">unpack</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-identifier hs-var">BCL</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">append</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configHost</span><span> </span><a href="#local-6989586621679133555"><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">urlPath</span><span> </span><a href="#local-6989586621679133556"><span class="hs-identifier hs-var">req0</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-229"></a><span> </span><span class="hs-keyword">let</span><span> </span><a name="local-6989586621679133559"><a href="#local-6989586621679133559"><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-6989586621679133556"><span class="hs-identifier hs-var">req0</span></a><span> </span><a href="#local-6989586621679133557"><span class="hs-identifier hs-var">accept</span></a><span> </span><span class="hs-operator hs-var">&amp;</span><span> </span><a href="SwaggerPetstore.API.html#_setContentTypeHeader"><span class="hs-identifier hs-var">_setContentTypeHeader</span></a><span>
</span><a name="line-230"></a><span> </span><a name="local-6989586621679133560"><a href="#local-6989586621679133560"><span class="hs-identifier">reqHeaders</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;User-Agent&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">WH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">toHeader</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configUserAgent</span><span> </span><a href="#local-6989586621679133555"><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">params</span><span> </span><a href="#local-6989586621679133559"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span>
</span><a name="line-231"></a><span> </span><a name="local-6989586621679133561"><a href="#local-6989586621679133561"><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">params</span><span> </span><a href="#local-6989586621679133559"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-232"></a><span> </span><a name="local-6989586621679133562"><a href="#local-6989586621679133562"><span class="hs-identifier">pReq</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679133558"><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-6989586621679133559"><span class="hs-identifier hs-var">req1</span></a><span class="hs-special">)</span><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">requestHeaders</span><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679133560"><span class="hs-identifier hs-var">reqHeaders</span></a><span>
</span><a name="line-234"></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-6989586621679133561"><span class="hs-identifier hs-var">reqQuery</span></a><span>
</span><a name="line-235"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-236"></a><span> </span><a name="local-6989586621679133567"><a href="#local-6989586621679133567"><span class="hs-identifier">outReq</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">paramsBody</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">params</span><span> </span><a href="#local-6989586621679133559"><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-237"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyNone"><span class="hs-identifier hs-var">ParamBodyNone</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679133562"><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-238"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyB"><span class="hs-identifier hs-var">ParamBodyB</span></a><span> </span><a name="local-6989586621679133563"><a href="#local-6989586621679133563"><span class="hs-identifier">bs</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679133562"><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-6989586621679133563"><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-239"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyBL"><span class="hs-identifier hs-var">ParamBodyBL</span></a><span> </span><a name="local-6989586621679133564"><a href="#local-6989586621679133564"><span class="hs-identifier">bl</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679133562"><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-6989586621679133564"><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-240"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyFormUrlEncoded"><span class="hs-identifier hs-var">ParamBodyFormUrlEncoded</span></a><span> </span><a name="local-6989586621679133565"><a href="#local-6989586621679133565"><span class="hs-identifier">form</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">pure</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679133562"><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-6989586621679133565"><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-241"></a><span> </span><a href="SwaggerPetstore.API.html#ParamBodyMultipartFormData"><span class="hs-identifier hs-var">ParamBodyMultipartFormData</span></a><span> </span><a name="local-6989586621679133566"><a href="#local-6989586621679133566"><span class="hs-identifier">parts</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">NH</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formDataBody</span><span> </span><a href="#local-6989586621679133566"><span class="hs-identifier hs-var">parts</span></a><span> </span><a href="#local-6989586621679133562"><span class="hs-identifier hs-var">pReq</span></a><span>
</span><a name="line-242"></a><span>
</span><a name="line-243"></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-6989586621679133567"><span class="hs-identifier hs-var">outReq</span></a><span class="hs-special">)</span><span>
</span><a name="line-244"></a><span>
</span><a name="line-245"></a><span class="hs-comment">-- | modify the underlying Request</span><span>
</span><a name="line-246"></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-6989586621679133062"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133063"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133064"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679133065"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679133062"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133063"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133064"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679133065"><span class="hs-identifier hs-type">accept</span></a><span> </span><span>
</span><a name="line-247"></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-6989586621679133568"><a href="#local-6989586621679133568"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679133569"><a href="#local-6989586621679133569"><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-6989586621679133569"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679133568"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
</span><a name="line-248"></a><span>
</span><a name="line-249"></a><span class="hs-comment">-- | modify the underlying Request (monadic)</span><span>
</span><a name="line-250"></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-6989586621679133057"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#InitRequest"><span class="hs-identifier hs-type">InitRequest</span></a><span> </span><a href="#local-6989586621679133058"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133059"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133060"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679133061"><span class="hs-identifier hs-type">accept</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679133057"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-identifier hs-type">NH</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Request</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679133057"><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-6989586621679133058"><span class="hs-identifier hs-type">req</span></a><span> </span><a href="#local-6989586621679133059"><span class="hs-identifier hs-type">contentType</span></a><span> </span><a href="#local-6989586621679133060"><span class="hs-identifier hs-type">res</span></a><span> </span><a href="#local-6989586621679133061"><span class="hs-identifier hs-type">accept</span></a><span class="hs-special">)</span><span>
</span><a name="line-251"></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-6989586621679133570"><a href="#local-6989586621679133570"><span class="hs-identifier">req</span></a></a><span class="hs-special">)</span><span> </span><a name="local-6989586621679133571"><a href="#local-6989586621679133571"><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-6989586621679133571"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679133570"><span class="hs-identifier hs-var">req</span></a><span class="hs-special">)</span><span>
</span><a name="line-252"></a><span>
</span><a name="line-253"></a><span class="hs-comment">-- * Logging</span><span>
</span><a name="line-254"></a><span>
</span><a name="line-255"></a><span class="hs-comment">-- | A block using a MonadLogger instance</span><span>
</span><a name="line-256"></a><span class="hs-keyword">type</span><span> </span><a name="ExecLoggingT"><a href="SwaggerPetstore.Client.html#ExecLoggingT"><span class="hs-identifier">ExecLoggingT</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679132952"><a href="#local-6989586621679132952"><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-6989586621679132952"><span class="hs-identifier hs-type">m</span></a><span> </span><span class="hs-glyph">=&gt;</span><span>
</span><a name="line-257"></a><span> </span><span class="hs-keyword">forall</span><span> </span><a name="local-6989586621679132953"><a href="#local-6989586621679132953"><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">LoggingT</span><span> </span><a href="#local-6989586621679132952"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132953"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679132952"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132953"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-258"></a><span>
</span><a name="line-259"></a><span class="hs-comment">-- ** Null Logger</span><span>
</span><a name="line-260"></a><span>
</span><a name="line-261"></a><span class="hs-comment">-- | a logger which disables logging</span><span>
</span><a name="line-262"></a><span class="hs-identifier">nullLogger</span><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">Loc</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogSource</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogStr</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">IO</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><a name="line-263"></a><a name="nullLogger"><a href="SwaggerPetstore.Client.html#nullLogger"><span class="hs-identifier">nullLogger</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-identifier">_</span><span> </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><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><a name="line-264"></a><span>
</span><a name="line-265"></a><span class="hs-comment">-- | run the monad transformer that disables logging</span><span>
</span><a name="line-266"></a><span class="hs-identifier">runNullLoggingT</span><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">LoggingT</span><span> </span><a href="#local-6989586621679132964"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132965"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679132964"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132965"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-267"></a><a name="runNullLoggingT"><a href="SwaggerPetstore.Client.html#runNullLoggingT"><span class="hs-identifier">runNullLoggingT</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-special">`</span><span class="hs-identifier">LG</span><span class="hs-operator">.</span><span class="hs-identifier">runLoggingT</span><span class="hs-special">`</span><span> </span><a href="SwaggerPetstore.Client.html#nullLogger"><span class="hs-identifier hs-var">nullLogger</span></a><span class="hs-special">)</span><span>
</span><a name="line-268"></a><span>
</span><a name="line-269"></a><span class="hs-comment">-- ** Logging Filters</span><span>
</span><a name="line-270"></a><span>
</span><a name="line-271"></a><span class="hs-comment">-- | a log filter that uses 'LevelError' as the minimum logging level</span><span>
</span><a name="line-272"></a><span class="hs-identifier">errorLevelFilter</span><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">LogSource</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Bool</span><span>
</span><a name="line-273"></a><a name="errorLevelFilter"><a href="SwaggerPetstore.Client.html#errorLevelFilter"><span class="hs-identifier">errorLevelFilter</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#minLevelFilter"><span class="hs-identifier hs-var">minLevelFilter</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">LevelError</span><span>
</span><a name="line-274"></a><span>
</span><a name="line-275"></a><span class="hs-comment">-- | a log filter that uses 'LevelInfo' as the minimum logging level</span><span>
</span><a name="line-276"></a><span class="hs-identifier">infoLevelFilter</span><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">LogSource</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Bool</span><span>
</span><a name="line-277"></a><a name="infoLevelFilter"><a href="SwaggerPetstore.Client.html#infoLevelFilter"><span class="hs-identifier">infoLevelFilter</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#minLevelFilter"><span class="hs-identifier hs-var">minLevelFilter</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">LevelInfo</span><span>
</span><a name="line-278"></a><span>
</span><a name="line-279"></a><span class="hs-comment">-- | a log filter that uses 'LevelDebug' as the minimum logging level</span><span>
</span><a name="line-280"></a><span class="hs-identifier">debugLevelFilter</span><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">LogSource</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Bool</span><span>
</span><a name="line-281"></a><a name="debugLevelFilter"><a href="SwaggerPetstore.Client.html#debugLevelFilter"><span class="hs-identifier">debugLevelFilter</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#minLevelFilter"><span class="hs-identifier hs-var">minLevelFilter</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">LevelDebug</span><span>
</span><a name="line-282"></a><span>
</span><a name="line-283"></a><span class="hs-identifier">minLevelFilter</span><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">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogSource</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Bool</span><span>
</span><a name="line-284"></a><a name="minLevelFilter"><a href="SwaggerPetstore.Client.html#minLevelFilter"><span class="hs-identifier">minLevelFilter</span></a></a><span> </span><a name="local-6989586621679133572"><a href="#local-6989586621679133572"><span class="hs-identifier">l</span></a></a><span> </span><span class="hs-identifier">_</span><span> </span><a name="local-6989586621679133573"><a href="#local-6989586621679133573"><span class="hs-identifier">l'</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679133573"><span class="hs-identifier hs-var">l'</span></a><span> </span><span class="hs-operator hs-var">&gt;=</span><span> </span><a href="#local-6989586621679133572"><span class="hs-identifier hs-var">l</span></a><span>
</span><a name="line-285"></a><span>
</span><a name="line-286"></a><span class="hs-comment">-- ** Logging </span><span>
</span><a name="line-287"></a><span>
</span><a name="line-288"></a><span class="hs-comment">-- | Log a message using the current time</span><span>
</span><a name="line-289"></a><span class="hs-identifier">logNST</span><span> </span><span class="hs-glyph">::</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">MonadIO</span><span> </span><a href="#local-6989586621679132963"><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">MonadLogger</span><span> </span><a href="#local-6989586621679132963"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LogLevel</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679132963"><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-290"></a><a name="logNST"><a href="SwaggerPetstore.Client.html#logNST"><span class="hs-identifier">logNST</span></a></a><span> </span><a name="local-6989586621679133574"><a href="#local-6989586621679133574"><span class="hs-identifier">level</span></a></a><span> </span><a name="local-6989586621679133575"><a href="#local-6989586621679133575"><span class="hs-identifier">src</span></a></a><span> </span><a name="local-6989586621679133576"><a href="#local-6989586621679133576"><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-291"></a><span> </span><a name="local-6989586621679133608"><a href="#local-6989586621679133608"><span class="hs-identifier">now</span></a></a><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">liftIO</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679133578"><span class="hs-identifier hs-var">formatTimeLog</span></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">getCurrentTime</span><span class="hs-special">)</span><span>
</span><a name="line-292"></a><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">logOtherNS</span><span> </span><a href="#local-6989586621679133577"><span class="hs-identifier hs-var">sourceLog</span></a><span> </span><a href="#local-6989586621679133574"><span class="hs-identifier hs-var">level</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679133608"><span class="hs-identifier hs-var">now</span></a><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><span class="hs-string">&quot; &quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679133576"><span class="hs-identifier hs-var">msg</span></a><span class="hs-special">)</span><span>
</span><a name="line-293"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-294"></a><span> </span><a name="local-6989586621679133577"><a href="#local-6989586621679133577"><span class="hs-identifier">sourceLog</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-string">&quot;SwaggerPetstore/&quot;</span><span> </span><span class="hs-operator hs-var">&lt;&gt;</span><span> </span><a href="#local-6989586621679133575"><span class="hs-identifier hs-var">src</span></a><span>
</span><a name="line-295"></a><span> </span><a name="local-6989586621679133578"><a href="#local-6989586621679133578"><span class="hs-identifier">formatTimeLog</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-296"></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><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formatTime</span><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultTimeLocale</span><span> </span><span class="hs-string">&quot;%Y-%m-%dT%H:%M:%S%Z&quot;</span><span>
</span><a name="line-297"></a><span>
</span><a name="line-298"></a><span class="hs-comment">-- | re-throws exceptions after logging them</span><span>
</span><a name="line-299"></a><span class="hs-identifier">logExceptions</span><span>
</span><a name="line-300"></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">MonadLogger</span><span> </span><a href="#local-6989586621679132961"><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-6989586621679132961"><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-6989586621679132961"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
</span><a name="line-301"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679132961"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132962"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679132961"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132962"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-302"></a><a name="logExceptions"><a href="SwaggerPetstore.Client.html#logExceptions"><span class="hs-identifier">logExceptions</span></a></a><span> </span><a name="local-6989586621679133609"><a href="#local-6989586621679133609"><span class="hs-identifier">src</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-303"></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-304"></a><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="hs-special">(</span><a name="local-6989586621679133866"><a href="#local-6989586621679133866"><span class="hs-identifier">e</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">E</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">SomeException</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><a name="line-305"></a><span> </span><a href="SwaggerPetstore.Client.html#logNST"><span class="hs-identifier hs-var">logNST</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">LevelError</span><span> </span><a href="#local-6989586621679133609"><span class="hs-identifier hs-var">src</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-6989586621679133866"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
</span><a name="line-306"></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-6989586621679133866"><span class="hs-identifier hs-var">e</span></a><span class="hs-special">)</span><span>
</span><a name="line-307"></a><span>
</span><a name="line-308"></a><span class="hs-comment">-- | Run a block using the configured MonadLogger instance</span><span>
</span><a name="line-309"></a><span class="hs-identifier">runLoggingT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#ExecLoggingT"><span class="hs-identifier hs-type">ExecLoggingT</span></a><span>
</span><a name="line-310"></a><a name="runLoggingT"><a href="SwaggerPetstore.Client.html#runLoggingT"><span class="hs-identifier">runLoggingT</span></a></a><span> </span><a name="local-6989586621679133867"><a href="#local-6989586621679133867"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-311"></a><span> </span><span class="hs-identifier">configExecLoggingT</span><span> </span><a href="#local-6989586621679133867"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-identifier hs-var">LG</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">filterLogger</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">configLoggingFilter</span><span> </span><a href="#local-6989586621679133867"><span class="hs-identifier hs-var">config</span></a><span class="hs-special">)</span><span>
</span><a name="line-312"></a><span>
</span><a name="line-313"></a><span class="hs-comment">-- | Run a block using the configured MonadLogger instance (logs exceptions)</span><span>
</span><a name="line-314"></a><span class="hs-identifier">runExceptionLoggingT</span><span>
</span><a name="line-315"></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-6989586621679132959"><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-6989586621679132959"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span>
</span><a name="line-316"></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">T</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Client.html#SwaggerPetstoreConfig"><span class="hs-identifier hs-type">SwaggerPetstoreConfig</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">LG</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">LoggingT</span><span> </span><a href="#local-6989586621679132959"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132960"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679132959"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679132960"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-317"></a><a name="runExceptionLoggingT"><a href="SwaggerPetstore.Client.html#runExceptionLoggingT"><span class="hs-identifier">runExceptionLoggingT</span></a></a><span> </span><a name="local-6989586621679133868"><a href="#local-6989586621679133868"><span class="hs-identifier">logSrc</span></a></a><span> </span><a name="local-6989586621679133869"><a href="#local-6989586621679133869"><span class="hs-identifier">config</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Client.html#runLoggingT"><span class="hs-identifier hs-var">runLoggingT</span></a><span> </span><a href="#local-6989586621679133869"><span class="hs-identifier hs-var">config</span></a><span> </span><span class="hs-operator hs-var">.</span><span> </span><a href="SwaggerPetstore.Client.html#logExceptions"><span class="hs-identifier hs-var">logExceptions</span></a><span> </span><a href="#local-6989586621679133868"><span class="hs-identifier hs-var">logSrc</span></a><span>
</span><a name="line-318"></a></pre></body></html>

View File

@ -0,0 +1,203 @@
<!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">{-|
Module : SwaggerPetstore.Lens
-}</span><span>
</span><a name="line-4"></a><span>
</span><a name="line-5"></a><span class="hs-pragma">{-# LANGUAGE KindSignatures #-}</span><span>
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE NamedFieldPuns #-}</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 RecordWildCards #-}</span><span>
</span><a name="line-9"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
</span><a name="line-10"></a><span>
</span><a name="line-11"></a><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><span class="hs-keyword">where</span><span>
</span><a name="line-12"></a><span>
</span><a name="line-13"></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-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">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-16"></a><span class="hs-keyword">import</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-special">(</span><span class="hs-identifier hs-type">Value</span><span class="hs-special">)</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">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-18"></a><span class="hs-keyword">import</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-special">(</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</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">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">Data</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Typeable</span><span class="hs-special">)</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">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-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">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-23"></a><span class="hs-keyword">import</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-special">(</span><span class="hs-identifier hs-type">UTCTime</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-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">$</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;$&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;*&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">=&lt;&lt;</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 class="hs-identifier hs-var">maybe</span><span class="hs-special">,</span><span class="hs-identifier hs-var">pure</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Monad</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Applicative</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Functor</span><span class="hs-special">)</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">Prelude</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>
</span><a name="line-28"></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-29"></a><span>
</span><a name="line-30"></a><span class="hs-comment">-- * Type Aliases</span><span>
</span><a name="line-31"></a><span>
</span><a name="line-32"></a><span class="hs-keyword">type</span><span> </span><a name="Traversal_%27"><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier">Traversal_'</span></a></a><span> </span><a name="local-6989586621679079377"><a href="#local-6989586621679079377"><span class="hs-identifier">s</span></a></a><span> </span><a name="local-6989586621679079378"><a href="#local-6989586621679079378"><span class="hs-identifier">a</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_"><span class="hs-identifier hs-type">Traversal_</span></a><span> </span><a href="#local-6989586621679079377"><span class="hs-identifier hs-type">s</span></a><span> </span><a href="#local-6989586621679079377"><span class="hs-identifier hs-type">s</span></a><span> </span><a href="#local-6989586621679079378"><span class="hs-identifier hs-type">a</span></a><span> </span><a href="#local-6989586621679079378"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-33"></a><span class="hs-keyword">type</span><span> </span><a name="Traversal_"><a href="SwaggerPetstore.Lens.html#Traversal_"><span class="hs-identifier">Traversal_</span></a></a><span> </span><a name="local-6989586621679079372"><a href="#local-6989586621679079372"><span class="hs-identifier">s</span></a></a><span> </span><a name="local-6989586621679079373"><a href="#local-6989586621679079373"><span class="hs-identifier">t</span></a></a><span> </span><a name="local-6989586621679079374"><a href="#local-6989586621679079374"><span class="hs-identifier">a</span></a></a><span> </span><a name="local-6989586621679079375"><a href="#local-6989586621679079375"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079376"><a href="#local-6989586621679079376"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-operator hs-type">*</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-operator hs-type">*</span><span class="hs-special">)</span><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679079376"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679079374"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079376"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679079375"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079372"><span class="hs-identifier hs-type">s</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079376"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679079373"><span class="hs-identifier hs-type">t</span></a><span>
</span><a name="line-34"></a><span class="hs-keyword">type</span><span> </span><a name="Lens_%27"><a href="SwaggerPetstore.Lens.html#Lens_%27"><span class="hs-identifier">Lens_'</span></a></a><span> </span><a name="local-6989586621679079370"><a href="#local-6989586621679079370"><span class="hs-identifier">s</span></a></a><span> </span><a name="local-6989586621679079371"><a href="#local-6989586621679079371"><span class="hs-identifier">a</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#Lens_"><span class="hs-identifier hs-type">Lens_</span></a><span> </span><a href="#local-6989586621679079370"><span class="hs-identifier hs-type">s</span></a><span> </span><a href="#local-6989586621679079370"><span class="hs-identifier hs-type">s</span></a><span> </span><a href="#local-6989586621679079371"><span class="hs-identifier hs-type">a</span></a><span> </span><a href="#local-6989586621679079371"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-35"></a><span class="hs-keyword">type</span><span> </span><a name="Lens_"><a href="SwaggerPetstore.Lens.html#Lens_"><span class="hs-identifier">Lens_</span></a></a><span> </span><a name="local-6989586621679079365"><a href="#local-6989586621679079365"><span class="hs-identifier">s</span></a></a><span> </span><a name="local-6989586621679079366"><a href="#local-6989586621679079366"><span class="hs-identifier">t</span></a></a><span> </span><a name="local-6989586621679079367"><a href="#local-6989586621679079367"><span class="hs-identifier">a</span></a></a><span> </span><a name="local-6989586621679079368"><a href="#local-6989586621679079368"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">forall</span><span> </span><span class="hs-special">(</span><a name="local-6989586621679079369"><a href="#local-6989586621679079369"><span class="hs-identifier">f</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-operator hs-type">*</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-operator hs-type">*</span><span class="hs-special">)</span><span class="hs-operator">.</span><span> </span><span class="hs-identifier hs-type">Functor</span><span> </span><a href="#local-6989586621679079369"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679079367"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079369"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679079368"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079365"><span class="hs-identifier hs-type">s</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079369"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679079366"><span class="hs-identifier hs-type">t</span></a><span>
</span><a name="line-36"></a><span>
</span><a name="line-37"></a><span>
</span><a name="line-38"></a><span class="hs-comment">-- * ApiResponse</span><span>
</span><a name="line-39"></a><span>
</span><a name="line-40"></a><span class="hs-comment">-- | 'apiResponseCode' Traversal</span><span>
</span><a name="line-41"></a><span class="hs-identifier">apiResponseCodeT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-type">ApiResponse</span></a><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-42"></a><a name="apiResponseCodeT"><a href="SwaggerPetstore.Lens.html#apiResponseCodeT"><span class="hs-identifier">apiResponseCodeT</span></a></a><span> </span><a name="local-6989586621679079383"><a href="#local-6989586621679079383"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079384"><a href="#local-6989586621679079384"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">apiResponseCode</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079385"><a href="#local-6989586621679079385"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079384"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">apiResponseCode</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079385"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079383"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079384"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-43"></a><span class="hs-pragma">{-# INLINE apiResponseCodeT #-}</span><span>
</span><a name="line-44"></a><span>
</span><a name="line-45"></a><span class="hs-comment">-- | 'apiResponseType' Traversal</span><span>
</span><a name="line-46"></a><span class="hs-identifier">apiResponseTypeT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-type">ApiResponse</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-47"></a><a name="apiResponseTypeT"><a href="SwaggerPetstore.Lens.html#apiResponseTypeT"><span class="hs-identifier">apiResponseTypeT</span></a></a><span> </span><a name="local-6989586621679079386"><a href="#local-6989586621679079386"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079387"><a href="#local-6989586621679079387"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">apiResponseType</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079388"><a href="#local-6989586621679079388"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079387"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">apiResponseType</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079388"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079386"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079387"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-48"></a><span class="hs-pragma">{-# INLINE apiResponseTypeT #-}</span><span>
</span><a name="line-49"></a><span>
</span><a name="line-50"></a><span class="hs-comment">-- | 'apiResponseMessage' Traversal</span><span>
</span><a name="line-51"></a><span class="hs-identifier">apiResponseMessageT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-type">ApiResponse</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-52"></a><a name="apiResponseMessageT"><a href="SwaggerPetstore.Lens.html#apiResponseMessageT"><span class="hs-identifier">apiResponseMessageT</span></a></a><span> </span><a name="local-6989586621679079389"><a href="#local-6989586621679079389"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079390"><a href="#local-6989586621679079390"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">apiResponseMessage</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079391"><a href="#local-6989586621679079391"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079390"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">apiResponseMessage</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079391"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079389"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079390"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-53"></a><span class="hs-pragma">{-# INLINE apiResponseMessageT #-}</span><span>
</span><a name="line-54"></a><span>
</span><a name="line-55"></a><span>
</span><a name="line-56"></a><span>
</span><a name="line-57"></a><span class="hs-comment">-- * Category</span><span>
</span><a name="line-58"></a><span>
</span><a name="line-59"></a><span class="hs-comment">-- | 'categoryId' Traversal</span><span>
</span><a name="line-60"></a><span class="hs-identifier">categoryIdT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-type">Category</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span>
</span><a name="line-61"></a><a name="categoryIdT"><a href="SwaggerPetstore.Lens.html#categoryIdT"><span class="hs-identifier">categoryIdT</span></a></a><span> </span><a name="local-6989586621679079392"><a href="#local-6989586621679079392"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079393"><a href="#local-6989586621679079393"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">categoryId</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079394"><a href="#local-6989586621679079394"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079393"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">categoryId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079394"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079392"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079393"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-62"></a><span class="hs-pragma">{-# INLINE categoryIdT #-}</span><span>
</span><a name="line-63"></a><span>
</span><a name="line-64"></a><span class="hs-comment">-- | 'categoryName' Traversal</span><span>
</span><a name="line-65"></a><span class="hs-identifier">categoryNameT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-type">Category</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-66"></a><a name="categoryNameT"><a href="SwaggerPetstore.Lens.html#categoryNameT"><span class="hs-identifier">categoryNameT</span></a></a><span> </span><a name="local-6989586621679079395"><a href="#local-6989586621679079395"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079396"><a href="#local-6989586621679079396"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">categoryName</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079397"><a href="#local-6989586621679079397"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079396"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">categoryName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079397"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079395"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079396"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-67"></a><span class="hs-pragma">{-# INLINE categoryNameT #-}</span><span>
</span><a name="line-68"></a><span>
</span><a name="line-69"></a><span>
</span><a name="line-70"></a><span>
</span><a name="line-71"></a><span class="hs-comment">-- * Order</span><span>
</span><a name="line-72"></a><span>
</span><a name="line-73"></a><span class="hs-comment">-- | 'orderId' Traversal</span><span>
</span><a name="line-74"></a><span class="hs-identifier">orderIdT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span>
</span><a name="line-75"></a><a name="orderIdT"><a href="SwaggerPetstore.Lens.html#orderIdT"><span class="hs-identifier">orderIdT</span></a></a><span> </span><a name="local-6989586621679079398"><a href="#local-6989586621679079398"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079399"><a href="#local-6989586621679079399"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">orderId</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079400"><a href="#local-6989586621679079400"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079399"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">orderId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079400"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079398"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079399"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-76"></a><span class="hs-pragma">{-# INLINE orderIdT #-}</span><span>
</span><a name="line-77"></a><span>
</span><a name="line-78"></a><span class="hs-comment">-- | 'orderPetId' Traversal</span><span>
</span><a name="line-79"></a><span class="hs-identifier">orderPetIdT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span>
</span><a name="line-80"></a><a name="orderPetIdT"><a href="SwaggerPetstore.Lens.html#orderPetIdT"><span class="hs-identifier">orderPetIdT</span></a></a><span> </span><a name="local-6989586621679079401"><a href="#local-6989586621679079401"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079402"><a href="#local-6989586621679079402"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">orderPetId</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079403"><a href="#local-6989586621679079403"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079402"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">orderPetId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079403"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079401"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079402"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-81"></a><span class="hs-pragma">{-# INLINE orderPetIdT #-}</span><span>
</span><a name="line-82"></a><span>
</span><a name="line-83"></a><span class="hs-comment">-- | 'orderQuantity' Traversal</span><span>
</span><a name="line-84"></a><span class="hs-identifier">orderQuantityT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-85"></a><a name="orderQuantityT"><a href="SwaggerPetstore.Lens.html#orderQuantityT"><span class="hs-identifier">orderQuantityT</span></a></a><span> </span><a name="local-6989586621679079404"><a href="#local-6989586621679079404"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079405"><a href="#local-6989586621679079405"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">orderQuantity</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079406"><a href="#local-6989586621679079406"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079405"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">orderQuantity</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079406"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079404"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079405"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-86"></a><span class="hs-pragma">{-# INLINE orderQuantityT #-}</span><span>
</span><a name="line-87"></a><span>
</span><a name="line-88"></a><span class="hs-comment">-- | 'orderShipDate' Traversal</span><span>
</span><a name="line-89"></a><span class="hs-identifier">orderShipDateT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-identifier hs-type">UTCTime</span><span>
</span><a name="line-90"></a><a name="orderShipDateT"><a href="SwaggerPetstore.Lens.html#orderShipDateT"><span class="hs-identifier">orderShipDateT</span></a></a><span> </span><a name="local-6989586621679079407"><a href="#local-6989586621679079407"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079408"><a href="#local-6989586621679079408"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">orderShipDate</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079409"><a href="#local-6989586621679079409"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079408"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">orderShipDate</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079409"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079407"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079408"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-91"></a><span class="hs-pragma">{-# INLINE orderShipDateT #-}</span><span>
</span><a name="line-92"></a><span>
</span><a name="line-93"></a><span class="hs-comment">-- | 'orderStatus' Traversal</span><span>
</span><a name="line-94"></a><span class="hs-identifier">orderStatusT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-95"></a><a name="orderStatusT"><a href="SwaggerPetstore.Lens.html#orderStatusT"><span class="hs-identifier">orderStatusT</span></a></a><span> </span><a name="local-6989586621679079410"><a href="#local-6989586621679079410"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079411"><a href="#local-6989586621679079411"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">orderStatus</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079412"><a href="#local-6989586621679079412"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079411"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">orderStatus</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079412"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079410"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079411"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-96"></a><span class="hs-pragma">{-# INLINE orderStatusT #-}</span><span>
</span><a name="line-97"></a><span>
</span><a name="line-98"></a><span class="hs-comment">-- | 'orderComplete' Traversal</span><span>
</span><a name="line-99"></a><span class="hs-identifier">orderCompleteT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-identifier hs-type">Bool</span><span>
</span><a name="line-100"></a><a name="orderCompleteT"><a href="SwaggerPetstore.Lens.html#orderCompleteT"><span class="hs-identifier">orderCompleteT</span></a></a><span> </span><a name="local-6989586621679079413"><a href="#local-6989586621679079413"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079414"><a href="#local-6989586621679079414"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">orderComplete</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079415"><a href="#local-6989586621679079415"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079414"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">orderComplete</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079415"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079413"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079414"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-101"></a><span class="hs-pragma">{-# INLINE orderCompleteT #-}</span><span>
</span><a name="line-102"></a><span>
</span><a name="line-103"></a><span>
</span><a name="line-104"></a><span>
</span><a name="line-105"></a><span class="hs-comment">-- * Pet</span><span>
</span><a name="line-106"></a><span>
</span><a name="line-107"></a><span class="hs-comment">-- | 'petId' Traversal</span><span>
</span><a name="line-108"></a><span class="hs-identifier">petIdT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span>
</span><a name="line-109"></a><a name="petIdT"><a href="SwaggerPetstore.Lens.html#petIdT"><span class="hs-identifier">petIdT</span></a></a><span> </span><a name="local-6989586621679079416"><a href="#local-6989586621679079416"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079417"><a href="#local-6989586621679079417"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">petId</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079418"><a href="#local-6989586621679079418"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079417"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">petId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079418"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079416"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079417"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-110"></a><span class="hs-pragma">{-# INLINE petIdT #-}</span><span>
</span><a name="line-111"></a><span>
</span><a name="line-112"></a><span class="hs-comment">-- | 'petCategory' Traversal</span><span>
</span><a name="line-113"></a><span class="hs-identifier">petCategoryT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-type">Category</span></a><span>
</span><a name="line-114"></a><a name="petCategoryT"><a href="SwaggerPetstore.Lens.html#petCategoryT"><span class="hs-identifier">petCategoryT</span></a></a><span> </span><a name="local-6989586621679079419"><a href="#local-6989586621679079419"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079420"><a href="#local-6989586621679079420"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">petCategory</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079421"><a href="#local-6989586621679079421"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079420"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">petCategory</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079421"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079419"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079420"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-115"></a><span class="hs-pragma">{-# INLINE petCategoryT #-}</span><span>
</span><a name="line-116"></a><span>
</span><a name="line-117"></a><span class="hs-comment">-- | 'petName' Lens</span><span>
</span><a name="line-118"></a><span class="hs-identifier">petNameL</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Lens_%27"><span class="hs-identifier hs-type">Lens_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-119"></a><a name="petNameL"><a href="SwaggerPetstore.Lens.html#petNameL"><span class="hs-identifier">petNameL</span></a></a><span> </span><a name="local-6989586621679079422"><a href="#local-6989586621679079422"><span class="hs-identifier">f</span></a></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-var">Pet</span></a><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079429"><a href="#local-6989586621679079429"><span class="hs-identifier">petName</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-var">Pet</span></a><span> </span><span class="hs-special">{</span><span> </span><a href="#local-6989586621679079429"><span class="hs-identifier hs-var">petName</span></a><span class="hs-special">,</span><span> </span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679079422"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079425"><span class="hs-identifier hs-var">petName</span></a><span>
</span><a name="line-120"></a><span class="hs-pragma">{-# INLINE petNameL #-}</span><span>
</span><a name="line-121"></a><span>
</span><a name="line-122"></a><span class="hs-comment">-- | 'petPhotoUrls' Lens</span><span>
</span><a name="line-123"></a><span class="hs-identifier">petPhotoUrlsL</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Lens_%27"><span class="hs-identifier hs-type">Lens_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><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-124"></a><a name="petPhotoUrlsL"><a href="SwaggerPetstore.Lens.html#petPhotoUrlsL"><span class="hs-identifier">petPhotoUrlsL</span></a></a><span> </span><a name="local-6989586621679079430"><a href="#local-6989586621679079430"><span class="hs-identifier">f</span></a></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-var">Pet</span></a><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079437"><a href="#local-6989586621679079437"><span class="hs-identifier">petPhotoUrls</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-var">Pet</span></a><span> </span><span class="hs-special">{</span><span> </span><a href="#local-6989586621679079437"><span class="hs-identifier hs-var">petPhotoUrls</span></a><span class="hs-special">,</span><span> </span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679079430"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079434"><span class="hs-identifier hs-var">petPhotoUrls</span></a><span>
</span><a name="line-125"></a><span class="hs-pragma">{-# INLINE petPhotoUrlsL #-}</span><span>
</span><a name="line-126"></a><span>
</span><a name="line-127"></a><span class="hs-comment">-- | 'petTags' Traversal</span><span>
</span><a name="line-128"></a><span class="hs-identifier">petTagsT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-type">Tag</span></a><span class="hs-special">]</span><span>
</span><a name="line-129"></a><a name="petTagsT"><a href="SwaggerPetstore.Lens.html#petTagsT"><span class="hs-identifier">petTagsT</span></a></a><span> </span><a name="local-6989586621679079438"><a href="#local-6989586621679079438"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079439"><a href="#local-6989586621679079439"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">petTags</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079440"><a href="#local-6989586621679079440"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079439"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">petTags</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079440"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079438"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079439"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-130"></a><span class="hs-pragma">{-# INLINE petTagsT #-}</span><span>
</span><a name="line-131"></a><span>
</span><a name="line-132"></a><span class="hs-comment">-- | 'petStatus' Traversal</span><span>
</span><a name="line-133"></a><span class="hs-identifier">petStatusT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-134"></a><a name="petStatusT"><a href="SwaggerPetstore.Lens.html#petStatusT"><span class="hs-identifier">petStatusT</span></a></a><span> </span><a name="local-6989586621679079441"><a href="#local-6989586621679079441"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079442"><a href="#local-6989586621679079442"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">petStatus</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079443"><a href="#local-6989586621679079443"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079442"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">petStatus</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079443"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079441"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079442"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-135"></a><span class="hs-pragma">{-# INLINE petStatusT #-}</span><span>
</span><a name="line-136"></a><span>
</span><a name="line-137"></a><span>
</span><a name="line-138"></a><span>
</span><a name="line-139"></a><span class="hs-comment">-- * Tag</span><span>
</span><a name="line-140"></a><span>
</span><a name="line-141"></a><span class="hs-comment">-- | 'tagId' Traversal</span><span>
</span><a name="line-142"></a><span class="hs-identifier">tagIdT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-type">Tag</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span>
</span><a name="line-143"></a><a name="tagIdT"><a href="SwaggerPetstore.Lens.html#tagIdT"><span class="hs-identifier">tagIdT</span></a></a><span> </span><a name="local-6989586621679079444"><a href="#local-6989586621679079444"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079445"><a href="#local-6989586621679079445"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">tagId</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079446"><a href="#local-6989586621679079446"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079445"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">tagId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079446"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079444"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079445"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-144"></a><span class="hs-pragma">{-# INLINE tagIdT #-}</span><span>
</span><a name="line-145"></a><span>
</span><a name="line-146"></a><span class="hs-comment">-- | 'tagName' Traversal</span><span>
</span><a name="line-147"></a><span class="hs-identifier">tagNameT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-type">Tag</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-148"></a><a name="tagNameT"><a href="SwaggerPetstore.Lens.html#tagNameT"><span class="hs-identifier">tagNameT</span></a></a><span> </span><a name="local-6989586621679079447"><a href="#local-6989586621679079447"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079448"><a href="#local-6989586621679079448"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">tagName</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079449"><a href="#local-6989586621679079449"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079448"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">tagName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079449"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079447"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079448"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-149"></a><span class="hs-pragma">{-# INLINE tagNameT #-}</span><span>
</span><a name="line-150"></a><span>
</span><a name="line-151"></a><span>
</span><a name="line-152"></a><span>
</span><a name="line-153"></a><span class="hs-comment">-- * User</span><span>
</span><a name="line-154"></a><span>
</span><a name="line-155"></a><span class="hs-comment">-- | 'userId' Traversal</span><span>
</span><a name="line-156"></a><span class="hs-identifier">userIdT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Integer</span><span>
</span><a name="line-157"></a><a name="userIdT"><a href="SwaggerPetstore.Lens.html#userIdT"><span class="hs-identifier">userIdT</span></a></a><span> </span><a name="local-6989586621679079450"><a href="#local-6989586621679079450"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079451"><a href="#local-6989586621679079451"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userId</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079452"><a href="#local-6989586621679079452"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079451"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079452"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079450"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079451"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-158"></a><span class="hs-pragma">{-# INLINE userIdT #-}</span><span>
</span><a name="line-159"></a><span>
</span><a name="line-160"></a><span class="hs-comment">-- | 'userUsername' Traversal</span><span>
</span><a name="line-161"></a><span class="hs-identifier">userUsernameT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-162"></a><a name="userUsernameT"><a href="SwaggerPetstore.Lens.html#userUsernameT"><span class="hs-identifier">userUsernameT</span></a></a><span> </span><a name="local-6989586621679079453"><a href="#local-6989586621679079453"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079454"><a href="#local-6989586621679079454"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userUsername</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079455"><a href="#local-6989586621679079455"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079454"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userUsername</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079455"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079453"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079454"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-163"></a><span class="hs-pragma">{-# INLINE userUsernameT #-}</span><span>
</span><a name="line-164"></a><span>
</span><a name="line-165"></a><span class="hs-comment">-- | 'userFirstName' Traversal</span><span>
</span><a name="line-166"></a><span class="hs-identifier">userFirstNameT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-167"></a><a name="userFirstNameT"><a href="SwaggerPetstore.Lens.html#userFirstNameT"><span class="hs-identifier">userFirstNameT</span></a></a><span> </span><a name="local-6989586621679079456"><a href="#local-6989586621679079456"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079457"><a href="#local-6989586621679079457"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userFirstName</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079458"><a href="#local-6989586621679079458"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079457"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userFirstName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079458"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079456"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079457"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-168"></a><span class="hs-pragma">{-# INLINE userFirstNameT #-}</span><span>
</span><a name="line-169"></a><span>
</span><a name="line-170"></a><span class="hs-comment">-- | 'userLastName' Traversal</span><span>
</span><a name="line-171"></a><span class="hs-identifier">userLastNameT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-172"></a><a name="userLastNameT"><a href="SwaggerPetstore.Lens.html#userLastNameT"><span class="hs-identifier">userLastNameT</span></a></a><span> </span><a name="local-6989586621679079459"><a href="#local-6989586621679079459"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079460"><a href="#local-6989586621679079460"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userLastName</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079461"><a href="#local-6989586621679079461"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079460"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userLastName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079461"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079459"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079460"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-173"></a><span class="hs-pragma">{-# INLINE userLastNameT #-}</span><span>
</span><a name="line-174"></a><span>
</span><a name="line-175"></a><span class="hs-comment">-- | 'userEmail' Traversal</span><span>
</span><a name="line-176"></a><span class="hs-identifier">userEmailT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-177"></a><a name="userEmailT"><a href="SwaggerPetstore.Lens.html#userEmailT"><span class="hs-identifier">userEmailT</span></a></a><span> </span><a name="local-6989586621679079462"><a href="#local-6989586621679079462"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079463"><a href="#local-6989586621679079463"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userEmail</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079464"><a href="#local-6989586621679079464"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079463"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userEmail</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079464"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079462"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079463"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-178"></a><span class="hs-pragma">{-# INLINE userEmailT #-}</span><span>
</span><a name="line-179"></a><span>
</span><a name="line-180"></a><span class="hs-comment">-- | 'userPassword' Traversal</span><span>
</span><a name="line-181"></a><span class="hs-identifier">userPasswordT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-182"></a><a name="userPasswordT"><a href="SwaggerPetstore.Lens.html#userPasswordT"><span class="hs-identifier">userPasswordT</span></a></a><span> </span><a name="local-6989586621679079465"><a href="#local-6989586621679079465"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079466"><a href="#local-6989586621679079466"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userPassword</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079467"><a href="#local-6989586621679079467"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079466"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userPassword</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079467"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079465"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079466"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-183"></a><span class="hs-pragma">{-# INLINE userPasswordT #-}</span><span>
</span><a name="line-184"></a><span>
</span><a name="line-185"></a><span class="hs-comment">-- | 'userPhone' Traversal</span><span>
</span><a name="line-186"></a><span class="hs-identifier">userPhoneT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Text</span><span>
</span><a name="line-187"></a><a name="userPhoneT"><a href="SwaggerPetstore.Lens.html#userPhoneT"><span class="hs-identifier">userPhoneT</span></a></a><span> </span><a name="local-6989586621679079468"><a href="#local-6989586621679079468"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079469"><a href="#local-6989586621679079469"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userPhone</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079470"><a href="#local-6989586621679079470"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079469"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userPhone</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079470"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079468"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079469"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-188"></a><span class="hs-pragma">{-# INLINE userPhoneT #-}</span><span>
</span><a name="line-189"></a><span>
</span><a name="line-190"></a><span class="hs-comment">-- | 'userUserStatus' Traversal</span><span>
</span><a name="line-191"></a><span class="hs-identifier">userUserStatusT</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Lens.html#Traversal_%27"><span class="hs-identifier hs-type">Traversal_'</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-identifier hs-type">Int</span><span>
</span><a name="line-192"></a><a name="userUserStatusT"><a href="SwaggerPetstore.Lens.html#userUserStatusT"><span class="hs-identifier">userUserStatusT</span></a></a><span> </span><a name="local-6989586621679079471"><a href="#local-6989586621679079471"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079472"><a href="#local-6989586621679079472"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier hs-var">_mtraversal</span></a><span> </span><span class="hs-identifier">userUserStatus</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079473"><a href="#local-6989586621679079473"><span class="hs-identifier">b</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079472"><span class="hs-identifier hs-var">s</span></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userUserStatus</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679079473"><span class="hs-identifier hs-var">b</span></a><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679079471"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079472"><span class="hs-identifier hs-var">s</span></a><span>
</span><a name="line-193"></a><span class="hs-pragma">{-# INLINE userUserStatusT #-}</span><span>
</span><a name="line-194"></a><span>
</span><a name="line-195"></a><span>
</span><a name="line-196"></a><span>
</span><a name="line-197"></a><span>
</span><a name="line-198"></a><span class="hs-comment">-- * Helpers</span><span>
</span><a name="line-199"></a><span>
</span><a name="line-200"></a><span class="hs-identifier">_mtraversal</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Applicative</span><span> </span><a href="#local-6989586621679079379"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679079380"><span class="hs-identifier hs-type">b</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><a href="#local-6989586621679079381"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679079382"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079380"><span class="hs-identifier hs-type">b</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679079381"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079379"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679079382"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079380"><span class="hs-identifier hs-type">b</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079379"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679079380"><span class="hs-identifier hs-type">b</span></a><span>
</span><a name="line-201"></a><a name="_mtraversal"><a href="SwaggerPetstore.Lens.html#_mtraversal"><span class="hs-identifier">_mtraversal</span></a></a><span> </span><a name="local-6989586621679079474"><a href="#local-6989586621679079474"><span class="hs-identifier">x</span></a></a><span> </span><a name="local-6989586621679079475"><a href="#local-6989586621679079475"><span class="hs-identifier">fsb</span></a></a><span> </span><a name="local-6989586621679079476"><a href="#local-6989586621679079476"><span class="hs-identifier">f</span></a></a><span> </span><a name="local-6989586621679079477"><a href="#local-6989586621679079477"><span class="hs-identifier">s</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">maybe</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">pure</span><span> </span><a href="#local-6989586621679079477"><span class="hs-identifier hs-var">s</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><a name="local-6989586621679079478"><a href="#local-6989586621679079478"><span class="hs-identifier">a</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679079475"><span class="hs-identifier hs-var">fsb</span></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679079476"><span class="hs-identifier hs-var">f</span></a><span> </span><a href="#local-6989586621679079478"><span class="hs-identifier hs-var">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679079474"><span class="hs-identifier hs-var">x</span></a><span> </span><a href="#local-6989586621679079477"><span class="hs-identifier hs-var">s</span></a><span class="hs-special">)</span><span>
</span><a name="line-202"></a><span class="hs-pragma">{-# INLINE _mtraversal #-}</span><span>
</span><a name="line-203"></a></pre></body></html>

View File

@ -0,0 +1,191 @@
<!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">{-|
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>
</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">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-18"></a><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">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-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 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-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">Builder</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BB</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">Char8</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">BC</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">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-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">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-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">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-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">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-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">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-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">Text</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">T</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">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-33"></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-34"></a><span>
</span><a name="line-35"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">$</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;$&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;*&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Maybe</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Bool</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Char</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Double</span><span class="hs-special">,</span><span class="hs-identifier hs-type">FilePath</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Float</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Int</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Integer</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">,</span><span class="hs-identifier hs-var">undefined</span><span class="hs-special">,</span><span class="hs-identifier hs-var">mempty</span><span class="hs-special">)</span><span>
</span><a name="line-36"></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-37"></a><span>
</span><a name="line-38"></a><span class="hs-comment">-- * Content Negotiation</span><span>
</span><a name="line-39"></a><span>
</span><a name="line-40"></a><span class="hs-comment">-- | A type for responses without content-body.</span><span>
</span><a name="line-41"></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-42"></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-43"></a><span>
</span><a name="line-44"></a><span class="hs-comment">-- ** Mime Types</span><span>
</span><a name="line-45"></a><span>
</span><a name="line-46"></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-47"></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-48"></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-49"></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-50"></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-51"></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-52"></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-53"></a><span>
</span><a name="line-54"></a><span>
</span><a name="line-55"></a><span class="hs-comment">-- ** MimeType Class</span><span>
</span><a name="line-56"></a><span>
</span><a name="line-57"></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-6989586621679077524"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeType"><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier">MimeType</span></a></a><span> </span><a name="local-6989586621679077524"><a href="#local-6989586621679077524"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-58"></a><span> </span><span class="hs-pragma">{-# MINIMAL mimeType | mimeTypes #-}</span><span>
</span><a name="line-59"></a><span>
</span><a name="line-60"></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-6989586621679077524"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
</span><a name="line-61"></a><span> </span><a name="local-8214565720323852114"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><span class="hs-identifier">mimeTypes</span></a></a><span> </span><a name="local-6989586621679077681"><a href="#local-6989586621679077681"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-62"></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-6989586621679077681"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-63"></a><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679077682"><a href="#local-6989586621679077682"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><a href="#local-6989586621679077682"><span class="hs-identifier hs-var">x</span></a><span class="hs-special">]</span><span>
</span><a name="line-64"></a><span> </span><span class="hs-identifier hs-var">Nothing</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><a name="line-65"></a><span>
</span><a name="line-66"></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-6989586621679077524"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
</span><a name="line-67"></a><span> </span><a name="local-8214565720323852115"><a href="SwaggerPetstore.MimeTypes.html#mimeType"><span class="hs-identifier">mimeType</span></a></a><span> </span><a name="local-6989586621679077683"><a href="#local-6989586621679077683"><span class="hs-identifier">p</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-68"></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-6989586621679077683"><span class="hs-identifier hs-var">p</span></a><span> </span><span class="hs-keyword">of</span><span>
</span><a name="line-69"></a><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-70"></a><span> </span><span class="hs-special">(</span><a name="local-6989586621679077684"><a href="#local-6989586621679077684"><span class="hs-identifier">x</span></a></a><span class="hs-glyph">:</span><span class="hs-identifier">_</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-var">Just</span><span> </span><a href="#local-6989586621679077684"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-71"></a><span>
</span><a name="line-72"></a><span> </span><span class="hs-identifier">mimeType'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679077524"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span>
</span><a name="line-73"></a><span> </span><a name="local-8214565720323852116"><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-6989586621679077524"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
</span><a name="line-74"></a><span> </span><span class="hs-identifier">mimeTypes'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679077524"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">ME</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">MediaType</span><span class="hs-special">]</span><span>
</span><a name="line-75"></a><span> </span><a name="local-8214565720323852117"><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-6989586621679077524"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span>
</span><a name="line-76"></a><span>
</span><a name="line-77"></a><span class="hs-comment">-- ** MimeType Instances</span><span>
</span><a name="line-78"></a><span>
</span><a name="line-79"></a><span class="hs-comment">-- | @application/json@</span><span>
</span><a name="line-80"></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-81"></a><span> </span><a name="local-8214565720323852114"><a href="SwaggerPetstore.MimeTypes.html#mimeTypes"><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 name="line-82"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;application&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">.//</span><span> </span><span class="hs-string">&quot;json&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">./:</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;charset&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;utf-8&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-83"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;application&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">.//</span><span> </span><span class="hs-string">&quot;json&quot;</span><span>
</span><a name="line-84"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-85"></a><span>
</span><a name="line-86"></a><span class="hs-comment">-- | @application/xml@</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#MimeXML"><span class="hs-identifier hs-type">MimeXML</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-88"></a><span> </span><a name="local-8214565720323852115"><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-string">&quot;application&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">.//</span><span> </span><span class="hs-string">&quot;xml&quot;</span><span>
</span><a name="line-89"></a><span>
</span><a name="line-90"></a><span class="hs-comment">-- | @application/x-www-form-urlencoded@</span><span>
</span><a name="line-91"></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-92"></a><span> </span><a name="local-8214565720323852115"><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-string">&quot;application&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">.//</span><span> </span><span class="hs-string">&quot;x-www-form-urlencoded&quot;</span><span>
</span><a name="line-93"></a><span>
</span><a name="line-94"></a><span class="hs-comment">-- | @multipart/form-data@</span><span>
</span><a name="line-95"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeMultipartFormData"><span class="hs-identifier hs-type">MimeMultipartFormData</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-96"></a><span> </span><a name="local-8214565720323852115"><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-string">&quot;multipart&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">.//</span><span> </span><span class="hs-string">&quot;form-data&quot;</span><span>
</span><a name="line-97"></a><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-8214565720323852115"><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-string">&quot;text&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">.//</span><span> </span><span class="hs-string">&quot;plain&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">./:</span><span> </span><span class="hs-special">(</span><span class="hs-string">&quot;charset&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;utf-8&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-101"></a><span class="hs-keyword">instance</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeType"><span class="hs-identifier hs-type">MimeType</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeOctetStream"><span class="hs-identifier hs-type">MimeOctetStream</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-102"></a><span> </span><a name="local-8214565720323852115"><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-string">&quot;application&quot;</span><span> </span><span class="hs-identifier hs-var">ME</span><span class="hs-operator hs-var">.//</span><span> </span><span class="hs-string">&quot;octet-stream&quot;</span><span>
</span><a name="line-103"></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-104"></a><span> </span><a name="local-8214565720323852115"><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-105"></a><span>
</span><a name="line-106"></a><span>
</span><a name="line-107"></a><span class="hs-comment">-- ** MimeRender Class</span><span>
</span><a name="line-108"></a><span>
</span><a name="line-109"></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-6989586621679077521"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeRender"><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier">MimeRender</span></a></a><span> </span><a name="local-6989586621679077521"><a href="#local-6989586621679077521"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679077522"><a href="#local-6989586621679077522"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-110"></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-6989586621679077521"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679077522"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-111"></a><span> </span><span class="hs-identifier">mimeRender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679077521"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679077522"><span class="hs-identifier hs-type">x</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span>
</span><a name="line-112"></a><span> </span><a name="local-8214565720323852112"><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-6989586621679077523"><a href="#local-6989586621679077523"><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-6989586621679077521"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679077523"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-113"></a><span>
</span><a name="line-114"></a><span>
</span><a name="line-115"></a><span class="hs-comment">-- ** MimeRender Instances</span><span>
</span><a name="line-116"></a><span>
</span><a name="line-117"></a><span class="hs-comment">-- | `A.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">ToJSON</span><span> </span><a href="#local-6989586621679077688"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679077688"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323852111"><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-119"></a><span class="hs-comment">-- | @WH.urlEncodeAsForm@</span><span>
</span><a name="line-120"></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-6989586621679077687"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeRender"><span class="hs-identifier hs-type">MimeRender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679077687"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323852111"><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-121"></a><span>
</span><a name="line-122"></a><span class="hs-comment">-- | @P.id@</span><span>
</span><a name="line-123"></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-8214565720323852111"><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-124"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
</span><a name="line-125"></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-8214565720323852111"><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-126"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
</span><a name="line-127"></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-8214565720323852111"><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-128"></a><span>
</span><a name="line-129"></a><span class="hs-comment">-- | @P.id@</span><span>
</span><a name="line-130"></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-8214565720323852111"><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-131"></a><span class="hs-comment">-- | @BL.fromStrict . T.encodeUtf8@</span><span>
</span><a name="line-132"></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-8214565720323852111"><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-133"></a><span class="hs-comment">-- | @BCL.pack@</span><span>
</span><a name="line-134"></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-8214565720323852111"><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-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#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-8214565720323852111"><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#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-8214565720323852111"><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#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-8214565720323852111"><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.Right . P.const NoContent@</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#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-8214565720323852111"><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-145"></a><span>
</span><a name="line-146"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Double where mimeRender _ = BB.toLazyByteString . BB.doubleDec</span><span>
</span><a name="line-147"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Float where mimeRender _ = BB.toLazyByteString . BB.floatDec</span><span>
</span><a name="line-148"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec</span><span>
</span><a name="line-149"></a><span class="hs-comment">-- instance MimeRender MimeOctetStream Integer where mimeRender _ = BB.toLazyByteString . BB.integerDec</span><span>
</span><a name="line-150"></a><span>
</span><a name="line-151"></a><span>
</span><a name="line-152"></a><span class="hs-comment">-- ** MimeUnrender Class</span><span>
</span><a name="line-153"></a><span>
</span><a name="line-154"></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-6989586621679077227"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="MimeUnrender"><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier">MimeUnrender</span></a></a><span> </span><a name="local-6989586621679077227"><a href="#local-6989586621679077227"><span class="hs-identifier">mtype</span></a></a><span> </span><a name="local-6989586621679077228"><a href="#local-6989586621679077228"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-155"></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-6989586621679077227"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679077228"><span class="hs-identifier hs-type">o</span></a><span>
</span><a name="line-156"></a><span> </span><span class="hs-identifier">mimeUnrender'</span><span> </span><span class="hs-glyph">::</span><span> </span><a href="#local-6989586621679077227"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">BL</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ByteString</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Either</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><a href="#local-6989586621679077228"><span class="hs-identifier hs-type">o</span></a><span>
</span><a name="line-157"></a><span> </span><a name="local-8214565720323852109"><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-6989586621679077520"><a href="#local-6989586621679077520"><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-6989586621679077227"><span class="hs-identifier hs-type">mtype</span></a><span class="hs-special">)</span><span> </span><a href="#local-6989586621679077520"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-158"></a><span>
</span><a name="line-159"></a><span class="hs-comment">-- ** MimeUnrender Instances</span><span>
</span><a name="line-160"></a><span>
</span><a name="line-161"></a><span class="hs-comment">-- | @A.eitherDecode@</span><span>
</span><a name="line-162"></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-6989586621679077686"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeJSON"><span class="hs-identifier hs-type">MimeJSON</span></a><span> </span><a href="#local-6989586621679077686"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323852108"><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-163"></a><span class="hs-comment">-- | @P.left T.unpack . WH.urlDecodeAsForm@</span><span>
</span><a name="line-164"></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-6989586621679077685"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeUnrender"><span class="hs-identifier hs-type">MimeUnrender</span></a><span> </span><a href="SwaggerPetstore.MimeTypes.html#MimeFormUrlEncoded"><span class="hs-identifier hs-type">MimeFormUrlEncoded</span></a><span> </span><a href="#local-6989586621679077685"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-keyword">where</span><span> </span><a name="local-8214565720323852108"><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-165"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
</span><a name="line-166"></a><span>
</span><a name="line-167"></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-8214565720323852108"><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-168"></a><span class="hs-comment">-- | @P.left P.show . TL.decodeUtf8'@</span><span>
</span><a name="line-169"></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-8214565720323852108"><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-170"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
</span><a name="line-171"></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-8214565720323852108"><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-172"></a><span>
</span><a name="line-173"></a><span class="hs-comment">-- | @P.Right . P.id@</span><span>
</span><a name="line-174"></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-8214565720323852108"><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-175"></a><span class="hs-comment">-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@</span><span>
</span><a name="line-176"></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-8214565720323852108"><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-177"></a><span class="hs-comment">-- | @P.Right . BCL.unpack@</span><span>
</span><a name="line-178"></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-8214565720323852108"><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-179"></a><span>
</span><a name="line-180"></a><span class="hs-comment">-- | @P.Right . P.const NoContent@</span><span>
</span><a name="line-181"></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-8214565720323852108"><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-182"></a><span>
</span><a name="line-183"></a><span>
</span><a name="line-184"></a><span class="hs-comment">-- ** Request Consumes</span><span>
</span><a name="line-185"></a><span>
</span><a name="line-186"></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-6989586621679077226"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="Consumes"><a href="SwaggerPetstore.MimeTypes.html#Consumes"><span class="hs-identifier">Consumes</span></a></a><span> </span><a name="local-6989586621679077225"><a href="#local-6989586621679077225"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679077226"><a href="#local-6989586621679077226"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-187"></a><span>
</span><a name="line-188"></a><span class="hs-comment">-- ** Request Produces</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-6989586621679077224"><span class="hs-identifier hs-type">mtype</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a name="Produces"><a href="SwaggerPetstore.MimeTypes.html#Produces"><span class="hs-identifier">Produces</span></a></a><span> </span><a name="local-6989586621679077223"><a href="#local-6989586621679077223"><span class="hs-identifier">req</span></a></a><span> </span><a name="local-6989586621679077224"><a href="#local-6989586621679077224"><span class="hs-identifier">mtype</span></a></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-191"></a></pre></body></html>

View File

@ -0,0 +1,378 @@
<!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">{-|
Module : SwaggerPetstore.Model
-}</span><span>
</span><a name="line-4"></a><span>
</span><a name="line-5"></a><span class="hs-pragma">{-# LANGUAGE DeriveAnyClass #-}</span><span>
</span><a name="line-6"></a><span class="hs-pragma">{-# LANGUAGE DeriveDataTypeable #-}</span><span>
</span><a name="line-7"></a><span class="hs-pragma">{-# LANGUAGE DeriveFoldable #-}</span><span>
</span><a name="line-8"></a><span class="hs-pragma">{-# LANGUAGE DeriveGeneric #-}</span><span>
</span><a name="line-9"></a><span class="hs-pragma">{-# LANGUAGE DeriveTraversable #-}</span><span>
</span><a name="line-10"></a><span class="hs-pragma">{-# LANGUAGE GeneralizedNewtypeDeriving #-}</span><span>
</span><a name="line-11"></a><span class="hs-pragma">{-# LANGUAGE NamedFieldPuns #-}</span><span>
</span><a name="line-12"></a><span class="hs-pragma">{-# LANGUAGE OverloadedStrings #-}</span><span>
</span><a name="line-13"></a><span class="hs-pragma">{-# LANGUAGE RecordWildCards #-}</span><span>
</span><a name="line-14"></a><span class="hs-pragma">{-# LANGUAGE TupleSections #-}</span><span>
</span><a name="line-15"></a><span class="hs-pragma">{-# LANGUAGE TypeFamilies #-}</span><span>
</span><a name="line-16"></a><span class="hs-pragma">{-# OPTIONS_GHC -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}</span><span>
</span><a name="line-17"></a><span>
</span><a name="line-18"></a><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><span class="hs-keyword">where</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-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Aeson</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 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>
</span><a name="line-21"></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-22"></a><span>
</span><a name="line-23"></a><span class="hs-keyword">import</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-special">(</span><span class="hs-identifier hs-type">Value</span><span class="hs-special">)</span><span>
</span><a name="line-24"></a><span class="hs-keyword">import</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-special">(</span><span class="hs-identifier hs-type">ByteString</span><span class="hs-special">)</span><span>
</span><a name="line-25"></a><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">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-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">ByteString</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">B</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">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">Data</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Typeable</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">HashMap</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">HM</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">Map</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">Map</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">Maybe</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</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">Foldable</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">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-34"></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-35"></a><span>
</span><a name="line-36"></a><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="hs-identifier">Data</span><span class="hs-operator">.</span><span class="hs-identifier">Time</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</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">Time</span><span class="hs-operator">.</span><span class="hs-identifier">ISO8601</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">TI</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">Time</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">UTCTime</span><span class="hs-special">)</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-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Applicative</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;|&gt;</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><a name="line-41"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Control</span><span class="hs-operator">.</span><span class="hs-identifier">Applicative</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">Alternative</span><span class="hs-special">)</span><span>
</span><a name="line-42"></a><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Prelude</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-operator hs-var">$</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="hs-operator hs-var">.</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;$&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&lt;*&gt;</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-special">(</span><span class="hs-operator hs-var">&gt;&gt;=</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Maybe</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Bool</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Char</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Double</span><span class="hs-special">,</span><span class="hs-identifier hs-type">FilePath</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Float</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Int</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Integer</span><span class="hs-special">,</span><span class="hs-identifier hs-type">String</span><span class="hs-special">,</span><span class="hs-identifier hs-var">fmap</span><span class="hs-special">,</span><span class="hs-identifier hs-var">undefined</span><span class="hs-special">,</span><span class="hs-identifier hs-var">mempty</span><span class="hs-special">,</span><span class="hs-identifier hs-var">maybe</span><span class="hs-special">,</span><span class="hs-identifier hs-var">pure</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Monad</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Applicative</span><span class="hs-special">,</span><span class="hs-identifier hs-type">Functor</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">Prelude</span><span> </span><span class="hs-keyword">as</span><span> </span><span class="hs-identifier">P</span><span>
</span><a name="line-44"></a><span>
</span><a name="line-45"></a><span>
</span><a name="line-46"></a><span>
</span><a name="line-47"></a><span class="hs-comment">-- * Models</span><span>
</span><a name="line-48"></a><span>
</span><a name="line-49"></a><span>
</span><a name="line-50"></a><span class="hs-comment">-- ** ApiResponse</span><span>
</span><a name="line-51"></a><span class="hs-comment">-- |</span><span>
</span><a name="line-52"></a><span class="hs-comment">-- An uploaded response</span><span>
</span><a name="line-53"></a><span class="hs-comment">-- </span><span>
</span><a name="line-54"></a><span class="hs-comment">-- Describes the result of uploading an image resource</span><span>
</span><a name="line-55"></a><span class="hs-keyword">data</span><span> </span><a name="ApiResponse"><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier">ApiResponse</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="ApiResponse"><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier">ApiResponse</span></a></a><span>
</span><a name="line-56"></a><span> </span><span class="hs-special">{</span><span> </span><a name="apiResponseCode"><a href="SwaggerPetstore.Model.html#apiResponseCode"><span class="hs-identifier">apiResponseCode</span></a></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">Int</span><span> </span><span class="hs-comment">-- ^ &quot;code&quot;</span><span>
</span><a name="line-57"></a><span> </span><span class="hs-special">,</span><span> </span><a name="apiResponseType"><a href="SwaggerPetstore.Model.html#apiResponseType"><span class="hs-identifier">apiResponseType</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;type&quot;</span><span>
</span><a name="line-58"></a><span> </span><span class="hs-special">,</span><span> </span><a name="apiResponseMessage"><a href="SwaggerPetstore.Model.html#apiResponseMessage"><span class="hs-identifier">apiResponseMessage</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;message&quot;</span><span>
</span><a name="line-59"></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">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</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">Eq</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>
</span><a name="line-61"></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="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-type">ApiResponse</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-62"></a><span> </span><a name="local-8214565720323785739"><span class="hs-identifier">parseJSON</span></a><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">withObject</span><span> </span><span class="hs-string">&quot;ApiResponse&quot;</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-glyph">\</span><a name="local-6989586621679072660"><a href="#local-6989586621679072660"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><a name="line-63"></a><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-var">ApiResponse</span></a><span>
</span><a name="line-64"></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072660"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;code&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-65"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072660"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;type&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-66"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072660"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;message&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-67"></a><span>
</span><a name="line-68"></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="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-type">ApiResponse</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-69"></a><span> </span><a name="local-8214565720323785610"><span class="hs-identifier">toJSON</span></a><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-var">ApiResponse</span></a><span> </span><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-70"></a><span> </span><a href="SwaggerPetstore.Model.html#_omitNulls"><span class="hs-identifier hs-var">_omitNulls</span></a><span>
</span><a name="line-71"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;code&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072657"><span class="hs-identifier hs-var">apiResponseCode</span></a><span>
</span><a name="line-72"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;type&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072658"><span class="hs-identifier hs-var">apiResponseType</span></a><span>
</span><a name="line-73"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;message&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072659"><span class="hs-identifier hs-var">apiResponseMessage</span></a><span>
</span><a name="line-74"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-75"></a><span>
</span><a name="line-76"></a><span>
</span><a name="line-77"></a><span class="hs-comment">-- | Construct a value of type 'ApiResponse' (by applying it's required fields, if any)</span><span>
</span><a name="line-78"></a><span class="hs-identifier">mkApiResponse</span><span>
</span><a name="line-79"></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-type">ApiResponse</span></a><span>
</span><a name="line-80"></a><a name="mkApiResponse"><a href="SwaggerPetstore.Model.html#mkApiResponse"><span class="hs-identifier">mkApiResponse</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-81"></a><span> </span><a href="SwaggerPetstore.Model.html#ApiResponse"><span class="hs-identifier hs-var">ApiResponse</span></a><span>
</span><a name="line-82"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">apiResponseCode</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-83"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">apiResponseType</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-84"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">apiResponseMessage</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-85"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-86"></a><span> </span><span>
</span><a name="line-87"></a><span>
</span><a name="line-88"></a><span>
</span><a name="line-89"></a><span class="hs-comment">-- ** Category</span><span>
</span><a name="line-90"></a><span class="hs-comment">-- |</span><span>
</span><a name="line-91"></a><span class="hs-comment">-- Pet catehgry</span><span>
</span><a name="line-92"></a><span class="hs-comment">-- </span><span>
</span><a name="line-93"></a><span class="hs-comment">-- A category for a pet</span><span>
</span><a name="line-94"></a><span class="hs-keyword">data</span><span> </span><a name="Category"><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier">Category</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="Category"><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier">Category</span></a></a><span>
</span><a name="line-95"></a><span> </span><span class="hs-special">{</span><span> </span><a name="categoryId"><a href="SwaggerPetstore.Model.html#categoryId"><span class="hs-identifier">categoryId</span></a></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">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;id&quot;</span><span>
</span><a name="line-96"></a><span> </span><span class="hs-special">,</span><span> </span><a name="categoryName"><a href="SwaggerPetstore.Model.html#categoryName"><span class="hs-identifier">categoryName</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;name&quot;</span><span>
</span><a name="line-97"></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">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</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">Eq</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-98"></a><span>
</span><a name="line-99"></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="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-type">Category</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-100"></a><span> </span><a name="local-8214565720323785739"><span class="hs-identifier">parseJSON</span></a><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">withObject</span><span> </span><span class="hs-string">&quot;Category&quot;</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-glyph">\</span><a name="local-6989586621679072656"><a href="#local-6989586621679072656"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><a name="line-101"></a><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-var">Category</span></a><span>
</span><a name="line-102"></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072656"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;id&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-103"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072656"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;name&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-104"></a><span>
</span><a name="line-105"></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="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-type">Category</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-106"></a><span> </span><a name="local-8214565720323785610"><span class="hs-identifier">toJSON</span></a><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-var">Category</span></a><span> </span><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-107"></a><span> </span><a href="SwaggerPetstore.Model.html#_omitNulls"><span class="hs-identifier hs-var">_omitNulls</span></a><span>
</span><a name="line-108"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;id&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072654"><span class="hs-identifier hs-var">categoryId</span></a><span>
</span><a name="line-109"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;name&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072655"><span class="hs-identifier hs-var">categoryName</span></a><span>
</span><a name="line-110"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-111"></a><span>
</span><a name="line-112"></a><span>
</span><a name="line-113"></a><span class="hs-comment">-- | Construct a value of type 'Category' (by applying it's required fields, if any)</span><span>
</span><a name="line-114"></a><span class="hs-identifier">mkCategory</span><span>
</span><a name="line-115"></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-type">Category</span></a><span>
</span><a name="line-116"></a><a name="mkCategory"><a href="SwaggerPetstore.Model.html#mkCategory"><span class="hs-identifier">mkCategory</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-117"></a><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-var">Category</span></a><span>
</span><a name="line-118"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">categoryId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-119"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">categoryName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-120"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-121"></a><span> </span><span>
</span><a name="line-122"></a><span>
</span><a name="line-123"></a><span>
</span><a name="line-124"></a><span class="hs-comment">-- ** Order</span><span>
</span><a name="line-125"></a><span class="hs-comment">-- |</span><span>
</span><a name="line-126"></a><span class="hs-comment">-- Pet Order</span><span>
</span><a name="line-127"></a><span class="hs-comment">-- </span><span>
</span><a name="line-128"></a><span class="hs-comment">-- An order for a pets from the pet store</span><span>
</span><a name="line-129"></a><span class="hs-keyword">data</span><span> </span><a name="Order"><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier">Order</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="Order"><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier">Order</span></a></a><span>
</span><a name="line-130"></a><span> </span><span class="hs-special">{</span><span> </span><a name="orderId"><a href="SwaggerPetstore.Model.html#orderId"><span class="hs-identifier">orderId</span></a></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">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;id&quot;</span><span>
</span><a name="line-131"></a><span> </span><span class="hs-special">,</span><span> </span><a name="orderPetId"><a href="SwaggerPetstore.Model.html#orderPetId"><span class="hs-identifier">orderPetId</span></a></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">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;petId&quot;</span><span>
</span><a name="line-132"></a><span> </span><span class="hs-special">,</span><span> </span><a name="orderQuantity"><a href="SwaggerPetstore.Model.html#orderQuantity"><span class="hs-identifier">orderQuantity</span></a></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">Int</span><span> </span><span class="hs-comment">-- ^ &quot;quantity&quot;</span><span>
</span><a name="line-133"></a><span> </span><span class="hs-special">,</span><span> </span><a name="orderShipDate"><a href="SwaggerPetstore.Model.html#orderShipDate"><span class="hs-identifier">orderShipDate</span></a></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">UTCTime</span><span> </span><span class="hs-comment">-- ^ &quot;shipDate&quot;</span><span>
</span><a name="line-134"></a><span> </span><span class="hs-special">,</span><span> </span><a name="orderStatus"><a href="SwaggerPetstore.Model.html#orderStatus"><span class="hs-identifier">orderStatus</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;status&quot; - Order Status</span><span>
</span><a name="line-135"></a><span> </span><span class="hs-special">,</span><span> </span><a name="orderComplete"><a href="SwaggerPetstore.Model.html#orderComplete"><span class="hs-identifier">orderComplete</span></a></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">Bool</span><span> </span><span class="hs-comment">-- ^ &quot;complete&quot;</span><span>
</span><a name="line-136"></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">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</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">Eq</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-137"></a><span>
</span><a name="line-138"></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="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-139"></a><span> </span><a name="local-8214565720323785739"><span class="hs-identifier">parseJSON</span></a><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">withObject</span><span> </span><span class="hs-string">&quot;Order&quot;</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-glyph">\</span><a name="local-6989586621679072183"><a href="#local-6989586621679072183"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><a name="line-140"></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-var">Order</span></a><span>
</span><a name="line-141"></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072183"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;id&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-142"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072183"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;petId&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-143"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072183"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;quantity&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-144"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072183"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;shipDate&quot;</span><span> </span><span class="hs-operator hs-var">&gt;&gt;=</span><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">mapM</span><span> </span><a href="SwaggerPetstore.Model.html#_readDateTime"><span class="hs-identifier hs-var">_readDateTime</span></a><span class="hs-special">)</span><span>
</span><a name="line-145"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072183"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;status&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-146"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072183"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;complete&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-147"></a><span>
</span><a name="line-148"></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="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-149"></a><span> </span><a name="local-8214565720323785610"><span class="hs-identifier">toJSON</span></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-var">Order</span></a><span> </span><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-150"></a><span> </span><a href="SwaggerPetstore.Model.html#_omitNulls"><span class="hs-identifier hs-var">_omitNulls</span></a><span>
</span><a name="line-151"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;id&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072177"><span class="hs-identifier hs-var">orderId</span></a><span>
</span><a name="line-152"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;petId&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072178"><span class="hs-identifier hs-var">orderPetId</span></a><span>
</span><a name="line-153"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;quantity&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072179"><span class="hs-identifier hs-var">orderQuantity</span></a><span>
</span><a name="line-154"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;shipDate&quot;</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">fmap</span><span> </span><a href="SwaggerPetstore.Model.html#_showDateTime"><span class="hs-identifier hs-var">_showDateTime</span></a><span> </span><a href="#local-6989586621679072180"><span class="hs-identifier hs-var">orderShipDate</span></a><span>
</span><a name="line-155"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;status&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072181"><span class="hs-identifier hs-var">orderStatus</span></a><span>
</span><a name="line-156"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;complete&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072182"><span class="hs-identifier hs-var">orderComplete</span></a><span>
</span><a name="line-157"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-158"></a><span>
</span><a name="line-159"></a><span>
</span><a name="line-160"></a><span class="hs-comment">-- | Construct a value of type 'Order' (by applying it's required fields, if any)</span><span>
</span><a name="line-161"></a><span class="hs-identifier">mkOrder</span><span>
</span><a name="line-162"></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-type">Order</span></a><span>
</span><a name="line-163"></a><a name="mkOrder"><a href="SwaggerPetstore.Model.html#mkOrder"><span class="hs-identifier">mkOrder</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-164"></a><span> </span><a href="SwaggerPetstore.Model.html#Order"><span class="hs-identifier hs-var">Order</span></a><span>
</span><a name="line-165"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">orderId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-166"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">orderPetId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-167"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">orderQuantity</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-168"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">orderShipDate</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-169"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">orderStatus</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-170"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">orderComplete</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-171"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-172"></a><span> </span><span>
</span><a name="line-173"></a><span>
</span><a name="line-174"></a><span>
</span><a name="line-175"></a><span class="hs-comment">-- ** Pet</span><span>
</span><a name="line-176"></a><span class="hs-comment">-- |</span><span>
</span><a name="line-177"></a><span class="hs-comment">-- a Pet</span><span>
</span><a name="line-178"></a><span class="hs-comment">-- </span><span>
</span><a name="line-179"></a><span class="hs-comment">-- A pet for sale in the pet store</span><span>
</span><a name="line-180"></a><span class="hs-keyword">data</span><span> </span><a name="Pet"><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier">Pet</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="Pet"><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier">Pet</span></a></a><span>
</span><a name="line-181"></a><span> </span><span class="hs-special">{</span><span> </span><a name="petId"><a href="SwaggerPetstore.Model.html#petId"><span class="hs-identifier">petId</span></a></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">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;id&quot;</span><span>
</span><a name="line-182"></a><span> </span><span class="hs-special">,</span><span> </span><a name="petCategory"><a href="SwaggerPetstore.Model.html#petCategory"><span class="hs-identifier">petCategory</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><a href="SwaggerPetstore.Model.html#Category"><span class="hs-identifier hs-type">Category</span></a><span> </span><span class="hs-comment">-- ^ &quot;category&quot;</span><span>
</span><a name="line-183"></a><span> </span><span class="hs-special">,</span><span> </span><a name="petName"><a href="SwaggerPetstore.Model.html#petName"><span class="hs-identifier">petName</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">-- ^ /Required/ &quot;name&quot;</span><span>
</span><a name="line-184"></a><span> </span><span class="hs-special">,</span><span> </span><a name="petPhotoUrls"><a href="SwaggerPetstore.Model.html#petPhotoUrls"><span class="hs-identifier">petPhotoUrls</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ /Required/ &quot;photoUrls&quot;</span><span>
</span><a name="line-185"></a><span> </span><span class="hs-special">,</span><span> </span><a name="petTags"><a href="SwaggerPetstore.Model.html#petTags"><span class="hs-identifier">petTags</span></a></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-special">[</span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-type">Tag</span></a><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ &quot;tags&quot;</span><span>
</span><a name="line-186"></a><span> </span><span class="hs-special">,</span><span> </span><a name="petStatus"><a href="SwaggerPetstore.Model.html#petStatus"><span class="hs-identifier">petStatus</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;status&quot; - pet status in the store</span><span>
</span><a name="line-187"></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">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</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">Eq</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-188"></a><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="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-190"></a><span> </span><a name="local-8214565720323785739"><span class="hs-identifier">parseJSON</span></a><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">withObject</span><span> </span><span class="hs-string">&quot;Pet&quot;</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-glyph">\</span><a name="local-6989586621679072176"><a href="#local-6989586621679072176"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><a name="line-191"></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-var">Pet</span></a><span>
</span><a name="line-192"></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072176"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;id&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-193"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072176"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;category&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-194"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072176"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:</span><span> </span><span class="hs-string">&quot;name&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-195"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072176"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:</span><span> </span><span class="hs-string">&quot;photoUrls&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-196"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072176"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;tags&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-197"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072176"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;status&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-198"></a><span>
</span><a name="line-199"></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="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-200"></a><span> </span><a name="local-8214565720323785610"><span class="hs-identifier">toJSON</span></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-var">Pet</span></a><span> </span><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-201"></a><span> </span><a href="SwaggerPetstore.Model.html#_omitNulls"><span class="hs-identifier hs-var">_omitNulls</span></a><span>
</span><a name="line-202"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;id&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072170"><span class="hs-identifier hs-var">petId</span></a><span>
</span><a name="line-203"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;category&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072171"><span class="hs-identifier hs-var">petCategory</span></a><span>
</span><a name="line-204"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;name&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072172"><span class="hs-identifier hs-var">petName</span></a><span>
</span><a name="line-205"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;photoUrls&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072173"><span class="hs-identifier hs-var">petPhotoUrls</span></a><span>
</span><a name="line-206"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;tags&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072174"><span class="hs-identifier hs-var">petTags</span></a><span>
</span><a name="line-207"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;status&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072175"><span class="hs-identifier hs-var">petStatus</span></a><span>
</span><a name="line-208"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-209"></a><span>
</span><a name="line-210"></a><span>
</span><a name="line-211"></a><span class="hs-comment">-- | Construct a value of type 'Pet' (by applying it's required fields, if any)</span><span>
</span><a name="line-212"></a><span class="hs-identifier">mkPet</span><span>
</span><a name="line-213"></a><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">Text</span><span> </span><span class="hs-comment">-- ^ 'petName' </span><span>
</span><a name="line-214"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ 'petPhotoUrls' </span><span>
</span><a name="line-215"></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-type">Pet</span></a><span>
</span><a name="line-216"></a><a name="mkPet"><a href="SwaggerPetstore.Model.html#mkPet"><span class="hs-identifier">mkPet</span></a></a><span> </span><a name="local-6989586621679071626"><a href="#local-6989586621679071626"><span class="hs-identifier">petName</span></a></a><span> </span><a name="local-6989586621679071627"><a href="#local-6989586621679071627"><span class="hs-identifier">petPhotoUrls</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-217"></a><span> </span><a href="SwaggerPetstore.Model.html#Pet"><span class="hs-identifier hs-var">Pet</span></a><span>
</span><a name="line-218"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">petId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-219"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">petCategory</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-220"></a><span> </span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679071626"><span class="hs-identifier hs-var">petName</span></a><span>
</span><a name="line-221"></a><span> </span><span class="hs-special">,</span><span> </span><a href="#local-6989586621679071627"><span class="hs-identifier hs-var">petPhotoUrls</span></a><span>
</span><a name="line-222"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">petTags</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-223"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">petStatus</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-224"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-225"></a><span> </span><span>
</span><a name="line-226"></a><span>
</span><a name="line-227"></a><span>
</span><a name="line-228"></a><span class="hs-comment">-- ** Tag</span><span>
</span><a name="line-229"></a><span class="hs-comment">-- |</span><span>
</span><a name="line-230"></a><span class="hs-comment">-- Pet Tag</span><span>
</span><a name="line-231"></a><span class="hs-comment">-- </span><span>
</span><a name="line-232"></a><span class="hs-comment">-- A tag for a pet</span><span>
</span><a name="line-233"></a><span class="hs-keyword">data</span><span> </span><a name="Tag"><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier">Tag</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="Tag"><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier">Tag</span></a></a><span>
</span><a name="line-234"></a><span> </span><span class="hs-special">{</span><span> </span><a name="tagId"><a href="SwaggerPetstore.Model.html#tagId"><span class="hs-identifier">tagId</span></a></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">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;id&quot;</span><span>
</span><a name="line-235"></a><span> </span><span class="hs-special">,</span><span> </span><a name="tagName"><a href="SwaggerPetstore.Model.html#tagName"><span class="hs-identifier">tagName</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;name&quot;</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">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</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">Eq</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-237"></a><span>
</span><a name="line-238"></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="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-type">Tag</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-239"></a><span> </span><a name="local-8214565720323785739"><span class="hs-identifier">parseJSON</span></a><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">withObject</span><span> </span><span class="hs-string">&quot;Tag&quot;</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-glyph">\</span><a name="local-6989586621679072169"><a href="#local-6989586621679072169"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><a name="line-240"></a><span> </span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-var">Tag</span></a><span>
</span><a name="line-241"></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072169"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;id&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-242"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072169"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;name&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-243"></a><span>
</span><a name="line-244"></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="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-type">Tag</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-245"></a><span> </span><a name="local-8214565720323785610"><span class="hs-identifier">toJSON</span></a><span> </span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-var">Tag</span></a><span> </span><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-246"></a><span> </span><a href="SwaggerPetstore.Model.html#_omitNulls"><span class="hs-identifier hs-var">_omitNulls</span></a><span>
</span><a name="line-247"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;id&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072167"><span class="hs-identifier hs-var">tagId</span></a><span>
</span><a name="line-248"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;name&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072168"><span class="hs-identifier hs-var">tagName</span></a><span>
</span><a name="line-249"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-250"></a><span>
</span><a name="line-251"></a><span>
</span><a name="line-252"></a><span class="hs-comment">-- | Construct a value of type 'Tag' (by applying it's required fields, if any)</span><span>
</span><a name="line-253"></a><span class="hs-identifier">mkTag</span><span>
</span><a name="line-254"></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-type">Tag</span></a><span>
</span><a name="line-255"></a><a name="mkTag"><a href="SwaggerPetstore.Model.html#mkTag"><span class="hs-identifier">mkTag</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-256"></a><span> </span><a href="SwaggerPetstore.Model.html#Tag"><span class="hs-identifier hs-var">Tag</span></a><span>
</span><a name="line-257"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">tagId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-258"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">tagName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-259"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-260"></a><span> </span><span>
</span><a name="line-261"></a><span>
</span><a name="line-262"></a><span>
</span><a name="line-263"></a><span class="hs-comment">-- ** User</span><span>
</span><a name="line-264"></a><span class="hs-comment">-- |</span><span>
</span><a name="line-265"></a><span class="hs-comment">-- a User</span><span>
</span><a name="line-266"></a><span class="hs-comment">-- </span><span>
</span><a name="line-267"></a><span class="hs-comment">-- A User who is purchasing from the pet store</span><span>
</span><a name="line-268"></a><span class="hs-keyword">data</span><span> </span><a name="User"><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier">User</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a name="User"><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier">User</span></a></a><span>
</span><a name="line-269"></a><span> </span><span class="hs-special">{</span><span> </span><a name="userId"><a href="SwaggerPetstore.Model.html#userId"><span class="hs-identifier">userId</span></a></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">Integer</span><span> </span><span class="hs-comment">-- ^ &quot;id&quot;</span><span>
</span><a name="line-270"></a><span> </span><span class="hs-special">,</span><span> </span><a name="userUsername"><a href="SwaggerPetstore.Model.html#userUsername"><span class="hs-identifier">userUsername</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;username&quot;</span><span>
</span><a name="line-271"></a><span> </span><span class="hs-special">,</span><span> </span><a name="userFirstName"><a href="SwaggerPetstore.Model.html#userFirstName"><span class="hs-identifier">userFirstName</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;firstName&quot;</span><span>
</span><a name="line-272"></a><span> </span><span class="hs-special">,</span><span> </span><a name="userLastName"><a href="SwaggerPetstore.Model.html#userLastName"><span class="hs-identifier">userLastName</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;lastName&quot;</span><span>
</span><a name="line-273"></a><span> </span><span class="hs-special">,</span><span> </span><a name="userEmail"><a href="SwaggerPetstore.Model.html#userEmail"><span class="hs-identifier">userEmail</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;email&quot;</span><span>
</span><a name="line-274"></a><span> </span><span class="hs-special">,</span><span> </span><a name="userPassword"><a href="SwaggerPetstore.Model.html#userPassword"><span class="hs-identifier">userPassword</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;password&quot;</span><span>
</span><a name="line-275"></a><span> </span><span class="hs-special">,</span><span> </span><a name="userPhone"><a href="SwaggerPetstore.Model.html#userPhone"><span class="hs-identifier">userPhone</span></a></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">Text</span><span> </span><span class="hs-comment">-- ^ &quot;phone&quot;</span><span>
</span><a name="line-276"></a><span> </span><span class="hs-special">,</span><span> </span><a name="userUserStatus"><a href="SwaggerPetstore.Model.html#userUserStatus"><span class="hs-identifier">userUserStatus</span></a></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">Int</span><span> </span><span class="hs-comment">-- ^ &quot;userStatus&quot; - User Status</span><span>
</span><a name="line-277"></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">P</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Show</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">Eq</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-278"></a><span>
</span><a name="line-279"></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="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-280"></a><span> </span><a name="local-8214565720323785739"><span class="hs-identifier">parseJSON</span></a><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">withObject</span><span> </span><span class="hs-string">&quot;User&quot;</span><span> </span><span class="hs-operator hs-var">$</span><span> </span><span class="hs-glyph">\</span><a name="local-6989586621679072166"><a href="#local-6989586621679072166"><span class="hs-identifier">o</span></a></a><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><a name="line-281"></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-var">User</span></a><span>
</span><a name="line-282"></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;id&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-283"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;username&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-284"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;firstName&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-285"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;lastName&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-286"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;email&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-287"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;password&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-288"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;phone&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-289"></a><span> </span><span class="hs-operator hs-var">&lt;*&gt;</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679072166"><span class="hs-identifier hs-var">o</span></a><span> </span><span class="hs-operator hs-var">.:?</span><span> </span><span class="hs-string">&quot;userStatus&quot;</span><span class="hs-special">)</span><span>
</span><a name="line-290"></a><span>
</span><a name="line-291"></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="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-292"></a><span> </span><a name="local-8214565720323785610"><span class="hs-identifier">toJSON</span></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-var">User</span></a><span> </span><span class="hs-special">{</span><span class="hs-glyph">..</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-293"></a><span> </span><a href="SwaggerPetstore.Model.html#_omitNulls"><span class="hs-identifier hs-var">_omitNulls</span></a><span>
</span><a name="line-294"></a><span> </span><span class="hs-special">[</span><span> </span><span class="hs-string">&quot;id&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072158"><span class="hs-identifier hs-var">userId</span></a><span>
</span><a name="line-295"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;username&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072159"><span class="hs-identifier hs-var">userUsername</span></a><span>
</span><a name="line-296"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;firstName&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072160"><span class="hs-identifier hs-var">userFirstName</span></a><span>
</span><a name="line-297"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;lastName&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072161"><span class="hs-identifier hs-var">userLastName</span></a><span>
</span><a name="line-298"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;email&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072162"><span class="hs-identifier hs-var">userEmail</span></a><span>
</span><a name="line-299"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;password&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072163"><span class="hs-identifier hs-var">userPassword</span></a><span>
</span><a name="line-300"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;phone&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072164"><span class="hs-identifier hs-var">userPhone</span></a><span>
</span><a name="line-301"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;userStatus&quot;</span><span> </span><span class="hs-operator hs-var">.=</span><span> </span><a href="#local-6989586621679072165"><span class="hs-identifier hs-var">userUserStatus</span></a><span>
</span><a name="line-302"></a><span> </span><span class="hs-special">]</span><span>
</span><a name="line-303"></a><span>
</span><a name="line-304"></a><span>
</span><a name="line-305"></a><span class="hs-comment">-- | Construct a value of type 'User' (by applying it's required fields, if any)</span><span>
</span><a name="line-306"></a><span class="hs-identifier">mkUser</span><span>
</span><a name="line-307"></a><span> </span><span class="hs-glyph">::</span><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-type">User</span></a><span>
</span><a name="line-308"></a><a name="mkUser"><a href="SwaggerPetstore.Model.html#mkUser"><span class="hs-identifier">mkUser</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-309"></a><span> </span><a href="SwaggerPetstore.Model.html#User"><span class="hs-identifier hs-var">User</span></a><span>
</span><a name="line-310"></a><span> </span><span class="hs-special">{</span><span> </span><span class="hs-identifier">userId</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-311"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">userUsername</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-312"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">userFirstName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-313"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">userLastName</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-314"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">userEmail</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-315"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">userPassword</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-316"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">userPhone</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-317"></a><span> </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">userUserStatus</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-318"></a><span> </span><span class="hs-special">}</span><span>
</span><a name="line-319"></a><span> </span><span>
</span><a name="line-320"></a><span>
</span><a name="line-321"></a><span>
</span><a name="line-322"></a><span class="hs-comment">-- * Utils</span><span>
</span><a name="line-323"></a><span>
</span><a name="line-324"></a><span class="hs-comment">-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)</span><span>
</span><a name="line-325"></a><span>
</span><a name="line-326"></a><span class="hs-identifier">_omitNulls</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Value</span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">A</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">Value</span><span>
</span><a name="line-327"></a><a name="_omitNulls"><a href="SwaggerPetstore.Model.html#_omitNulls"><span class="hs-identifier">_omitNulls</span></a></a><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">object</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">filter</span><span> </span><a href="#local-6989586621679071628"><span class="hs-identifier hs-var">notNull</span></a><span>
</span><a name="line-328"></a><span> </span><span class="hs-keyword">where</span><span>
</span><a name="line-329"></a><span> </span><a name="local-6989586621679071628"><a href="#local-6989586621679071628"><span class="hs-identifier">notNull</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier">_</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-var">A</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">Null</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">False</span><span>
</span><a name="line-330"></a><span> </span><span class="hs-identifier">notNull</span><span> </span><span class="hs-identifier">_</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">True</span><span>
</span><a name="line-331"></a><span>
</span><a name="line-332"></a><span class="hs-identifier">_toFormItem</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</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-6989586621679069408"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Functor</span><span> </span><a href="#local-6989586621679069409"><span class="hs-identifier hs-type">f</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679069410"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679069409"><span class="hs-identifier hs-type">f</span></a><span> </span><a href="#local-6989586621679069408"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679069409"><span class="hs-identifier hs-type">f</span></a><span> </span><span class="hs-special">(</span><a href="#local-6989586621679069410"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">,</span><span> </span><span class="hs-special">[</span><span class="hs-identifier hs-type">Text</span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><a name="line-333"></a><a name="_toFormItem"><a href="SwaggerPetstore.Model.html#_toFormItem"><span class="hs-identifier">_toFormItem</span></a></a><span> </span><a name="local-6989586621679071819"><a href="#local-6989586621679071819"><span class="hs-identifier">name</span></a></a><span> </span><a name="local-6989586621679071820"><a href="#local-6989586621679071820"><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-6989586621679071819"><span class="hs-identifier hs-var">name</span></a><span class="hs-special">,</span><span class="hs-special">)</span><span> </span><span class="hs-operator hs-var">.</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">:</span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">)</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><span class="hs-operator hs-var">&lt;$&gt;</span><span> </span><a href="#local-6989586621679071820"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-334"></a><span>
</span><a name="line-335"></a><span class="hs-identifier">_emptyToNothing</span><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">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><span class="hs-identifier hs-type">String</span><span>
</span><a name="line-336"></a><a name="_emptyToNothing"><a href="SwaggerPetstore.Model.html#_emptyToNothing"><span class="hs-identifier">_emptyToNothing</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Just</span><span> </span><span class="hs-string">&quot;&quot;</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-337"></a><span class="hs-identifier">_emptyToNothing</span><span> </span><a name="local-6989586621679071830"><a href="#local-6989586621679071830"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679071830"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-338"></a><span class="hs-pragma">{-# INLINE _emptyToNothing #-}</span><span>
</span><a name="line-339"></a><span>
</span><a name="line-340"></a><span class="hs-identifier">_memptyToNothing</span><span> </span><span class="hs-glyph">::</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">Monoid</span><span> </span><a href="#local-6989586621679069407"><span class="hs-identifier hs-type">a</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">Eq</span><span> </span><a href="#local-6989586621679069407"><span class="hs-identifier hs-type">a</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><a href="#local-6989586621679069407"><span class="hs-identifier hs-type">a</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">Maybe</span><span> </span><a href="#local-6989586621679069407"><span class="hs-identifier hs-type">a</span></a><span>
</span><a name="line-341"></a><a name="_memptyToNothing"><a href="SwaggerPetstore.Model.html#_memptyToNothing"><span class="hs-identifier">_memptyToNothing</span></a></a><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">Just</span><span> </span><a name="local-6989586621679071831"><a href="#local-6989586621679071831"><span class="hs-identifier">x</span></a></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">|</span><span> </span><a href="#local-6989586621679071831"><span class="hs-identifier hs-var">x</span></a><span> </span><span class="hs-identifier hs-var">P</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">mempty</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier hs-var">Nothing</span><span>
</span><a name="line-342"></a><span class="hs-identifier">_memptyToNothing</span><span> </span><a name="local-6989586621679071832"><a href="#local-6989586621679071832"><span class="hs-identifier">x</span></a></a><span> </span><span class="hs-glyph">=</span><span> </span><a href="#local-6989586621679071832"><span class="hs-identifier hs-var">x</span></a><span>
</span><a name="line-343"></a><span class="hs-pragma">{-# INLINE _memptyToNothing #-}</span><span>
</span><a name="line-344"></a><span>
</span><a name="line-345"></a><span class="hs-comment">-- * DateTime Formatting</span><span>
</span><a name="line-346"></a><span>
</span><a name="line-347"></a><span class="hs-comment">-- | @_parseISO8601@</span><span>
</span><a name="line-348"></a><span class="hs-identifier">_readDateTime</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">TI</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ParseTime</span><span> </span><a href="#local-6989586621679069405"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Monad</span><span> </span><a href="#local-6989586621679069406"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Alternative</span><span> </span><a href="#local-6989586621679069406"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679069406"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679069405"><span class="hs-identifier hs-type">t</span></a><span>
</span><a name="line-349"></a><a name="_readDateTime"><a href="SwaggerPetstore.Model.html#_readDateTime"><span class="hs-identifier">_readDateTime</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-350"></a><span> </span><a href="SwaggerPetstore.Model.html#_parseISO8601"><span class="hs-identifier hs-var">_parseISO8601</span></a><span>
</span><a name="line-351"></a><span class="hs-pragma">{-# INLINE _readDateTime #-}</span><span>
</span><a name="line-352"></a><span>
</span><a name="line-353"></a><span class="hs-comment">-- | @TI.formatISO8601Millis@</span><span>
</span><a name="line-354"></a><span class="hs-identifier">_showDateTime</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><a href="#local-6989586621679069139"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-glyph">~</span><span> </span><span class="hs-identifier hs-type">UTCTime</span><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">TI</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FormatTime</span><span> </span><a href="#local-6989586621679069139"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679069139"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span>
</span><a name="line-355"></a><a name="_showDateTime"><a href="SwaggerPetstore.Model.html#_showDateTime"><span class="hs-identifier">_showDateTime</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-356"></a><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formatISO8601Millis</span><span>
</span><a name="line-357"></a><span class="hs-pragma">{-# INLINE _showDateTime #-}</span><span>
</span><a name="line-358"></a><span>
</span><a name="line-359"></a><span class="hs-identifier">_parseISO8601</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">TI</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ParseTime</span><span> </span><a href="#local-6989586621679069137"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Monad</span><span> </span><a href="#local-6989586621679069138"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Alternative</span><span> </span><a href="#local-6989586621679069138"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679069138"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679069137"><span class="hs-identifier hs-type">t</span></a><span>
</span><a name="line-360"></a><a name="_parseISO8601"><a href="SwaggerPetstore.Model.html#_parseISO8601"><span class="hs-identifier">_parseISO8601</span></a></a><span> </span><a name="local-6989586621679071833"><a href="#local-6989586621679071833"><span class="hs-identifier">t</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-361"></a><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">asum</span><span> </span><span class="hs-operator hs-var">$</span><span>
</span><a name="line-362"></a><span> </span><span class="hs-identifier hs-var">P</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">flip</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">parseTimeM</span><span> </span><span class="hs-identifier hs-var">True</span><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultTimeLocale</span><span class="hs-special">)</span><span> </span><a href="#local-6989586621679071833"><span class="hs-identifier hs-var">t</span></a><span> </span><span class="hs-operator hs-var">&lt;$&gt;</span><span>
</span><a name="line-363"></a><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;%FT%T%QZ&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;%FT%T%Q%z&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-string">&quot;%FT%T%Q%Z&quot;</span><span class="hs-special">]</span><span>
</span><a name="line-364"></a><span class="hs-pragma">{-# INLINE _parseISO8601 #-}</span><span>
</span><a name="line-365"></a><span>
</span><a name="line-366"></a><span class="hs-comment">-- * Date Formatting</span><span>
</span><a name="line-367"></a><span>
</span><a name="line-368"></a><span class="hs-comment">-- | @TI.parseTimeM True TI.defaultTimeLocale &quot;&quot;@</span><span>
</span><a name="line-369"></a><span class="hs-identifier">_readDate</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="hs-identifier hs-type">TI</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">ParseTime</span><span> </span><a href="#local-6989586621679069135"><span class="hs-identifier hs-type">t</span></a><span class="hs-special">,</span><span> </span><span class="hs-identifier hs-type">Monad</span><span> </span><a href="#local-6989586621679069136"><span class="hs-identifier hs-type">m</span></a><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><a href="#local-6989586621679069136"><span class="hs-identifier hs-type">m</span></a><span> </span><a href="#local-6989586621679069135"><span class="hs-identifier hs-type">t</span></a><span>
</span><a name="line-370"></a><a name="_readDate"><a href="SwaggerPetstore.Model.html#_readDate"><span class="hs-identifier">_readDate</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-371"></a><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">parseTimeM</span><span> </span><span class="hs-identifier hs-var">True</span><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultTimeLocale</span><span> </span><span class="hs-string">&quot;&quot;</span><span>
</span><a name="line-372"></a><span class="hs-pragma">{-# INLINE _readDate #-}</span><span>
</span><a name="line-373"></a><span>
</span><a name="line-374"></a><span class="hs-comment">-- | @TI.formatTime TI.defaultTimeLocale &quot;&quot;@</span><span>
</span><a name="line-375"></a><span class="hs-identifier">_showDate</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier hs-type">TI</span><span class="hs-operator hs-type">.</span><span class="hs-identifier hs-type">FormatTime</span><span> </span><a href="#local-6989586621679068678"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-glyph">=&gt;</span><span> </span><a href="#local-6989586621679068678"><span class="hs-identifier hs-type">t</span></a><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier hs-type">String</span><span>
</span><a name="line-376"></a><a name="_showDate"><a href="SwaggerPetstore.Model.html#_showDate"><span class="hs-identifier">_showDate</span></a></a><span> </span><span class="hs-glyph">=</span><span>
</span><a name="line-377"></a><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">formatTime</span><span> </span><span class="hs-identifier hs-var">TI</span><span class="hs-operator hs-var">.</span><span class="hs-identifier hs-var">defaultTimeLocale</span><span> </span><span class="hs-string">&quot;&quot;</span><span>
</span><a name="line-378"></a><span class="hs-pragma">{-# INLINE _showDate #-}</span></pre></body></html>

View File

@ -0,0 +1,18 @@
<!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">{-|
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">where</span><span>
</span><a name="line-12"></a><span>
</span><a name="line-13"></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-14"></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-15"></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-16"></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-17"></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-18"></a></pre></body></html>

View File

@ -0,0 +1,27 @@
var highlight = function (on) {
return function () {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
var that = links[i];
if (this.href != that.href) {
continue;
}
if (on) {
that.classList.add("hover-highlight");
} else {
that.classList.remove("hover-highlight");
}
}
}
};
window.onload = function () {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
links[i].onmouseover = highlight(true);
links[i].onmouseout = highlight(false);
}
};

View File

@ -0,0 +1,55 @@
body {
background-color: #fdf6e3;
}
.hs-identifier {
color: #073642;
}
.hs-identifier.hs-var {
}
.hs-identifier.hs-type {
color: #5f5faf;
}
.hs-keyword {
color: #af005f;
}
.hs-string, .hs-char {
color: #cb4b16;
}
.hs-number {
color: #268bd2;
}
.hs-operator {
color: #d33682;
}
.hs-glyph, .hs-special {
color: #dc322f;
}
.hs-comment {
color: #8a8a8a;
}
.hs-pragma {
color: #2aa198;
}
.hs-cpp {
color: #859900;
}
a:link, a:visited {
text-decoration: none;
border-bottom: 1px solid #eee8d5;
}
a:hover, a.hover-highlight {
background-color: #eee8d5;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,233 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-binds -fno-warn-orphans #-}
import qualified Data.Aeson as A
import qualified Data.ByteString.Lazy.Char8 as BCL
import qualified Data.Text as T
import qualified Data.Time as TI
import qualified Lens.Micro as L
import qualified Network.HTTP.Client as NH
import qualified SwaggerPetstore as S
import Data.Monoid ((<>))
-- * MAIN
main :: IO ()
main = do
mgr <- NH.newManager NH.defaultManagerSettings
-- print log messages to sdtout
let config =
S.withStdoutLogging
S.newConfig { S.configHost = "http://0.0.0.0/v2"
-- , S.configLoggingFilter = S.debugLevelFilter
}
putStrLn "******** CONFIG ********"
putStrLn (show config)
putStrLn "******** Pet operations ********"
runPet mgr config
putStrLn "******** Store operations ********"
runStore mgr config
putStrLn "******** User operations ********"
runUser mgr config
putStrLn "******** END ********"
return ()
-- * PET
runPet :: NH.Manager -> S.SwaggerPetstoreConfig -> IO ()
runPet mgr config = do
-- create the request for addPet, encoded with content-type application/json
let addPetRequest = S.addPet S.MimeJSON (S.mkPet "name" ["url1", "url2"])
-- send the rquest with accept header application/json
-- dispatchLbs simply returns the raw Network.HTTP.Client.Response ByteString
addPetResponse <- S.dispatchLbs mgr config addPetRequest S.MimeJSON
-- the Consumes & Produces typeclasses control which 'content-type'
-- and 'accept' encodings are allowed for each operation
-- -- No instance for (S.Produces S.AddPet S.MimePlainText)
-- addPetResponse <- S.dispatchLbs mgr config addPetRequest S.MimePlainText
-- inspect the AddPet type to see typeclasses indicating wihch
-- content-type and accept types (mimeTypes) are valid
-- :i S.AddPet
-- data S.AddPet -- Defined in SwaggerPetstore.API
-- instance S.Produces S.AddPet S.MimeXML
-- -- Defined in SwaggerPetstore.API
-- instance S.Produces S.AddPet S.MimeJSON
-- -- Defined in SwaggerPetstore.API
-- instance S.Consumes S.AddPet S.MimeXML
-- -- Defined in SwaggerPetstore.API
-- instance S.Consumes S.AddPet S.MimeJSON
-- -- Defined in SwaggerPetstore.API
-- instance S.HasBodyParam S.AddPet S.Pet
-- -- Defined in SwaggerPetstore.API
-- since this swagger definition has no response schema defined for
-- the 'addPet' response, we decode the response bytestring manually
case A.eitherDecode (NH.responseBody addPetResponse) of
Right pet@S.Pet { S.petId = Just pid } -> do
-- create the request for getPetById
let getPetByIdRequest = S.getPetById pid
-- dispatchMime returns MimeResult, which includes the
-- expected decoded model object 'Pet', or a parse failure
getPetByIdRequestResult <- S.dispatchMime mgr config getPetByIdRequest S.MimeJSON
case S.mimeResult getPetByIdRequestResult of
Left (S.MimeError _ _) -> return () -- parse error, already displayed in the log
Right r -> putStrLn $ "getPetById: found pet: " <> show r -- display 'Pet' model object, r
-- findPetsByStatus
let findPetsByStatusRequest = S.findPetsByStatus ["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"]
findPetsByTagsResult <- S.dispatchMime mgr config findPetsByTagsRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "findPetsByTags: found " <> (show . length) r <> " pets") findPetsByTagsResult
-- updatePet
let updatePetRequest = S.updatePet S.MimeJSON $ pet
{ S.petStatus = Just "available"
, S.petCategory = Just (S.Category (Just 3) (Just "catname"))
}
_ <- S.dispatchLbs mgr config updatePetRequest S.MimeXML
-- requred parameters are included as function arguments, optional parameters are included with applyOptionalParam
-- inspect the UpdatePetWithForm type to see typeclasses indicating optional paramteters (:i S.UpdatePetWithForm)
-- instance S.HasOptionalParam S.UpdatePetWithForm S.Name
-- -- Defined in SwaggerPetstore.API
-- instance S.HasOptionalParam S.UpdatePetWithForm S.Status
-- -- Defined in SwaggerPetstore.API
let updatePetWithFormRequest = S.updatePetWithForm S.MimeFormUrlEncoded pid
`S.applyOptionalParam` S.Name "petName"
`S.applyOptionalParam` S.Status "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
`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
`S.applyOptionalParam` S.ApiUnderscorekey "api key"
_ <- S.dispatchLbs mgr config deletePetRequest S.MimeJSON
return ()
Left e -> putStrLn e
_ -> putStrLn "no Pet id returned"
return ()
-- * STORE
-- declare that 'placeOrder' can recieve a JSON content-type request
instance S.Consumes S.PlaceOrder S.MimeJSON
runStore :: NH.Manager -> S.SwaggerPetstoreConfig -> IO ()
runStore mgr config = do
-- we can set arbitrary headers with setHeader
let getInventoryRequest = S.getInventory
`S.setHeader` [("api_key","special-key")]
getInventoryRequestRequestResult <- S.dispatchMime mgr config getInventoryRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "getInventoryRequest: found " <> (show . length) r <> " results") getInventoryRequestRequestResult
-- placeOrder
now <- TI.getCurrentTime
let placeOrderRequest = S.placeOrder S.MimeJSON (S.mkOrder { S.orderId = Just 21, S.orderQuantity = Just 210, S.orderShipDate = Just now})
placeOrderResult <- S.dispatchMime mgr config placeOrderRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "placeOrderResult: " <> show r) placeOrderResult
let orderId = maybe 10 id $ either (const Nothing) (S.orderId) (S.mimeResult placeOrderResult)
-- getOrderByid
let getOrderByIdRequest = S.getOrderById orderId
getOrderByIdRequestResult <- S.dispatchMime mgr config getOrderByIdRequest S.MimeJSON
mapM_ (\r -> putStrLn $ "getOrderById: found order: " <> show r) getOrderByIdRequestResult
-- deleteOrder
let deleteOrderRequest = S.deleteOrder "21"
_ <- S.dispatchLbs mgr config deleteOrderRequest S.MimeJSON
return ()
-- * USER
-- this swagger definition doesn't declare what content-type the
-- server actually expects for these operations, so delcare it here
instance S.Consumes S.CreateUser S.MimeJSON
instance S.Consumes S.UpdateUser S.MimeJSON
instance S.Consumes S.CreateUsersWithArrayInput S.MimeJSON
instance S.Consumes S.CreateUsersWithListInput S.MimeJSON
-- similarly we declare these operations are allowed to omit the
-- accept header despite what the swagger definition says
instance S.Produces S.CreateUsersWithArrayInput S.MimeNoContent
instance S.Produces S.CreateUsersWithListInput S.MimeNoContent
runUser :: NH.Manager -> S.SwaggerPetstoreConfig -> IO ()
runUser mgr config = do
let username = "hsusername"
-- createUser
let user = S.mkUser { S.userId = Just 21, S.userUsername = Just username }
let createUserRequest = S.createUser S.MimeJSON user
_ <- S.dispatchLbs mgr config createUserRequest S.MimeJSON
-- can use traversals or lenses (model record names are appended with T or L) to view or modify records
let users = take 8 $ drop 1 $ iterate (L.over S.userUsernameT (<> "*") . L.over S.userIdT (+1)) user
let createUsersWithArrayInputRequest = S.createUsersWithArrayInput S.MimeJSON users
_ <- S.dispatchLbs mgr config createUsersWithArrayInputRequest S.MimeNoContent
-- createUsersWithArrayInput
let createUsersWithListInputRequest = S.createUsersWithListInput S.MimeJSON users
_ <- S.dispatchLbs mgr config createUsersWithListInputRequest S.MimeNoContent
-- getUserByName
let getUserByNameRequest = S.getUserByName 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"
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" })
_ <- S.dispatchLbs mgr config updateUserRequest S.MimeJSON
-- logoutUser
_ <- S.dispatchLbs mgr config S.logoutUser S.MimeJSON
-- deleteUser
let deleteUserRequest = S.deleteUser username
_ <- S.dispatchLbs mgr config deleteUserRequest S.MimeJSON
return ()

View File

@ -0,0 +1,45 @@
# swagger-petstore-app
This contains an example application which uses the auto-generated
swagger-petstore API Client: `haskell-http-client`
This module is not auto-generated.
The application requires a swagger petstore server running at
`http://0.0.0.0/v2`, or the value of the `HOST` environment variable.
To compile this application, the api client library bindings generated for swagger-petstore are expected to live in the parent folder.
### Petstore Server
The petstore server can be obtained at:
https://github.com/wing328/swagger-samples/tree/docker/java/java-jersey-jaxrs
Follow the instructions in the readme to install and run the petstore
server (the docker branch is used here, but docker is not required)
### Usage
1. Install the [Haskell `stack` tool](http://docs.haskellstack.org/en/stable/README).
2. Start the petstore server (described above)
3. To run the application:
```
stack --install-ghc exec swagger-petstore-app
```
4. After stack installs ghc on the first run, `--install-ghc` can be omitted
### Optional Environment Variables
* `HOST` - the root url of the petstore server
* `http_proxy` - the address of the http proxy
Example:
```
HOST=http://0.0.0.0/v2 http_proxy=http://0.0.0.0:8080 stack --install-ghc exec swagger-petstore-app
```
### Source Documentation
The application code lives in `Main.hs`, which is commented with additional implementation notes

View File

@ -0,0 +1,95 @@
******** CONFIG ********
{ configHost = "http://0.0.0.0/v2", configUserAgent = "swagger-haskell-http-client/1.0.0", ..}
******** Pet operations ********
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC REQ:POST 0.0.0.0/v2/pet
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/json;charset=utf-8"),("accept","application/json;charset=utf-8")] Body={"photoUrls":["url1","url2"],"name":"name"}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC RES:statusCode=200 (POST 0.0.0.0/v2/pet)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "{\"id\":30,\"name\":\"name\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[]}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC REQ:GET 0.0.0.0/v2/pet/30
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC RES:statusCode=200 (GET 0.0.0.0/v2/pet/30)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "{\"id\":30,\"name\":\"name\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[]}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
getPetById: found pet: Pet {petId = Just 30, petCategory = Nothing, petName = "name", petPhotoUrls = ["url1","url2"], petTags = Just [], petStatus = Nothing}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC REQ:GET 0.0.0.0/v2/pet/findByStatus?status=available%2Cpending%2Csold
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC RES:statusCode=200 (GET 0.0.0.0/v2/pet/findByStatus?status=available%2Cpending%2Csold)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "[{\"id\":1,\"category\":{\"id\":2,\"name\":\"Cats\"},\"name\":\"Cat 1\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag1\"},{\"id\":2,\"name\":\"tag2\"}],\"status\":\"available\"},{\"id\":2,\"category\":{\"id\":2,\"name\":\"Cats\"},\"name\":\"Cat 2\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag2\"},{\"id\":2,\"name\":\"tag3\"}],\"status\":\"available\"},{\"id\":3,\"category\":{\"id\":2,\"name\":\"Cats\"},\"name\":\"Cat 3\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag3\"},{\"id\":2,\"name\":\"tag4\"}],\"status\":\"pending\"},{\"id\":4,\"category\":{\"id\":1,\"name\":\"Dogs\"},\"name\":\"Dog 1\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag1\"},{\"id\":2,\"name\":\"tag2\"}],\"status\":\"available\"},{\"id\":5,\"category\":{\"id\":1,\"name\":\"Dogs\"},\"name\":\"Dog 2\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag2\"},{\"id\":2,\"name\":\"tag3\"}],\"status\":\"sold\"},{\"id\":6,\"category\":{\"id\":1,\"name\":\"Dogs\"},\"name\":\"Dog 3\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag3\"},{\"id\":2,\"name\":\"tag4\"}],\"status\":\"pending\"},{\"id\":7,\"category\":{\"id\":4,\"name\":\"Lions\"},\"name\":\"Lion 1\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag1\"},{\"id\":2,\"name\":\"tag2\"}],\"status\":\"available\"},{\"id\":8,\"category\":{\"id\":4,\"name\":\"Lions\"},\"name\":\"Lion 2\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag2\"},{\"id\":2,\"name\":\"tag3\"}],\"status\":\"available\"},{\"id\":9,\"category\":{\"id\":4,\"name\":\"Lions\"},\"name\":\"Lion 3\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag3\"},{\"id\":2,\"name\":\"tag4\"}],\"status\":\"available\"},{\"id\":10,\"category\":{\"id\":3,\"name\":\"Rabbits\"},\"name\":\"Rabbit 1\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag3\"},{\"id\":2,\"name\":\"tag4\"}],\"status\":\"available\"},{\"id\":25,\"category\":{\"id\":3,\"name\":\"catname\"},\"name\":\"name\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[],\"status\":\"available\"},{\"id\":26,\"category\":{\"id\":3,\"name\":\"catname\"},\"name\":\"petName\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[],\"status\":\"pending\"},{\"id\":27,\"category\":{\"id\":3,\"name\":\"catname\"},\"name\":\"petName\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[],\"status\":\"pending\"}]", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
findPetsByStatus: found 13 pets
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC REQ:GET 0.0.0.0/v2/pet/findByTags?tags=name%2Ctag1
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC RES:statusCode=200 (GET 0.0.0.0/v2/pet/findByTags?tags=name%2Ctag1)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "[{\"id\":1,\"category\":{\"id\":2,\"name\":\"Cats\"},\"name\":\"Cat 1\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag1\"},{\"id\":2,\"name\":\"tag2\"}],\"status\":\"available\"},{\"id\":4,\"category\":{\"id\":1,\"name\":\"Dogs\"},\"name\":\"Dog 1\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag1\"},{\"id\":2,\"name\":\"tag2\"}],\"status\":\"available\"},{\"id\":7,\"category\":{\"id\":4,\"name\":\"Lions\"},\"name\":\"Lion 1\",\"photoUrls\":[\"url1\",\"url2\"],\"tags\":[{\"id\":1,\"name\":\"tag1\"},{\"id\":2,\"name\":\"tag2\"}],\"status\":\"available\"}]", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
findPetsByTags: found 3 pets
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC REQ:PUT 0.0.0.0/v2/pet
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:03UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/json;charset=utf-8"),("accept","application/xml")] Body={"photoUrls":["url1","url2"],"status":"available","category":{"name":"catname","id":3},"name":"name","id":30,"tags":[]}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (PUT 0.0.0.0/v2/pet)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/xml"),("Content-Length","251"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Pet><category><id>3</id><name>catname</name></category><id>30</id><name>name</name><photoUrls><photoUrl>url1</photoUrl><photoUrl>url2</photoUrl></photoUrls><status>available</status><tags/></Pet>", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:POST 0.0.0.0/v2/pet/30
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/x-www-form-urlencoded"),("accept","application/json;charset=utf-8")] Body=status=pending&name=petName
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (POST 0.0.0.0/v2/pet/30)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:POST 0.0.0.0/v2/pet/30/uploadImage
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("Content-Type","multipart/form-data; boundary=----WebKitFormBoundarytMtEWXPCyyC5CTsF"),("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (POST 0.0.0.0/v2/pet/30/uploadImage)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "{\"code\":200,\"type\":\"unknown\",\"message\":\"additionalMetadata: a package.yaml file\\nFile uploaded to ./package.yaml, 893 bytes\"}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
uploadFile: ApiResponse {apiResponseCode = Just 200, apiResponseType = Just "unknown", apiResponseMessage = Just "additionalMetadata: a package.yaml file\nFile uploaded to ./package.yaml, 893 bytes"}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:DELETE 0.0.0.0/v2/pet/30
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8"),("api_key","api key")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (DELETE 0.0.0.0/v2/pet/30)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
******** Store operations ********
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:GET 0.0.0.0/v2/store/inventory
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8"),("api_key","special-key")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (GET 0.0.0.0/v2/store/inventory)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "{\"sold\":1,\"pending\":4,\"available\":8}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
getInventoryRequest: found 3 results
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:POST 0.0.0.0/v2/store/order
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/json;charset=utf-8"),("accept","application/json;charset=utf-8")] Body={"quantity":210,"id":21,"shipDate":"2017-09-02T19:52:04.306Z"}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (POST 0.0.0.0/v2/store/order)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "{\"id\":21,\"petId\":0,\"quantity\":210,\"shipDate\":\"2017-09-02T19:52:04.306+0000\",\"complete\":false}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
placeOrderResult: Order {orderId = Just 21, orderPetId = Just 0, orderQuantity = Just 210, orderShipDate = Just 2017-09-02 19:52:04.306 UTC, orderStatus = Nothing, orderComplete = Just False}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:GET 0.0.0.0/v2/store/order/21
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (GET 0.0.0.0/v2/store/order/21)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "{\"id\":21,\"petId\":0,\"quantity\":210,\"shipDate\":\"2017-09-02T19:52:04.306+0000\",\"complete\":false}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
getOrderById: found order: Order {orderId = Just 21, orderPetId = Just 0, orderQuantity = Just 210, orderShipDate = Just 2017-09-02 19:52:04.306 UTC, orderStatus = Nothing, orderComplete = Just False}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:DELETE 0.0.0.0/v2/store/order/21
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (DELETE 0.0.0.0/v2/store/order/21)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
******** User operations ********
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:POST 0.0.0.0/v2/user
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/json;charset=utf-8"),("accept","application/json;charset=utf-8")] Body={"username":"hsusername","id":21}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (POST 0.0.0.0/v2/user)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:POST 0.0.0.0/v2/user/createWithArray
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/json;charset=utf-8")] Body=[{"username":"hsusername*","id":22},{"username":"hsusername**","id":23},{"username":"hsusername***","id":24},{"username":"hsusername****","id":25},{"username":"hsusername*****","id":26},{"username":"hsusername******","id":27},{"username":"hsusername*******","id":28},{"username":"hsusername********","id":29}]
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (POST 0.0.0.0/v2/user/createWithArray)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:POST 0.0.0.0/v2/user/createWithList
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/json;charset=utf-8")] Body=[{"username":"hsusername*","id":22},{"username":"hsusername**","id":23},{"username":"hsusername***","id":24},{"username":"hsusername****","id":25},{"username":"hsusername*****","id":26},{"username":"hsusername******","id":27},{"username":"hsusername*******","id":28},{"username":"hsusername********","id":29}]
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (POST 0.0.0.0/v2/user/createWithList)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:GET 0.0.0.0/v2/user/hsusername
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (GET 0.0.0.0/v2/user/hsusername)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "{\"id\":21,\"username\":\"hsusername\",\"userStatus\":0}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
getUserByName: found user: User {userId = Just 21, userUsername = Just "hsusername", userFirstName = Nothing, userLastName = Nothing, userEmail = Nothing, userPassword = Nothing, userPhone = Nothing, userUserStatus = Just 0}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:GET 0.0.0.0/v2/user/login?password=password1&username=hsusername
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (GET 0.0.0.0/v2/user/login?password=password1&username=hsusername)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("X-Expires-After","Sat Sep 02 15:52:04 CDT 2017"),("X-Rate-Limit","5000"),("Content-Type","application/json"),("Transfer-Encoding","chunked"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "logged in user session:1504381924767", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
loginUser: logged in user session:1504381924767
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:PUT 0.0.0.0/v2/user/hsusername
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("content-type","application/json;charset=utf-8"),("accept","application/json;charset=utf-8")] Body={"email":"xyz@example.com","username":"hsusername","id":21}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (PUT 0.0.0.0/v2/user/hsusername)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:GET 0.0.0.0/v2/user/logout
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (GET 0.0.0.0/v2/user/logout)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC REQ:DELETE 0.0.0.0/v2/user/hsusername
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Headers=[("User-Agent","swagger-haskell-http-client/1.0.0"),("accept","application/json;charset=utf-8")] Body=<RequestBody>
[Info#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC RES:statusCode=200 (DELETE 0.0.0.0/v2/user/hsusername)
[Debug#SwaggerPetstore/Client] 2017-09-02T19:52:04UTC Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Access-Control-Allow-Origin","*"),("Access-Control-Allow-Methods","GET, POST, DELETE, PUT"),("Access-Control-Allow-Headers","Content-Type, api_key, Authorization"),("Content-Type","application/json"),("Content-Length","0"),("Server","Jetty(8.1.11.v20130520)")], responseBody = "", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
******** END ********

View File

@ -0,0 +1,55 @@
******** CONFIG ********
{ configHost = "http://0.0.0.0/v2", configUserAgent = "swagger-haskell-http-client/1.0.0", ..}
******** Pet operations ********
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC REQ:POST 0.0.0.0/v2/pet
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC RES:statusCode=200 (POST 0.0.0.0/v2/pet)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC REQ:GET 0.0.0.0/v2/pet/30
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC RES:statusCode=200 (GET 0.0.0.0/v2/pet/30)
getPetById: found pet: Pet {petId = Just 30, petCategory = Nothing, petName = "name", petPhotoUrls = ["url1","url2"], petTags = Just [], petStatus = Nothing}
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC REQ:GET 0.0.0.0/v2/pet/findByStatus?status=available%2Cpending%2Csold
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC RES:statusCode=200 (GET 0.0.0.0/v2/pet/findByStatus?status=available%2Cpending%2Csold)
findPetsByStatus: found 13 pets
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC REQ:GET 0.0.0.0/v2/pet/findByTags?tags=name%2Ctag1
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC RES:statusCode=200 (GET 0.0.0.0/v2/pet/findByTags?tags=name%2Ctag1)
findPetsByTags: found 3 pets
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC REQ:PUT 0.0.0.0/v2/pet
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC RES:statusCode=200 (PUT 0.0.0.0/v2/pet)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:49UTC REQ:POST 0.0.0.0/v2/pet/30
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (POST 0.0.0.0/v2/pet/30)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:POST 0.0.0.0/v2/pet/30/uploadImage
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (POST 0.0.0.0/v2/pet/30/uploadImage)
uploadFile: ApiResponse {apiResponseCode = Just 200, apiResponseType = Just "unknown", apiResponseMessage = Just "additionalMetadata: a package.yaml file\nFile uploaded to ./package.yaml, 893 bytes"}
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:DELETE 0.0.0.0/v2/pet/30
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (DELETE 0.0.0.0/v2/pet/30)
******** Store operations ********
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:GET 0.0.0.0/v2/store/inventory
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (GET 0.0.0.0/v2/store/inventory)
getInventoryRequest: found 3 results
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:POST 0.0.0.0/v2/store/order
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (POST 0.0.0.0/v2/store/order)
placeOrderResult: Order {orderId = Just 21, orderPetId = Just 0, orderQuantity = Just 210, orderShipDate = Just 2017-09-02 19:51:50.222 UTC, orderStatus = Nothing, orderComplete = Just False}
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:GET 0.0.0.0/v2/store/order/21
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (GET 0.0.0.0/v2/store/order/21)
getOrderById: found order: Order {orderId = Just 21, orderPetId = Just 0, orderQuantity = Just 210, orderShipDate = Just 2017-09-02 19:51:50.222 UTC, orderStatus = Nothing, orderComplete = Just False}
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:DELETE 0.0.0.0/v2/store/order/21
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (DELETE 0.0.0.0/v2/store/order/21)
******** User operations ********
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:POST 0.0.0.0/v2/user
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (POST 0.0.0.0/v2/user)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:POST 0.0.0.0/v2/user/createWithArray
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (POST 0.0.0.0/v2/user/createWithArray)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:POST 0.0.0.0/v2/user/createWithList
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (POST 0.0.0.0/v2/user/createWithList)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:GET 0.0.0.0/v2/user/hsusername
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (GET 0.0.0.0/v2/user/hsusername)
getUserByName: found user: User {userId = Just 21, userUsername = Just "hsusername", userFirstName = Nothing, userLastName = Nothing, userEmail = Nothing, userPassword = Nothing, userPhone = Nothing, userUserStatus = Just 0}
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:GET 0.0.0.0/v2/user/login?password=password1&username=hsusername
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (GET 0.0.0.0/v2/user/login?password=password1&username=hsusername)
loginUser: logged in user session:1504381910612
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:PUT 0.0.0.0/v2/user/hsusername
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (PUT 0.0.0.0/v2/user/hsusername)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:GET 0.0.0.0/v2/user/logout
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (GET 0.0.0.0/v2/user/logout)
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC REQ:DELETE 0.0.0.0/v2/user/hsusername
[Info#SwaggerPetstore/Client] 2017-09-02T19:51:50UTC RES:statusCode=200 (DELETE 0.0.0.0/v2/user/hsusername)
******** END ********

View File

@ -0,0 +1,37 @@
name: swagger-petstore-app
version: '0.1.0.0'
synopsis: Auto-generated swagger-petstore API Client
description: ! '
Sample app for calling the swagger-petstore API based on http-client.
'
category: Web
author: Author Name Here
maintainer: author.name@email.com
copyright: YEAR - AUTHOR
license: UnspecifiedLicense
homepage: https://github.com/swagger-api/swagger-codegen#readme
extra-source-files:
- README.md
ghc-options: -Wall
dependencies:
- base >=4.7 && <5.0
- transformers >=0.4.0.0
- mtl >=2.2.1
- unordered-containers
- containers >=0.5.0.0 && <0.6
- aeson >=1.0 && <2.0
- bytestring >=0.10.0 && <0.11
- http-types >=0.8 && <0.10
- http-client >=0.5 && <0.6
- http-client-tls
- http-api-data >= 0.3.4 && <0.4
- http-media >= 0.4 && < 0.8
- text >=0.11 && <1.3
- time >=1.5 && <1.9
- vector >=0.10.9 && <0.13
- case-insensitive
- swagger-petstore
- microlens
executables:
swagger-petstore-app:
main: Main.hs

View File

@ -0,0 +1,5 @@
resolver: lts-9.0
packages:
- location: '.'
- location: '..'
extra-dep: true

View File

@ -0,0 +1,43 @@
-- This file has been generated from package.yaml by hpack version 0.17.1.
--
-- see: https://github.com/sol/hpack
name: swagger-petstore-app
version: 0.1.0.0
synopsis: Auto-generated swagger-petstore API Client
description: Sample app for calling the swagger-petstore API based on http-client.
category: Web
homepage: https://github.com/swagger-api/swagger-codegen#readme
author: Author Name Here
maintainer: author.name@email.com
copyright: YEAR - AUTHOR
license: UnspecifiedLicense
build-type: Simple
cabal-version: >= 1.10
extra-source-files:
README.md
executable swagger-petstore-app
main-is: Main.hs
ghc-options: -Wall
build-depends:
base >=4.7 && <5.0
, transformers >=0.4.0.0
, mtl >=2.2.1
, unordered-containers
, containers >=0.5.0.0 && <0.6
, aeson >=1.0 && <2.0
, bytestring >=0.10.0 && <0.11
, http-types >=0.8 && <0.10
, http-client >=0.5 && <0.6
, http-client-tls
, http-api-data >= 0.3.4 && <0.4
, http-media >= 0.4 && < 0.8
, text >=0.11 && <1.3
, time >=1.5 && <1.9
, vector >=0.10.9 && <0.13
, case-insensitive
, swagger-petstore
, microlens
default-language: Haskell2010

View File

@ -0,0 +1,52 @@
#!/bin/sh
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
#
# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update"
git_user_id=$1
git_repo_id=$2
release_note=$3
if [ "$git_user_id" = "" ]; then
git_user_id="GIT_USER_ID"
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
fi
if [ "$git_repo_id" = "" ]; then
git_repo_id="GIT_REPO_ID"
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
fi
if [ "$release_note" = "" ]; then
release_note="Minor update"
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
fi
# Initialize the local directory as a Git repository
git init
# Adds the files in the local repository and stages them for commit.
git add .
# Commits the tracked changes and prepares them to be pushed to a remote repository.
git commit -m "$release_note"
# Sets the new remote
git_remote=`git remote`
if [ "$git_remote" = "" ]; then # git remote not defined
if [ "$GIT_TOKEN" = "" ]; then
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git crediential in your environment."
git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git
else
git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git
fi
fi
git pull origin master
# Pushes (Forces) the changes in the local repository up to the remote repository
echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git"
git push origin master 2>&1 | grep -v 'To https'

View File

@ -0,0 +1,17 @@
{-|
Module : SwaggerPetstore
-}
module SwaggerPetstore
( module SwaggerPetstore.Client
, module SwaggerPetstore.API
, module SwaggerPetstore.Model
, module SwaggerPetstore.MimeTypes
, module SwaggerPetstore.Lens
) where
import SwaggerPetstore.API
import SwaggerPetstore.Client
import SwaggerPetstore.Model
import SwaggerPetstore.MimeTypes
import SwaggerPetstore.Lens

View File

@ -0,0 +1,830 @@
{-|
Module : SwaggerPetstore.API
-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE InstanceSigs #-}
{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}
module SwaggerPetstore.API where
import SwaggerPetstore.Model as M
import SwaggerPetstore.MimeTypes
import qualified Data.Aeson as A
import Data.Aeson (Value)
import qualified Data.Time as TI
import Data.Time (UTCTime)
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import Data.ByteString.Lazy (ByteString)
import qualified Data.ByteString.Builder as BB
import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
import qualified Network.HTTP.Types as NH
import qualified Web.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.Foldable as P
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified GHC.Base as P (Alternative)
import qualified Control.Arrow as P (left)
import Data.Monoid ((<>))
import Data.Function ((&))
import Data.Set (Set)
import Data.Text (Text)
import GHC.Base ((<|>))
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
-- * Operations
-- ** Pet
-- *** addPet
-- | @POST \/pet@
--
-- Add a new pet to the store
--
--
--
-- AuthMethod: petstore_auth
--
-- Note: Has 'Produces' instances, but no response schema
--
addPet
:: (Consumes AddPet contentType, MimeRender contentType Pet)
=> contentType -- ^ request content-type ('MimeType')
-> Pet -- ^ "body" - Pet object that needs to be added to the store
-> SwaggerPetstoreRequest AddPet contentType res
addPet _ body =
_mkRequest "POST" ["/pet"]
`setBodyParam` body
data AddPet
-- | /Body Param/ "body" - Pet object that needs to be added to the store
instance HasBodyParam AddPet Pet
-- | @application/json@
instance Consumes AddPet MimeJSON
-- | @application/xml@
instance Consumes AddPet MimeXML
-- | @application/xml@
instance Produces AddPet MimeXML
-- | @application/json@
instance Produces AddPet MimeJSON
-- *** deletePet
-- | @DELETE \/pet\/{petId}@
--
-- Deletes a pet
--
--
--
-- AuthMethod: petstore_auth
--
-- Note: Has 'Produces' instances, but no response schema
--
deletePet
:: Integer -- ^ "petId" - Pet id to delete
-> SwaggerPetstoreRequest DeletePet MimeNoContent res
deletePet petId =
_mkRequest "DELETE" ["/pet/",toPath petId]
data DeletePet
instance HasOptionalParam DeletePet ApiUnderscorekey where
applyOptionalParam req (ApiUnderscorekey xs) =
req `setHeader` toHeader ("api_key", xs)
-- | @application/xml@
instance Produces DeletePet MimeXML
-- | @application/json@
instance Produces DeletePet MimeJSON
-- *** findPetsByStatus
-- | @GET \/pet\/findByStatus@
--
-- Finds Pets by status
--
-- Multiple status values can be provided with comma separated strings
--
-- AuthMethod: petstore_auth
--
findPetsByStatus
:: [Text] -- ^ "status" - Status values that need to be considered for filter
-> SwaggerPetstoreRequest FindPetsByStatus MimeNoContent [Pet]
findPetsByStatus status =
_mkRequest "GET" ["/pet/findByStatus"]
`_setQuery` toQueryColl CommaSeparated ("status", Just status)
data FindPetsByStatus
-- | @application/xml@
instance Produces FindPetsByStatus MimeXML
-- | @application/json@
instance Produces FindPetsByStatus MimeJSON
-- *** findPetsByTags
-- | @GET \/pet\/findByTags@
--
-- Finds Pets by tags
--
-- Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
--
-- AuthMethod: petstore_auth
--
findPetsByTags
:: [Text] -- ^ "tags" - Tags to filter by
-> SwaggerPetstoreRequest FindPetsByTags MimeNoContent [Pet]
findPetsByTags tags =
_mkRequest "GET" ["/pet/findByTags"]
`_setQuery` toQueryColl CommaSeparated ("tags", Just tags)
{-# DEPRECATED findPetsByTags "" #-}
data FindPetsByTags
-- | @application/xml@
instance Produces FindPetsByTags MimeXML
-- | @application/json@
instance Produces FindPetsByTags MimeJSON
-- *** getPetById
-- | @GET \/pet\/{petId}@
--
-- Find pet by ID
--
-- Returns a single pet
--
-- AuthMethod: api_key
--
getPetById
:: Integer -- ^ "petId" - ID of pet to return
-> SwaggerPetstoreRequest GetPetById MimeNoContent Pet
getPetById petId =
_mkRequest "GET" ["/pet/",toPath petId]
data GetPetById
-- | @application/xml@
instance Produces GetPetById MimeXML
-- | @application/json@
instance Produces GetPetById MimeJSON
-- *** updatePet
-- | @PUT \/pet@
--
-- Update an existing pet
--
--
--
-- AuthMethod: petstore_auth
--
-- Note: Has 'Produces' instances, but no response schema
--
updatePet
:: (Consumes UpdatePet contentType, MimeRender contentType Pet)
=> contentType -- ^ request content-type ('MimeType')
-> Pet -- ^ "body" - Pet object that needs to be added to the store
-> SwaggerPetstoreRequest UpdatePet contentType res
updatePet _ body =
_mkRequest "PUT" ["/pet"]
`setBodyParam` body
data UpdatePet
-- | /Body Param/ "body" - Pet object that needs to be added to the store
instance HasBodyParam UpdatePet Pet
-- | @application/json@
instance Consumes UpdatePet MimeJSON
-- | @application/xml@
instance Consumes UpdatePet MimeXML
-- | @application/xml@
instance Produces UpdatePet MimeXML
-- | @application/json@
instance Produces UpdatePet MimeJSON
-- *** updatePetWithForm
-- | @POST \/pet\/{petId}@
--
-- Updates a pet in the store with form data
--
--
--
-- AuthMethod: petstore_auth
--
-- 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
-> SwaggerPetstoreRequest UpdatePetWithForm contentType res
updatePetWithForm _ petId =
_mkRequest "POST" ["/pet/",toPath petId]
data UpdatePetWithForm
-- | /Optional Param/ "name" - Updated name of the pet
instance HasOptionalParam UpdatePetWithForm Name where
applyOptionalParam req (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)
-- | @application/x-www-form-urlencoded@
instance Consumes UpdatePetWithForm MimeFormUrlEncoded
-- | @application/xml@
instance Produces UpdatePetWithForm MimeXML
-- | @application/json@
instance Produces UpdatePetWithForm MimeJSON
-- *** uploadFile
-- | @POST \/pet\/{petId}\/uploadImage@
--
-- uploads an image
--
--
--
-- AuthMethod: petstore_auth
--
uploadFile
:: (Consumes UploadFile contentType)
=> contentType -- ^ request content-type ('MimeType')
-> Integer -- ^ "petId" - ID of pet to update
-> SwaggerPetstoreRequest UploadFile contentType ApiResponse
uploadFile _ petId =
_mkRequest "POST" ["/pet/",toPath petId,"/uploadImage"]
data UploadFile
-- | /Optional Param/ "additionalMetadata" - Additional data to pass to server
instance HasOptionalParam UploadFile AdditionalMetadata where
applyOptionalParam req (AdditionalMetadata xs) =
req `_addMultiFormPart` NH.partLBS "additionalMetadata" (mimeRender' MimeMultipartFormData xs)
-- | /Optional Param/ "file" - file to upload
instance HasOptionalParam UploadFile File where
applyOptionalParam req (File xs) =
req `_addMultiFormPart` NH.partFileSource "file" xs
-- | @multipart/form-data@
instance Consumes UploadFile MimeMultipartFormData
-- | @application/json@
instance Produces UploadFile MimeJSON
-- ** Store
-- *** deleteOrder
-- | @DELETE \/store\/order\/{orderId}@
--
-- Delete purchase order by ID
--
-- For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
--
-- Note: Has 'Produces' instances, but no response schema
--
deleteOrder
:: Text -- ^ "orderId" - ID of the order that needs to be deleted
-> SwaggerPetstoreRequest DeleteOrder MimeNoContent res
deleteOrder orderId =
_mkRequest "DELETE" ["/store/order/",toPath orderId]
data DeleteOrder
-- | @application/xml@
instance Produces DeleteOrder MimeXML
-- | @application/json@
instance Produces DeleteOrder MimeJSON
-- *** getInventory
-- | @GET \/store\/inventory@
--
-- Returns pet inventories by status
--
-- Returns a map of status codes to quantities
--
-- AuthMethod: api_key
--
getInventory
:: SwaggerPetstoreRequest GetInventory MimeNoContent (Map.Map String Int)
getInventory =
_mkRequest "GET" ["/store/inventory"]
data GetInventory
-- | @application/json@
instance Produces GetInventory MimeJSON
-- *** getOrderById
-- | @GET \/store\/order\/{orderId}@
--
-- Find purchase order by ID
--
-- 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
-> SwaggerPetstoreRequest GetOrderById MimeNoContent Order
getOrderById orderId =
_mkRequest "GET" ["/store/order/",toPath orderId]
data GetOrderById
-- | @application/xml@
instance Produces GetOrderById MimeXML
-- | @application/json@
instance Produces GetOrderById MimeJSON
-- *** placeOrder
-- | @POST \/store\/order@
--
-- Place an order for a pet
--
--
--
placeOrder
:: (Consumes PlaceOrder contentType, MimeRender contentType Order)
=> contentType -- ^ request content-type ('MimeType')
-> Order -- ^ "body" - order placed for purchasing the pet
-> SwaggerPetstoreRequest PlaceOrder contentType Order
placeOrder _ body =
_mkRequest "POST" ["/store/order"]
`setBodyParam` body
data PlaceOrder
-- | /Body Param/ "body" - order placed for purchasing the pet
instance HasBodyParam PlaceOrder Order
-- | @application/xml@
instance Produces PlaceOrder MimeXML
-- | @application/json@
instance Produces PlaceOrder MimeJSON
-- ** User
-- *** createUser
-- | @POST \/user@
--
-- Create user
--
-- This can only be done by the logged in user.
--
-- Note: Has 'Produces' instances, but no response schema
--
createUser
:: (Consumes CreateUser contentType, MimeRender contentType User)
=> contentType -- ^ request content-type ('MimeType')
-> User -- ^ "body" - Created user object
-> SwaggerPetstoreRequest CreateUser contentType res
createUser _ body =
_mkRequest "POST" ["/user"]
`setBodyParam` body
data CreateUser
-- | /Body Param/ "body" - Created user object
instance HasBodyParam CreateUser User
-- | @application/xml@
instance Produces CreateUser MimeXML
-- | @application/json@
instance Produces CreateUser MimeJSON
-- *** createUsersWithArrayInput
-- | @POST \/user\/createWithArray@
--
-- Creates list of users with given input array
--
--
--
-- Note: Has 'Produces' instances, but no response schema
--
createUsersWithArrayInput
:: (Consumes CreateUsersWithArrayInput contentType, MimeRender contentType [User])
=> contentType -- ^ request content-type ('MimeType')
-> [User] -- ^ "body" - List of user object
-> SwaggerPetstoreRequest CreateUsersWithArrayInput contentType res
createUsersWithArrayInput _ body =
_mkRequest "POST" ["/user/createWithArray"]
`setBodyParam` body
data CreateUsersWithArrayInput
-- | /Body Param/ "body" - List of user object
instance HasBodyParam CreateUsersWithArrayInput [User]
-- | @application/xml@
instance Produces CreateUsersWithArrayInput MimeXML
-- | @application/json@
instance Produces CreateUsersWithArrayInput MimeJSON
-- *** createUsersWithListInput
-- | @POST \/user\/createWithList@
--
-- Creates list of users with given input array
--
--
--
-- Note: Has 'Produces' instances, but no response schema
--
createUsersWithListInput
:: (Consumes CreateUsersWithListInput contentType, MimeRender contentType [User])
=> contentType -- ^ request content-type ('MimeType')
-> [User] -- ^ "body" - List of user object
-> SwaggerPetstoreRequest CreateUsersWithListInput contentType res
createUsersWithListInput _ body =
_mkRequest "POST" ["/user/createWithList"]
`setBodyParam` body
data CreateUsersWithListInput
-- | /Body Param/ "body" - List of user object
instance HasBodyParam CreateUsersWithListInput [User]
-- | @application/xml@
instance Produces CreateUsersWithListInput MimeXML
-- | @application/json@
instance Produces CreateUsersWithListInput MimeJSON
-- *** deleteUser
-- | @DELETE \/user\/{username}@
--
-- Delete user
--
-- This can only be done by the logged in user.
--
-- Note: Has 'Produces' instances, but no response schema
--
deleteUser
:: Text -- ^ "username" - The name that needs to be deleted
-> SwaggerPetstoreRequest DeleteUser MimeNoContent res
deleteUser username =
_mkRequest "DELETE" ["/user/",toPath username]
data DeleteUser
-- | @application/xml@
instance Produces DeleteUser MimeXML
-- | @application/json@
instance Produces DeleteUser MimeJSON
-- *** getUserByName
-- | @GET \/user\/{username}@
--
-- Get user by user name
--
--
--
getUserByName
:: Text -- ^ "username" - The name that needs to be fetched. Use user1 for testing.
-> SwaggerPetstoreRequest GetUserByName MimeNoContent User
getUserByName username =
_mkRequest "GET" ["/user/",toPath username]
data GetUserByName
-- | @application/xml@
instance Produces GetUserByName MimeXML
-- | @application/json@
instance Produces GetUserByName MimeJSON
-- *** loginUser
-- | @GET \/user\/login@
--
-- Logs user into the system
--
--
--
loginUser
:: Text -- ^ "username" - The user name for login
-> Text -- ^ "password" - The password for login in clear text
-> SwaggerPetstoreRequest LoginUser MimeNoContent Text
loginUser username password =
_mkRequest "GET" ["/user/login"]
`_setQuery` toQuery ("username", Just username)
`_setQuery` toQuery ("password", Just password)
data LoginUser
-- | @application/xml@
instance Produces LoginUser MimeXML
-- | @application/json@
instance Produces LoginUser MimeJSON
-- *** logoutUser
-- | @GET \/user\/logout@
--
-- Logs out current logged in user session
--
--
--
-- Note: Has 'Produces' instances, but no response schema
--
logoutUser
:: SwaggerPetstoreRequest LogoutUser MimeNoContent res
logoutUser =
_mkRequest "GET" ["/user/logout"]
data LogoutUser
-- | @application/xml@
instance Produces LogoutUser MimeXML
-- | @application/json@
instance Produces LogoutUser MimeJSON
-- *** updateUser
-- | @PUT \/user\/{username}@
--
-- Updated user
--
-- This can only be done by the logged in user.
--
-- Note: Has 'Produces' instances, but no response schema
--
updateUser
:: (Consumes UpdateUser contentType, MimeRender contentType User)
=> contentType -- ^ request content-type ('MimeType')
-> Text -- ^ "username" - name that need to be deleted
-> User -- ^ "body" - Updated user object
-> SwaggerPetstoreRequest UpdateUser contentType res
updateUser _ username body =
_mkRequest "PUT" ["/user/",toPath username]
`setBodyParam` body
data UpdateUser
-- | /Body Param/ "body" - Updated user object
instance HasBodyParam UpdateUser User
-- | @application/xml@
instance Produces UpdateUser MimeXML
-- | @application/json@
instance Produces UpdateUser MimeJSON
-- * HasBodyParam
-- | Designates the body parameter of a request
class HasBodyParam req param where
setBodyParam :: forall contentType res. (Consumes req contentType, MimeRender contentType param) => SwaggerPetstoreRequest req contentType res -> param -> SwaggerPetstoreRequest req contentType res
setBodyParam req xs =
req `_setBodyLBS` mimeRender (P.Proxy :: P.Proxy contentType) xs & _setContentTypeHeader
-- * HasOptionalParam
-- | Designates the optional parameters of a request
class HasOptionalParam req param where
{-# MINIMAL applyOptionalParam | (-&-) #-}
-- | Apply an optional parameter to a request
applyOptionalParam :: SwaggerPetstoreRequest req contentType res -> param -> SwaggerPetstoreRequest req contentType res
applyOptionalParam = (-&-)
{-# INLINE applyOptionalParam #-}
-- | infix operator \/ alias for 'addOptionalParam'
(-&-) :: SwaggerPetstoreRequest req contentType res -> param -> SwaggerPetstoreRequest req contentType res
(-&-) = applyOptionalParam
{-# INLINE (-&-) #-}
infixl 2 -&-
-- * Optional Request Parameter Types
newtype ApiUnderscorekey = ApiUnderscorekey { unApiUnderscorekey :: Text } deriving (P.Eq, P.Show)
newtype Name = Name { unName :: Text } deriving (P.Eq, P.Show)
newtype Status = Status { unStatus :: Text } deriving (P.Eq, P.Show)
newtype AdditionalMetadata = AdditionalMetadata { unAdditionalMetadata :: Text } deriving (P.Eq, P.Show)
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.
data SwaggerPetstoreRequest req contentType res = SwaggerPetstoreRequest
{ rMethod :: NH.Method -- ^ Method of SwaggerPetstoreRequest
, urlPath :: [BCL.ByteString] -- ^ Endpoint of SwaggerPetstoreRequest
, params :: Params -- ^ params of SwaggerPetstoreRequest
}
deriving (P.Show)
-- | Request Params
data Params = Params
{ paramsQuery :: NH.Query
, paramsHeaders :: NH.RequestHeaders
, paramsBody :: ParamBody
}
deriving (P.Show)
-- | Request Body
data ParamBody
= ParamBodyNone
| ParamBodyB B.ByteString
| ParamBodyBL BL.ByteString
| ParamBodyFormUrlEncoded WH.Form
| ParamBodyMultipartFormData [NH.Part]
deriving (P.Show)
-- ** SwaggerPetstoreRequest Utils
_mkRequest :: NH.Method -- ^ Method
-> [BCL.ByteString] -- ^ Endpoint
-> SwaggerPetstoreRequest req contentType res -- ^ req: Request Type, res: Response Type
_mkRequest m u = SwaggerPetstoreRequest m u _mkParams
_mkParams :: Params
_mkParams = Params [] [] ParamBodyNone
setHeader :: SwaggerPetstoreRequest req contentType res -> [NH.Header] -> SwaggerPetstoreRequest req contentType res
setHeader req header =
let _params = params (req `removeHeader` P.fmap P.fst header)
in req { params = _params { paramsHeaders = header P.++ paramsHeaders _params } }
removeHeader :: SwaggerPetstoreRequest req contentType res -> [NH.HeaderName] -> SwaggerPetstoreRequest req contentType res
removeHeader req header =
let _params = params req
in req { params = _params { paramsHeaders = [h | h <- paramsHeaders _params, cifst h `P.notElem` P.fmap CI.mk header] } }
where cifst = CI.mk . P.fst
_setContentTypeHeader :: forall req contentType res. MimeType contentType => SwaggerPetstoreRequest req contentType res -> SwaggerPetstoreRequest req contentType res
_setContentTypeHeader req =
case mimeType (P.Proxy :: P.Proxy contentType) of
Just m -> req `setHeader` [("content-type", BC.pack $ P.show m)]
Nothing -> req `removeHeader` ["content-type"]
_setAcceptHeader :: forall req contentType res accept. MimeType accept => SwaggerPetstoreRequest req contentType res -> accept -> SwaggerPetstoreRequest req contentType res
_setAcceptHeader req accept =
case mimeType' accept of
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 =
let _params = params req
in req { params = _params { paramsQuery = query P.++ [q | q <- paramsQuery _params, cifst q `P.notElem` P.fmap cifst query] } }
where cifst = CI.mk . P.fst
_addForm :: SwaggerPetstoreRequest req contentType res -> WH.Form -> SwaggerPetstoreRequest req contentType res
_addForm req newform =
let _params = params req
form = case paramsBody _params of
ParamBodyFormUrlEncoded _form -> _form
_ -> mempty
in req { params = _params { paramsBody = ParamBodyFormUrlEncoded (newform <> form) } }
_addMultiFormPart :: SwaggerPetstoreRequest req contentType res -> NH.Part -> SwaggerPetstoreRequest req contentType res
_addMultiFormPart req newpart =
let _params = params req
parts = case paramsBody _params of
ParamBodyMultipartFormData _parts -> _parts
_ -> []
in req { params = _params { paramsBody = ParamBodyMultipartFormData (newpart : parts) } }
_setBodyBS :: SwaggerPetstoreRequest req contentType res -> B.ByteString -> SwaggerPetstoreRequest req contentType res
_setBodyBS req body =
let _params = params req
in req { params = _params { paramsBody = ParamBodyB body } }
_setBodyLBS :: SwaggerPetstoreRequest req contentType res -> BL.ByteString -> SwaggerPetstoreRequest req contentType res
_setBodyLBS req body =
let _params = params req
in req { params = _params { paramsBody = ParamBodyBL body } }
-- ** Params Utils
toPath
:: WH.ToHttpApiData a
=> a -> BCL.ByteString
toPath = BB.toLazyByteString . WH.toEncodedUrlPiece
toHeader :: WH.ToHttpApiData a => (NH.HeaderName, a) -> [NH.Header]
toHeader x = [fmap WH.toHeader x]
toForm :: WH.ToHttpApiData v => (BC.ByteString, v) -> WH.Form
toForm (k,v) = WH.toForm [(BC.unpack k,v)]
toQuery :: WH.ToHttpApiData a => (BC.ByteString, Maybe a) -> [NH.QueryItem]
toQuery x = [(fmap . fmap) toQueryParam x]
where toQueryParam = T.encodeUtf8 . WH.toQueryParam
-- *** Swagger `CollectionFormat` Utils
-- | Determines the format of the array if type array is used.
data CollectionFormat
= CommaSeparated -- ^ CSV format for multiple parameters.
| SpaceSeparated -- ^ Also called "SSV"
| TabSeparated -- ^ Also called "TSV"
| PipeSeparated -- ^ `value1|value2|value2`
| MultiParamArray -- ^ Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" ('NH.Query') or "formData" ('WH.Form')
toHeaderColl :: WH.ToHttpApiData a => CollectionFormat -> (NH.HeaderName, [a]) -> [NH.Header]
toHeaderColl c xs = _toColl c toHeader xs
toFormColl :: WH.ToHttpApiData v => CollectionFormat -> (BC.ByteString, [v]) -> WH.Form
toFormColl c xs = WH.toForm $ fmap unpack $ _toColl c toHeader $ pack xs
where
pack (k,v) = (CI.mk k, v)
unpack (k,v) = (BC.unpack (CI.original k), BC.unpack v)
toQueryColl :: WH.ToHttpApiData a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query
toQueryColl c xs = _toCollA c toQuery xs
_toColl :: P.Traversable f => CollectionFormat -> (f a -> [(b, BC.ByteString)]) -> f [a] -> [(b, BC.ByteString)]
_toColl c encode xs = fmap (fmap P.fromJust) (_toCollA' c fencode BC.singleton (fmap Just xs))
where fencode = fmap (fmap Just) . encode . fmap P.fromJust
{-# INLINE fencode #-}
_toCollA :: (P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t BC.ByteString)]) -> f (t [a]) -> [(b, t BC.ByteString)]
_toCollA c encode xs = _toCollA' c encode BC.singleton xs
_toCollA' :: (P.Monoid c, P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)]
_toCollA' c encode one xs = case c of
CommaSeparated -> go (one ',')
SpaceSeparated -> go (one ' ')
TabSeparated -> go (one '\t')
PipeSeparated -> go (one '|')
MultiParamArray -> expandList
where
go sep =
[P.foldl1 (\(sk, sv) (_, v) -> (sk, (combine sep <$> sv <*> v) <|> sv <|> v)) expandList]
combine sep x y = x <> sep <> y
expandList = (P.concatMap encode . (P.traverse . P.traverse) P.toList) xs
{-# INLINE go #-}
{-# INLINE expandList #-}
{-# INLINE combine #-}

View File

@ -0,0 +1,317 @@
{-|
Module : SwaggerPetstore.Client
-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveTraversable #-}
{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}
module SwaggerPetstore.Client where
import SwaggerPetstore.Model
import SwaggerPetstore.API
import SwaggerPetstore.MimeTypes
import qualified Control.Monad.IO.Class as P
import qualified Data.Aeson as A
import qualified Data.Aeson.Types as A
import qualified Data.Proxy as P (Proxy(..))
import Data.Function ((&))
import Data.Monoid ((<>))
import Data.Text (Text)
import GHC.Exts (IsString(..))
import Web.FormUrlEncoded as WH
import Web.HttpApiData as WH
import Control.Monad.Catch (MonadThrow)
import qualified Control.Monad.Logger as LG
import qualified Data.Time as TI
import qualified Data.Map as Map
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Text.Printf as T
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy.Char8 as BCL
import qualified Data.ByteString.Builder as BB
import qualified Network.HTTP.Client as NH
import qualified Network.HTTP.Client.TLS as NH
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Types.Method as NH
import qualified Network.HTTP.Types as NH
import qualified Network.HTTP.Types.URI as NH
import qualified Control.Exception.Safe as E
-- * Config
-- |
data SwaggerPetstoreConfig = SwaggerPetstoreConfig
{ configHost :: BCL.ByteString -- ^ host supplied in the Request
, configUserAgent :: Text -- ^ user-agent supplied in the Request
, configExecLoggingT :: ExecLoggingT -- ^ Run a block using a MonadLogger instance
, configLoggingFilter :: LG.LogSource -> LG.LogLevel -> Bool -- ^ Only log messages passing the given predicate function.
}
-- | display the config
instance Show SwaggerPetstoreConfig where
show c =
T.printf
"{ configHost = %v, configUserAgent = %v, ..}"
(show (configHost c))
(show (configUserAgent c))
-- | constructs a default SwaggerPetstoreConfig
--
-- configHost:
--
-- @http://petstore.swagger.io/v2@
--
-- configUserAgent:
--
-- @"swagger-haskell-http-client/1.0.0"@
--
-- configExecLoggingT: 'runNullLoggingT'
--
-- configLoggingFilter: 'infoLevelFilter'
newConfig :: SwaggerPetstoreConfig
newConfig =
SwaggerPetstoreConfig
{ configHost = "http://petstore.swagger.io/v2"
, configUserAgent = "swagger-haskell-http-client/1.0.0"
, configExecLoggingT = runNullLoggingT
, configLoggingFilter = infoLevelFilter
}
-- | updates the config to use a MonadLogger instance which prints to stdout.
withStdoutLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig
withStdoutLogging p = p { configExecLoggingT = LG.runStdoutLoggingT}
-- | updates the config to use a MonadLogger instance which prints to stderr.
withStderrLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig
withStderrLogging p = p { configExecLoggingT = LG.runStderrLoggingT}
-- | updates the config to disable logging
withNoLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig
withNoLogging p = p { configExecLoggingT = runNullLoggingT}
-- * Dispatch
-- ** Lbs
-- | send a request returning the raw http response
dispatchLbs
:: (Produces req accept, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> SwaggerPetstoreConfig -- ^ config
-> SwaggerPetstoreRequest req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (NH.Response BCL.ByteString) -- ^ response
dispatchLbs manager config request accept = do
initReq <- _toInitRequest config request accept
dispatchInitUnsafe manager config initReq
-- ** Mime
-- | pair of decoded http body and http response
data MimeResult res =
MimeResult { mimeResult :: Either MimeError res -- ^ decoded http body
, mimeResultResponse :: NH.Response BCL.ByteString -- ^ http response
}
deriving (Show, Functor, Foldable, Traversable)
-- | pair of unrender/parser error and http response
data MimeError =
MimeError {
mimeError :: String -- ^ unrender/parser error
, mimeErrorResponse :: NH.Response BCL.ByteString -- ^ http response
} deriving (Eq, Show)
-- | send a request returning the 'MimeResult'
dispatchMime
:: (Produces req accept, MimeUnrender accept res, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> SwaggerPetstoreConfig -- ^ config
-> SwaggerPetstoreRequest req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (MimeResult res) -- ^ response
dispatchMime manager config request accept = do
httpResponse <- dispatchLbs manager config request accept
parsedResult <-
runExceptionLoggingT "Client" config $
do case mimeUnrender' accept (NH.responseBody httpResponse) of
Left s -> do
logNST LG.LevelError "Client" (T.pack s)
pure (Left (MimeError s httpResponse))
Right r -> pure (Right r)
return (MimeResult parsedResult httpResponse)
-- | like 'dispatchMime', but only returns the decoded http body
dispatchMime'
:: (Produces req accept, MimeUnrender accept res, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> SwaggerPetstoreConfig -- ^ config
-> SwaggerPetstoreRequest req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (Either MimeError res) -- ^ response
dispatchMime' manager config request accept = do
MimeResult parsedResult _ <- dispatchMime manager config request accept
return parsedResult
-- ** Unsafe
-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the "accept" 'MimeType'. (Useful if the server's response is undocumented)
dispatchLbsUnsafe
:: (MimeType accept, MimeType contentType)
=> NH.Manager -- ^ http-client Connection manager
-> SwaggerPetstoreConfig -- ^ config
-> SwaggerPetstoreRequest req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (NH.Response BCL.ByteString) -- ^ response
dispatchLbsUnsafe manager config request accept = do
initReq <- _toInitRequest config request accept
dispatchInitUnsafe manager config initReq
-- | dispatch an InitRequest
dispatchInitUnsafe
:: NH.Manager -- ^ http-client Connection manager
-> SwaggerPetstoreConfig -- ^ config
-> InitRequest req contentType res accept -- ^ init request
-> IO (NH.Response BCL.ByteString) -- ^ response
dispatchInitUnsafe manager config (InitRequest req) = do
runExceptionLoggingT logSrc config $
do logNST LG.LevelInfo logSrc requestLogMsg
logNST LG.LevelDebug logSrc requestDbgLogMsg
res <- P.liftIO $ NH.httpLbs req manager
logNST LG.LevelInfo logSrc (responseLogMsg res)
logNST LG.LevelDebug logSrc ((T.pack . show) res)
return res
where
logSrc = "Client"
endpoint =
T.pack $
BC.unpack $
NH.method req <> " " <> NH.host req <> NH.path req <> NH.queryString req
requestLogMsg = "REQ:" <> endpoint
requestDbgLogMsg =
"Headers=" <> (T.pack . show) (NH.requestHeaders req) <> " Body=" <>
(case NH.requestBody req of
NH.RequestBodyLBS xs -> T.decodeUtf8 (BL.toStrict xs)
_ -> "<RequestBody>")
responseStatusCode = (T.pack . show) . NH.statusCode . NH.responseStatus
responseLogMsg res =
"RES:statusCode=" <> responseStatusCode res <> " (" <> endpoint <> ")"
-- * InitRequest
-- | wraps an http-client 'Request' with request/response type parameters
newtype InitRequest req contentType res accept = InitRequest
{ unInitRequest :: NH.Request
} deriving (Show)
-- | Build an http-client 'Request' record from the supplied config and request
_toInitRequest
:: (MimeType accept, MimeType contentType)
=> SwaggerPetstoreConfig -- ^ config
-> SwaggerPetstoreRequest req contentType res -- ^ request
-> accept -- ^ "accept" 'MimeType'
-> IO (InitRequest req contentType res accept) -- ^ initialized request
_toInitRequest config req0 accept = do
parsedReq <- NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (urlPath req0))
let req1 = _setAcceptHeader req0 accept & _setContentTypeHeader
reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders (params req1)
reqQuery = NH.renderQuery True (paramsQuery (params req1))
pReq = parsedReq { NH.method = (rMethod req1)
, NH.requestHeaders = reqHeaders
, NH.queryString = reqQuery
}
outReq <- case paramsBody (params req1) of
ParamBodyNone -> pure (pReq { NH.requestBody = mempty })
ParamBodyB bs -> pure (pReq { NH.requestBody = NH.RequestBodyBS bs })
ParamBodyBL bl -> pure (pReq { NH.requestBody = NH.RequestBodyLBS bl })
ParamBodyFormUrlEncoded form -> pure (pReq { NH.requestBody = NH.RequestBodyLBS (WH.urlEncodeForm form) })
ParamBodyMultipartFormData parts -> NH.formDataBody parts pReq
pure (InitRequest outReq)
-- | 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)
-- | modify the underlying Request (monadic)
modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (NH.Request -> m NH.Request) -> m (InitRequest req contentType res accept)
modifyInitRequestM (InitRequest req) f = fmap InitRequest (f req)
-- * Logging
-- | A block using a MonadLogger instance
type ExecLoggingT = forall m. P.MonadIO m =>
forall a. LG.LoggingT m a -> m a
-- ** Null Logger
-- | a logger which disables logging
nullLogger :: LG.Loc -> LG.LogSource -> LG.LogLevel -> LG.LogStr -> IO ()
nullLogger _ _ _ _ = return ()
-- | run the monad transformer that disables logging
runNullLoggingT :: LG.LoggingT m a -> m a
runNullLoggingT = (`LG.runLoggingT` nullLogger)
-- ** Logging Filters
-- | a log filter that uses 'LevelError' as the minimum logging level
errorLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool
errorLevelFilter = minLevelFilter LG.LevelError
-- | a log filter that uses 'LevelInfo' as the minimum logging level
infoLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool
infoLevelFilter = minLevelFilter LG.LevelInfo
-- | a log filter that uses 'LevelDebug' as the minimum logging level
debugLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool
debugLevelFilter = minLevelFilter LG.LevelDebug
minLevelFilter :: LG.LogLevel -> LG.LogSource -> LG.LogLevel -> Bool
minLevelFilter l _ l' = l' >= l
-- ** Logging
-- | Log a message using the current time
logNST :: (P.MonadIO m, LG.MonadLogger m) => LG.LogLevel -> Text -> Text -> m ()
logNST level src msg = do
now <- P.liftIO (formatTimeLog <$> TI.getCurrentTime)
LG.logOtherNS sourceLog level (now <> " " <> msg)
where
sourceLog = "SwaggerPetstore/" <> src
formatTimeLog =
T.pack . TI.formatTime TI.defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Z"
-- | re-throws exceptions after logging them
logExceptions
:: (LG.MonadLogger m, E.MonadCatch m, P.MonadIO m)
=> Text -> m a -> m a
logExceptions src =
E.handle
(\(e :: E.SomeException) -> do
logNST LG.LevelError src ((T.pack . show) e)
E.throw e)
-- | Run a block using the configured MonadLogger instance
runLoggingT :: SwaggerPetstoreConfig -> ExecLoggingT
runLoggingT config =
configExecLoggingT config . LG.filterLogger (configLoggingFilter config)
-- | Run a block using the configured MonadLogger instance (logs exceptions)
runExceptionLoggingT
:: (E.MonadCatch m, P.MonadIO m)
=> T.Text -> SwaggerPetstoreConfig -> LG.LoggingT m a -> m a
runExceptionLoggingT logSrc config = runLoggingT config . logExceptions logSrc

View File

@ -0,0 +1,202 @@
{-|
Module : SwaggerPetstore.Lens
-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}
module SwaggerPetstore.Lens where
import Data.Text (Text)
import qualified Data.Aeson as A
import Data.Aeson (Value)
import qualified Data.ByteString as B
import Data.ByteString.Lazy (ByteString)
import qualified Data.Data as P (Data, Typeable)
import qualified Data.Map as Map
import qualified Data.Time as TI
import Data.Time (UTCTime)
import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
import SwaggerPetstore.Model
-- * Type Aliases
type Traversal_' s a = Traversal_ s s a a
type Traversal_ s t a b = forall (f :: * -> *). Applicative f => (a -> f b) -> s -> f t
type Lens_' s a = Lens_ s s a a
type Lens_ s t a b = forall (f :: * -> *). Functor f => (a -> f b) -> s -> f t
-- * ApiResponse
-- | 'apiResponseCode' Traversal
apiResponseCodeT :: Traversal_' ApiResponse Int
apiResponseCodeT f s = _mtraversal apiResponseCode (\b -> s { apiResponseCode = Just b}) f s
{-# INLINE apiResponseCodeT #-}
-- | 'apiResponseType' Traversal
apiResponseTypeT :: Traversal_' ApiResponse Text
apiResponseTypeT f s = _mtraversal apiResponseType (\b -> s { apiResponseType = Just b}) f s
{-# INLINE apiResponseTypeT #-}
-- | 'apiResponseMessage' Traversal
apiResponseMessageT :: Traversal_' ApiResponse Text
apiResponseMessageT f s = _mtraversal apiResponseMessage (\b -> s { apiResponseMessage = Just b}) f s
{-# INLINE apiResponseMessageT #-}
-- * Category
-- | 'categoryId' Traversal
categoryIdT :: Traversal_' Category Integer
categoryIdT f s = _mtraversal categoryId (\b -> s { categoryId = Just b}) f s
{-# INLINE categoryIdT #-}
-- | 'categoryName' Traversal
categoryNameT :: Traversal_' Category Text
categoryNameT f s = _mtraversal categoryName (\b -> s { categoryName = Just b}) f s
{-# INLINE categoryNameT #-}
-- * Order
-- | 'orderId' Traversal
orderIdT :: Traversal_' Order Integer
orderIdT f s = _mtraversal orderId (\b -> s { orderId = Just b}) f s
{-# INLINE orderIdT #-}
-- | 'orderPetId' Traversal
orderPetIdT :: Traversal_' Order Integer
orderPetIdT f s = _mtraversal orderPetId (\b -> s { orderPetId = Just b}) f s
{-# INLINE orderPetIdT #-}
-- | 'orderQuantity' Traversal
orderQuantityT :: Traversal_' Order Int
orderQuantityT f s = _mtraversal orderQuantity (\b -> s { orderQuantity = Just b}) f s
{-# INLINE orderQuantityT #-}
-- | 'orderShipDate' Traversal
orderShipDateT :: Traversal_' Order UTCTime
orderShipDateT f s = _mtraversal orderShipDate (\b -> s { orderShipDate = Just b}) f s
{-# INLINE orderShipDateT #-}
-- | 'orderStatus' Traversal
orderStatusT :: Traversal_' Order Text
orderStatusT f s = _mtraversal orderStatus (\b -> s { orderStatus = Just b}) f s
{-# INLINE orderStatusT #-}
-- | 'orderComplete' Traversal
orderCompleteT :: Traversal_' Order Bool
orderCompleteT f s = _mtraversal orderComplete (\b -> s { orderComplete = Just b}) f s
{-# INLINE orderCompleteT #-}
-- * Pet
-- | 'petId' Traversal
petIdT :: Traversal_' Pet Integer
petIdT f s = _mtraversal petId (\b -> s { petId = Just b}) f s
{-# INLINE petIdT #-}
-- | 'petCategory' Traversal
petCategoryT :: Traversal_' Pet Category
petCategoryT f s = _mtraversal petCategory (\b -> s { petCategory = Just b}) f s
{-# INLINE petCategoryT #-}
-- | 'petName' Lens
petNameL :: Lens_' Pet Text
petNameL f Pet{..} = (\petName -> Pet { petName, ..} ) <$> f petName
{-# INLINE petNameL #-}
-- | 'petPhotoUrls' Lens
petPhotoUrlsL :: Lens_' Pet [Text]
petPhotoUrlsL f Pet{..} = (\petPhotoUrls -> Pet { petPhotoUrls, ..} ) <$> f petPhotoUrls
{-# INLINE petPhotoUrlsL #-}
-- | 'petTags' Traversal
petTagsT :: Traversal_' Pet [Tag]
petTagsT f s = _mtraversal petTags (\b -> s { petTags = Just b}) f s
{-# INLINE petTagsT #-}
-- | 'petStatus' Traversal
petStatusT :: Traversal_' Pet Text
petStatusT f s = _mtraversal petStatus (\b -> s { petStatus = Just b}) f s
{-# INLINE petStatusT #-}
-- * Tag
-- | 'tagId' Traversal
tagIdT :: Traversal_' Tag Integer
tagIdT f s = _mtraversal tagId (\b -> s { tagId = Just b}) f s
{-# INLINE tagIdT #-}
-- | 'tagName' Traversal
tagNameT :: Traversal_' Tag Text
tagNameT f s = _mtraversal tagName (\b -> s { tagName = Just b}) f s
{-# INLINE tagNameT #-}
-- * User
-- | 'userId' Traversal
userIdT :: Traversal_' User Integer
userIdT f s = _mtraversal userId (\b -> s { userId = Just b}) f s
{-# INLINE userIdT #-}
-- | 'userUsername' Traversal
userUsernameT :: Traversal_' User Text
userUsernameT f s = _mtraversal userUsername (\b -> s { userUsername = Just b}) f s
{-# INLINE userUsernameT #-}
-- | 'userFirstName' Traversal
userFirstNameT :: Traversal_' User Text
userFirstNameT f s = _mtraversal userFirstName (\b -> s { userFirstName = Just b}) f s
{-# INLINE userFirstNameT #-}
-- | 'userLastName' Traversal
userLastNameT :: Traversal_' User Text
userLastNameT f s = _mtraversal userLastName (\b -> s { userLastName = Just b}) f s
{-# INLINE userLastNameT #-}
-- | 'userEmail' Traversal
userEmailT :: Traversal_' User Text
userEmailT f s = _mtraversal userEmail (\b -> s { userEmail = Just b}) f s
{-# INLINE userEmailT #-}
-- | 'userPassword' Traversal
userPasswordT :: Traversal_' User Text
userPasswordT f s = _mtraversal userPassword (\b -> s { userPassword = Just b}) f s
{-# INLINE userPasswordT #-}
-- | 'userPhone' Traversal
userPhoneT :: Traversal_' User Text
userPhoneT f s = _mtraversal userPhone (\b -> s { userPhone = Just b}) f s
{-# INLINE userPhoneT #-}
-- | 'userUserStatus' Traversal
userUserStatusT :: Traversal_' User Int
userUserStatusT f s = _mtraversal userUserStatus (\b -> s { userUserStatus = Just b}) f s
{-# INLINE userUserStatusT #-}
-- * Helpers
_mtraversal :: Applicative f => (b -> Maybe t) -> (a -> b) -> (t -> f a) -> b -> f b
_mtraversal x fsb f s = maybe (pure s) (\a -> fsb <$> f a) (x s)
{-# INLINE _mtraversal #-}

Some files were not shown because too many files have changed in this diff Show More