[Typescript] Add application/x-www-form-urlencoded content support (#9960)

* Add application/x-www-form-urlencoded content support

* cs fix

* cs fix

* add samples

* fix double content type

* fix samples

* fix util.canConsumeForm

* revert unrelated ghanges

* regenerate samples

* change includes to indexof

* regenerate samples

* regenerate samples
This commit is contained in:
Kuzma 2021-08-20 17:07:43 +03:00 committed by GitHub
parent 8462bf3790
commit 3fd5e4111f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 337 additions and 753 deletions

View File

@ -5,11 +5,13 @@ import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/ht
{{#platforms}}
{{#node}}
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
{{/node}}
{{/platforms}}
import {ObjectSerializer} from '../models/ObjectSerializer{{extensionForDeno}}';
import {ApiException} from './exception{{extensionForDeno}}';
import {isCodeInRange} from '../util{{extensionForDeno}}';
import {canConsumeForm, isCodeInRange} from '../util{{extensionForDeno}}';
{{#useInversify}}
import { injectable } from "inversify";
{{/useInversify}}
@ -59,22 +61,33 @@ export class {{classname}}RequestFactory extends BaseAPIRequestFactory {
// Make Request Context
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.{{httpMethod}});
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
{{#queryParams}}
// Query Params
{{#queryParams}}
if ({{paramName}} !== undefined) {
requestContext.setQueryParam("{{baseName}}", ObjectSerializer.serialize({{paramName}}, "{{{dataType}}}", "{{dataFormat}}"));
}
{{/queryParams}}
{{#headerParams}}
// Header Params
{{#headerParams}}
requestContext.setHeaderParam("{{baseName}}", ObjectSerializer.serialize({{paramName}}, "{{{dataType}}}", "{{dataFormat}}"));
{{/headerParams}}
{{#hasFormParams}}
// Form Params
{{#hasFormParams}}
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
{{#consumes}}
'{{{mediaType}}}',
{{/consumes}}
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
{{/hasFormParams}}
{{#formParams}}
@ -111,11 +124,19 @@ export class {{classname}}RequestFactory extends BaseAPIRequestFactory {
{{/isArray}}
{{/formParams}}
{{#hasFormParams}}
requestContext.setBody(localVarFormParams);
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([{{#consumes}}
"{{{mediaType}}}"{{^-last}},{{/-last}}
{{/consumes}}]);
requestContext.setHeaderParam("Content-Type", contentType);
}
{{/hasFormParams}}
{{#bodyParam}}
// Body Params
{{#bodyParam}}
const contentType = ObjectSerializer.getPreferredMediaType([{{#consumes}}
"{{{mediaType}}}"{{^-last}},{{/-last}}
{{/consumes}}]);
@ -130,8 +151,8 @@ export class {{classname}}RequestFactory extends BaseAPIRequestFactory {
{{#hasAuthMethods}}
let authMethod = null;
{{/hasAuthMethods}}
// Apply auth methods
{{#authMethods}}
// Apply auth methods
authMethod = _config.authMethods["{{name}}"]
if (authMethod) {
await authMethod.applySecurityAuthentication(requestContext);

View File

@ -2,6 +2,7 @@
{{#node}}
// TODO: evaluate if we can easily get rid of this library
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
{{/node}}
{{/platforms}}
{{#platforms}}
@ -103,7 +104,7 @@ export class HttpException extends Error {
/**
* Represents the body of an outgoing HTTP request.
*/
export type RequestBody = undefined | string | FormData;
export type RequestBody = undefined | string | FormData | URLSearchParams;
/**
* Represents an HTTP request context

View File

@ -24,7 +24,8 @@ let primitives = [
const supportedMediaTypes: { [mediaType: string]: number } = {
"application/json": Infinity,
"application/octet-stream": 0
"application/octet-stream": 0,
"application/x-www-form-urlencoded": 0
}

View File

@ -26,3 +26,12 @@ export function isCodeInRange(codeRange: string, code: number): boolean {
return true;
}
}
/**
* Returns if it can consume form
*
* @param consumes array
*/
export function canConsumeForm(contentTypes: string[]): boolean {
return contentTypes.indexOf('multipart/form-data') !== -1
}

View File

@ -4,7 +4,8 @@ import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { Cat } from '../models/Cat';
import { Dog } from '../models/Dog';
@ -31,12 +32,6 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -49,7 +44,6 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}
@ -68,12 +62,6 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PATCH);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -86,7 +74,6 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}
@ -105,12 +92,6 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PATCH);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -123,7 +104,6 @@ export class DefaultApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}

View File

@ -35,7 +35,7 @@ export class HttpException extends Error {
/**
* Represents the body of an outgoing HTTP request.
*/
export type RequestBody = undefined | string | FormData;
export type RequestBody = undefined | string | FormData | URLSearchParams;
/**
* Represents an HTTP request context

View File

@ -28,7 +28,8 @@ let primitives = [
const supportedMediaTypes: { [mediaType: string]: number } = {
"application/json": Infinity,
"application/octet-stream": 0
"application/octet-stream": 0,
"application/x-www-form-urlencoded": 0
}

View File

@ -26,3 +26,12 @@ export function isCodeInRange(codeRange: string, code: number): boolean {
return true;
}
}
/**
* Returns if it can consume form
*
* @param consumes array
*/
export function canConsumeForm(contentTypes: string[]): boolean {
return contentTypes.indexOf('multipart/form-data') !== -1
}

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { ApiResponse } from '../models/ApiResponse';
import { Pet } from '../models/Pet';
@ -35,12 +37,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -88,15 +84,9 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
requestContext.setHeaderParam("api_key", ObjectSerializer.serialize(apiKey, "string", ""));
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -134,12 +124,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("status", ObjectSerializer.serialize(status, "Array<'available' | 'pending' | 'sold'>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -177,12 +161,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("tags", ObjectSerializer.serialize(tags, "Array<string>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -216,14 +194,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -255,12 +225,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -310,12 +274,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'application/x-www-form-urlencoded',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (name !== undefined) {
// TODO: replace .append with .set
@ -325,9 +294,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('status', status as any);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"application/x-www-form-urlencoded"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods
@ -364,12 +339,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'multipart/form-data',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (additionalMetadata !== undefined) {
// TODO: replace .append with .set
@ -379,9 +359,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('file', file.data, file.name);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"multipart/form-data"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { Order } from '../models/Order';
@ -36,16 +38,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -64,14 +57,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -105,16 +90,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -139,12 +115,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -157,7 +127,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { User } from '../models/User';
@ -35,12 +37,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -83,12 +79,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -131,12 +121,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -181,14 +165,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -221,16 +197,7 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -266,18 +233,13 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
if (username !== undefined) {
requestContext.setQueryParam("username", ObjectSerializer.serialize(username, "string", ""));
}
// Query Params
if (password !== undefined) {
requestContext.setQueryParam("password", ObjectSerializer.serialize(password, "string", ""));
}
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -295,14 +257,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -343,12 +297,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([

View File

@ -1,5 +1,6 @@
// TODO: evaluate if we can easily get rid of this library
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
// typings of url-parse are incorrect...
// @ts-ignore
import * as URLParse from "url-parse";
@ -40,7 +41,7 @@ export class HttpException extends Error {
/**
* Represents the body of an outgoing HTTP request.
*/
export type RequestBody = undefined | string | FormData;
export type RequestBody = undefined | string | FormData | URLSearchParams;
/**
* Represents an HTTP request context

View File

@ -26,7 +26,8 @@ let primitives = [
const supportedMediaTypes: { [mediaType: string]: number } = {
"application/json": Infinity,
"application/octet-stream": 0
"application/octet-stream": 0,
"application/x-www-form-urlencoded": 0
}

View File

@ -26,3 +26,12 @@ export function isCodeInRange(codeRange: string, code: number): boolean {
return true;
}
}
/**
* Returns if it can consume form
*
* @param consumes array
*/
export function canConsumeForm(contentTypes: string[]): boolean {
return contentTypes.indexOf('multipart/form-data') !== -1
}

View File

@ -4,7 +4,8 @@ import {Configuration} from '../configuration.ts';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http.ts';
import {ObjectSerializer} from '../models/ObjectSerializer.ts';
import {ApiException} from './exception.ts';
import {isCodeInRange} from '../util.ts';
import {canConsumeForm, isCodeInRange} from '../util.ts';
import { ApiResponse } from '../models/ApiResponse.ts';
import { Pet } from '../models/Pet.ts';
@ -34,12 +35,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -87,15 +82,9 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
requestContext.setHeaderParam("api_key", ObjectSerializer.serialize(apiKey, "string", ""));
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -133,12 +122,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("status", ObjectSerializer.serialize(status, "Array<'available' | 'pending' | 'sold'>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -176,12 +159,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("tags", ObjectSerializer.serialize(tags, "Array<string>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -215,14 +192,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -254,12 +223,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -309,12 +272,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'application/x-www-form-urlencoded',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (name !== undefined) {
// TODO: replace .append with .set
@ -324,9 +292,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('status', status as any);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"application/x-www-form-urlencoded"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods
@ -363,12 +337,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'multipart/form-data',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (additionalMetadata !== undefined) {
// TODO: replace .append with .set
@ -378,9 +357,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('file', file, file.name);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"multipart/form-data"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods

View File

@ -4,7 +4,8 @@ import {Configuration} from '../configuration.ts';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http.ts';
import {ObjectSerializer} from '../models/ObjectSerializer.ts';
import {ApiException} from './exception.ts';
import {isCodeInRange} from '../util.ts';
import {canConsumeForm, isCodeInRange} from '../util.ts';
import { Order } from '../models/Order.ts';
@ -35,16 +36,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -63,14 +55,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -104,16 +88,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -138,12 +113,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -156,7 +125,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}

View File

@ -4,7 +4,8 @@ import {Configuration} from '../configuration.ts';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http.ts';
import {ObjectSerializer} from '../models/ObjectSerializer.ts';
import {ApiException} from './exception.ts';
import {isCodeInRange} from '../util.ts';
import {canConsumeForm, isCodeInRange} from '../util.ts';
import { User } from '../models/User.ts';
@ -34,12 +35,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -82,12 +77,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -130,12 +119,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -180,14 +163,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -220,16 +195,7 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -265,18 +231,13 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
if (username !== undefined) {
requestContext.setQueryParam("username", ObjectSerializer.serialize(username, "string", ""));
}
// Query Params
if (password !== undefined) {
requestContext.setQueryParam("password", ObjectSerializer.serialize(password, "string", ""));
}
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -294,14 +255,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -342,12 +295,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([

View File

@ -64,7 +64,7 @@ export class HttpException extends Error {
/**
* Represents the body of an outgoing HTTP request.
*/
export type RequestBody = undefined | string | FormData;
export type RequestBody = undefined | string | FormData | URLSearchParams;
/**
* Represents an HTTP request context

View File

@ -26,7 +26,8 @@ let primitives = [
const supportedMediaTypes: { [mediaType: string]: number } = {
"application/json": Infinity,
"application/octet-stream": 0
"application/octet-stream": 0,
"application/x-www-form-urlencoded": 0
}

View File

@ -26,3 +26,12 @@ export function isCodeInRange(codeRange: string, code: number): boolean {
return true;
}
}
/**
* Returns if it can consume form
*
* @param consumes array
*/
export function canConsumeForm(contentTypes: string[]): boolean {
return contentTypes.indexOf('multipart/form-data') !== -1
}

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { injectable } from "inversify";
import { ApiResponse } from '../models/ApiResponse';
@ -37,12 +39,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -90,15 +86,9 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
requestContext.setHeaderParam("api_key", ObjectSerializer.serialize(apiKey, "string", ""));
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -136,12 +126,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("status", ObjectSerializer.serialize(status, "Array<'available' | 'pending' | 'sold'>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -179,12 +163,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("tags", ObjectSerializer.serialize(tags, "Array<string>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -218,14 +196,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -257,12 +227,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -312,12 +276,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'application/x-www-form-urlencoded',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (name !== undefined) {
// TODO: replace .append with .set
@ -327,9 +296,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('status', status as any);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"application/x-www-form-urlencoded"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods
@ -366,12 +341,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'multipart/form-data',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (additionalMetadata !== undefined) {
// TODO: replace .append with .set
@ -381,9 +361,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('file', file.data, file.name);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"multipart/form-data"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { injectable } from "inversify";
import { Order } from '../models/Order';
@ -38,16 +40,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -66,14 +59,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -107,16 +92,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -141,12 +117,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -159,7 +129,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { injectable } from "inversify";
import { User } from '../models/User';
@ -37,12 +39,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -85,12 +81,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -133,12 +123,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -183,14 +167,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -223,16 +199,7 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -268,18 +235,13 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
if (username !== undefined) {
requestContext.setQueryParam("username", ObjectSerializer.serialize(username, "string", ""));
}
// Query Params
if (password !== undefined) {
requestContext.setQueryParam("password", ObjectSerializer.serialize(password, "string", ""));
}
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -297,14 +259,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -345,12 +299,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([

View File

@ -1,5 +1,6 @@
// TODO: evaluate if we can easily get rid of this library
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
// typings of url-parse are incorrect...
// @ts-ignore
import * as URLParse from "url-parse";
@ -40,7 +41,7 @@ export class HttpException extends Error {
/**
* Represents the body of an outgoing HTTP request.
*/
export type RequestBody = undefined | string | FormData;
export type RequestBody = undefined | string | FormData | URLSearchParams;
/**
* Represents an HTTP request context

View File

@ -26,7 +26,8 @@ let primitives = [
const supportedMediaTypes: { [mediaType: string]: number } = {
"application/json": Infinity,
"application/octet-stream": 0
"application/octet-stream": 0,
"application/x-www-form-urlencoded": 0
}

View File

@ -26,3 +26,12 @@ export function isCodeInRange(codeRange: string, code: number): boolean {
return true;
}
}
/**
* Returns if it can consume form
*
* @param consumes array
*/
export function canConsumeForm(contentTypes: string[]): boolean {
return contentTypes.indexOf('multipart/form-data') !== -1
}

View File

@ -4,7 +4,8 @@ import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { ApiResponse } from '../models/ApiResponse';
import { Pet } from '../models/Pet';
@ -34,12 +35,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -87,15 +82,9 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
requestContext.setHeaderParam("api_key", ObjectSerializer.serialize(apiKey, "string", ""));
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -133,12 +122,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("status", ObjectSerializer.serialize(status, "Array<'available' | 'pending' | 'sold'>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -176,12 +159,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("tags", ObjectSerializer.serialize(tags, "Array<string>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -215,14 +192,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -254,12 +223,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -309,12 +272,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'application/x-www-form-urlencoded',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (name !== undefined) {
// TODO: replace .append with .set
@ -324,9 +292,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('status', status as any);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"application/x-www-form-urlencoded"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods
@ -363,12 +337,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'multipart/form-data',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (additionalMetadata !== undefined) {
// TODO: replace .append with .set
@ -378,9 +357,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('file', file, file.name);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"multipart/form-data"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods

View File

@ -4,7 +4,8 @@ import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { Order } from '../models/Order';
@ -35,16 +36,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -63,14 +55,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -104,16 +88,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -138,12 +113,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -156,7 +125,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}

View File

@ -4,7 +4,8 @@ import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { User } from '../models/User';
@ -34,12 +35,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -82,12 +77,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -130,12 +119,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -180,14 +163,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -220,16 +195,7 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -265,18 +231,13 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
if (username !== undefined) {
requestContext.setQueryParam("username", ObjectSerializer.serialize(username, "string", ""));
}
// Query Params
if (password !== undefined) {
requestContext.setQueryParam("password", ObjectSerializer.serialize(password, "string", ""));
}
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -294,14 +255,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -342,12 +295,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([

View File

@ -35,7 +35,7 @@ export class HttpException extends Error {
/**
* Represents the body of an outgoing HTTP request.
*/
export type RequestBody = undefined | string | FormData;
export type RequestBody = undefined | string | FormData | URLSearchParams;
/**
* Represents an HTTP request context

View File

@ -26,7 +26,8 @@ let primitives = [
const supportedMediaTypes: { [mediaType: string]: number } = {
"application/json": Infinity,
"application/octet-stream": 0
"application/octet-stream": 0,
"application/x-www-form-urlencoded": 0
}

View File

@ -26,3 +26,12 @@ export function isCodeInRange(codeRange: string, code: number): boolean {
return true;
}
}
/**
* Returns if it can consume form
*
* @param consumes array
*/
export function canConsumeForm(contentTypes: string[]): boolean {
return contentTypes.indexOf('multipart/form-data') !== -1
}

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { ApiResponse } from '../models/ApiResponse';
import { Pet } from '../models/Pet';
@ -35,12 +37,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -88,15 +84,9 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
requestContext.setHeaderParam("api_key", ObjectSerializer.serialize(apiKey, "string", ""));
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -134,12 +124,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("status", ObjectSerializer.serialize(status, "Array<'available' | 'pending' | 'sold'>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -177,12 +161,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
requestContext.setQueryParam("tags", ObjectSerializer.serialize(tags, "Array<string>", ""));
}
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -216,14 +194,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -255,12 +225,6 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -310,12 +274,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'application/x-www-form-urlencoded',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (name !== undefined) {
// TODO: replace .append with .set
@ -325,9 +294,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('status', status as any);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"application/x-www-form-urlencoded"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods
@ -364,12 +339,17 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
let localVarFormParams = new FormData();
const useForm = canConsumeForm([
'multipart/form-data',
]);
let localVarFormParams
if (useForm) {
localVarFormParams = new FormData();
} else {
localVarFormParams = new URLSearchParams();
}
if (additionalMetadata !== undefined) {
// TODO: replace .append with .set
@ -379,9 +359,15 @@ export class PetApiRequestFactory extends BaseAPIRequestFactory {
// TODO: replace .append with .set
localVarFormParams.append('file', file.data, file.name);
}
requestContext.setBody(localVarFormParams);
// Body Params
if(!useForm) {
const contentType = ObjectSerializer.getPreferredMediaType([
"multipart/form-data"
]);
requestContext.setHeaderParam("Content-Type", contentType);
}
let authMethod = null;
// Apply auth methods

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { Order } from '../models/Order';
@ -36,16 +38,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -64,14 +57,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -105,16 +90,7 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -139,12 +115,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -157,7 +127,6 @@ export class StoreApiRequestFactory extends BaseAPIRequestFactory {
);
requestContext.setBody(serializedBody);
// Apply auth methods
return requestContext;
}

View File

@ -3,9 +3,11 @@ import { BaseAPIRequestFactory, RequiredError } from './baseapi';
import {Configuration} from '../configuration';
import { RequestContext, HttpMethod, ResponseContext, HttpFile} from '../http/http';
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
import {ObjectSerializer} from '../models/ObjectSerializer';
import {ApiException} from './exception';
import {isCodeInRange} from '../util';
import {canConsumeForm, isCodeInRange} from '../util';
import { User } from '../models/User';
@ -35,12 +37,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -83,12 +79,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -131,12 +121,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([
@ -181,14 +165,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -221,16 +197,7 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -266,18 +233,13 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
if (username !== undefined) {
requestContext.setQueryParam("username", ObjectSerializer.serialize(username, "string", ""));
}
// Query Params
if (password !== undefined) {
requestContext.setQueryParam("password", ObjectSerializer.serialize(password, "string", ""));
}
// Header Params
// Form Params
// Body Params
// Apply auth methods
return requestContext;
}
@ -295,14 +257,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
let authMethod = null;
// Apply auth methods
@ -343,12 +297,6 @@ export class UserApiRequestFactory extends BaseAPIRequestFactory {
const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PUT);
requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8")
// Query Params
// Header Params
// Form Params
// Body Params
const contentType = ObjectSerializer.getPreferredMediaType([

View File

@ -1,5 +1,6 @@
// TODO: evaluate if we can easily get rid of this library
import * as FormData from "form-data";
import { URLSearchParams } from 'url';
// typings of url-parse are incorrect...
// @ts-ignore
import * as URLParse from "url-parse";
@ -40,7 +41,7 @@ export class HttpException extends Error {
/**
* Represents the body of an outgoing HTTP request.
*/
export type RequestBody = undefined | string | FormData;
export type RequestBody = undefined | string | FormData | URLSearchParams;
/**
* Represents an HTTP request context

View File

@ -26,7 +26,8 @@ let primitives = [
const supportedMediaTypes: { [mediaType: string]: number } = {
"application/json": Infinity,
"application/octet-stream": 0
"application/octet-stream": 0,
"application/x-www-form-urlencoded": 0
}

View File

@ -26,3 +26,12 @@ export function isCodeInRange(codeRange: string, code: number): boolean {
return true;
}
}
/**
* Returns if it can consume form
*
* @param consumes array
*/
export function canConsumeForm(contentTypes: string[]): boolean {
return contentTypes.indexOf('multipart/form-data') !== -1
}