forked from loafle/openapi-generator-original
Added middleware to fetch
This commit is contained in:
parent
a7de49110e
commit
61a1bbdabe
@ -24,10 +24,21 @@ export class {{classname}} {
|
|||||||
{{#operation}}
|
{{#operation}}
|
||||||
public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: any): Promise<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}> {
|
public {{nickname}}({{#allParams}}{{paramName}}{{^required}}?{{/required}}: {{{dataType}}}, {{/allParams}}options?: any): Promise<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}> {
|
||||||
const requestContext = this.requestFactory.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options);
|
const requestContext = this.requestFactory.{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.{{nickname}}(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.{{nickname}}(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
{{/operation}}
|
{{/operation}}
|
||||||
|
@ -6,7 +6,6 @@ import 'isomorphic-fetch';
|
|||||||
export class IsomorphicFetchHttpLibrary implements HttpLibrary {
|
export class IsomorphicFetchHttpLibrary implements HttpLibrary {
|
||||||
|
|
||||||
public send(request: RequestContext): Promise<ResponseContext> {
|
public send(request: RequestContext): Promise<ResponseContext> {
|
||||||
console.log("Request: ", request);
|
|
||||||
let method = request.getHttpMethod().toString();
|
let method = request.getHttpMethod().toString();
|
||||||
let body = request.getBody();
|
let body = request.getBody();
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import {RequestContext, ResponseContext} from './http/http';
|
import {RequestContext, ResponseContext} from './http/http';
|
||||||
|
|
||||||
export interface Middleware {
|
export interface Middleware {
|
||||||
pre?(context: RequestContext): Promise<RequestContext>;
|
pre(context: RequestContext): Promise<RequestContext>;
|
||||||
post?(context: ResponseContext): Promise<ResponseContext>;
|
post(context: ResponseContext): Promise<ResponseContext>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: package.json set npmName
|
// TODO: package.json set npmName
|
@ -21,66 +21,154 @@ export class PetApi {
|
|||||||
|
|
||||||
public addPet(pet: Pet, options?: any): Promise<void> {
|
public addPet(pet: Pet, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.addPet(pet, options);
|
const requestContext = this.requestFactory.addPet(pet, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.addPet(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.addPet(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public deletePet(petId: number, apiKey?: string, options?: any): Promise<void> {
|
public deletePet(petId: number, apiKey?: string, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.deletePet(petId, apiKey, options);
|
const requestContext = this.requestFactory.deletePet(petId, apiKey, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.deletePet(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.deletePet(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, options?: any): Promise<Array<Pet>> {
|
public findPetsByStatus(status: Array<'available' | 'pending' | 'sold'>, options?: any): Promise<Array<Pet>> {
|
||||||
const requestContext = this.requestFactory.findPetsByStatus(status, options);
|
const requestContext = this.requestFactory.findPetsByStatus(status, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.findPetsByStatus(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.findPetsByStatus(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public findPetsByTags(tags: Array<string>, options?: any): Promise<Array<Pet>> {
|
public findPetsByTags(tags: Array<string>, options?: any): Promise<Array<Pet>> {
|
||||||
const requestContext = this.requestFactory.findPetsByTags(tags, options);
|
const requestContext = this.requestFactory.findPetsByTags(tags, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.findPetsByTags(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.findPetsByTags(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public getPetById(petId: number, options?: any): Promise<Pet> {
|
public getPetById(petId: number, options?: any): Promise<Pet> {
|
||||||
const requestContext = this.requestFactory.getPetById(petId, options);
|
const requestContext = this.requestFactory.getPetById(petId, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.getPetById(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.getPetById(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public updatePet(pet: Pet, options?: any): Promise<void> {
|
public updatePet(pet: Pet, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.updatePet(pet, options);
|
const requestContext = this.requestFactory.updatePet(pet, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.updatePet(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.updatePet(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public updatePetWithForm(petId: number, name?: string, status?: string, options?: any): Promise<void> {
|
public updatePetWithForm(petId: number, name?: string, status?: string, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.updatePetWithForm(petId, name, status, options);
|
const requestContext = this.requestFactory.updatePetWithForm(petId, name, status, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.updatePetWithForm(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.updatePetWithForm(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public uploadFile(petId: number, additionalMetadata?: string, file?: any, options?: any): Promise<ApiResponse> {
|
public uploadFile(petId: number, additionalMetadata?: string, file?: any, options?: any): Promise<ApiResponse> {
|
||||||
const requestContext = this.requestFactory.uploadFile(petId, additionalMetadata, file, options);
|
const requestContext = this.requestFactory.uploadFile(petId, additionalMetadata, file, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.uploadFile(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.uploadFile(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -101,34 +189,78 @@ export class StoreApi {
|
|||||||
|
|
||||||
public deleteOrder(orderId: string, options?: any): Promise<void> {
|
public deleteOrder(orderId: string, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.deleteOrder(orderId, options);
|
const requestContext = this.requestFactory.deleteOrder(orderId, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.deleteOrder(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.deleteOrder(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public getInventory(options?: any): Promise<{ [key: string]: number; }> {
|
public getInventory(options?: any): Promise<{ [key: string]: number; }> {
|
||||||
const requestContext = this.requestFactory.getInventory(options);
|
const requestContext = this.requestFactory.getInventory(options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.getInventory(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.getInventory(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public getOrderById(orderId: number, options?: any): Promise<Order> {
|
public getOrderById(orderId: number, options?: any): Promise<Order> {
|
||||||
const requestContext = this.requestFactory.getOrderById(orderId, options);
|
const requestContext = this.requestFactory.getOrderById(orderId, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.getOrderById(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.getOrderById(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public placeOrder(order: Order, options?: any): Promise<Order> {
|
public placeOrder(order: Order, options?: any): Promise<Order> {
|
||||||
const requestContext = this.requestFactory.placeOrder(order, options);
|
const requestContext = this.requestFactory.placeOrder(order, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.placeOrder(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.placeOrder(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -149,66 +281,154 @@ export class UserApi {
|
|||||||
|
|
||||||
public createUser(user: User, options?: any): Promise<void> {
|
public createUser(user: User, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.createUser(user, options);
|
const requestContext = this.requestFactory.createUser(user, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.createUser(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.createUser(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public createUsersWithArrayInput(user: Array<User>, options?: any): Promise<void> {
|
public createUsersWithArrayInput(user: Array<User>, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.createUsersWithArrayInput(user, options);
|
const requestContext = this.requestFactory.createUsersWithArrayInput(user, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.createUsersWithArrayInput(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.createUsersWithArrayInput(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public createUsersWithListInput(user: Array<User>, options?: any): Promise<void> {
|
public createUsersWithListInput(user: Array<User>, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.createUsersWithListInput(user, options);
|
const requestContext = this.requestFactory.createUsersWithListInput(user, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.createUsersWithListInput(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.createUsersWithListInput(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public deleteUser(username: string, options?: any): Promise<void> {
|
public deleteUser(username: string, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.deleteUser(username, options);
|
const requestContext = this.requestFactory.deleteUser(username, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.deleteUser(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.deleteUser(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public getUserByName(username: string, options?: any): Promise<User> {
|
public getUserByName(username: string, options?: any): Promise<User> {
|
||||||
const requestContext = this.requestFactory.getUserByName(username, options);
|
const requestContext = this.requestFactory.getUserByName(username, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.getUserByName(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.getUserByName(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public loginUser(username: string, password: string, options?: any): Promise<string> {
|
public loginUser(username: string, password: string, options?: any): Promise<string> {
|
||||||
const requestContext = this.requestFactory.loginUser(username, password, options);
|
const requestContext = this.requestFactory.loginUser(username, password, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.loginUser(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.loginUser(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public logoutUser(options?: any): Promise<void> {
|
public logoutUser(options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.logoutUser(options);
|
const requestContext = this.requestFactory.logoutUser(options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.logoutUser(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.logoutUser(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public updateUser(username: string, user: User, options?: any): Promise<void> {
|
public updateUser(username: string, user: User, options?: any): Promise<void> {
|
||||||
const requestContext = this.requestFactory.updateUser(username, user, options);
|
const requestContext = this.requestFactory.updateUser(username, user, options);
|
||||||
|
|
||||||
return this.configuration.httpApi.send(requestContext).then((response: ResponseContext) => {
|
// build promise chain
|
||||||
return this.responseProcessor.updateUser(response);
|
let middlewarePrePromise =Promise.resolve(requestContext);
|
||||||
});
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePrePromise = middlewarePrePromise.then((ctx) => middleware.pre(ctx));
|
||||||
|
}
|
||||||
|
|
||||||
|
return middlewarePrePromise.then((ctx) => this.configuration.httpApi.send(ctx)).
|
||||||
|
then((response: ResponseContext) => {
|
||||||
|
let middlewarePostPromise = Promise.resolve(response);
|
||||||
|
for (let middleware of this.configuration.middleware) {
|
||||||
|
middlewarePostPromise = middlewarePostPromise.then((rsp) => middleware.post(rsp));
|
||||||
|
}
|
||||||
|
return middlewarePostPromise.then((rsp) => this.responseProcessor.updateUser(rsp));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import 'isomorphic-fetch';
|
|||||||
export class IsomorphicFetchHttpLibrary implements HttpLibrary {
|
export class IsomorphicFetchHttpLibrary implements HttpLibrary {
|
||||||
|
|
||||||
public send(request: RequestContext): Promise<ResponseContext> {
|
public send(request: RequestContext): Promise<ResponseContext> {
|
||||||
console.log("Request: ", request);
|
|
||||||
let method = request.getHttpMethod().toString();
|
let method = request.getHttpMethod().toString();
|
||||||
let body = request.getBody();
|
let body = request.getBody();
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import {RequestContext, ResponseContext} from './http/http';
|
import {RequestContext, ResponseContext} from './http/http';
|
||||||
|
|
||||||
export interface Middleware {
|
export interface Middleware {
|
||||||
pre?(context: RequestContext): Promise<RequestContext>;
|
pre(context: RequestContext): Promise<RequestContext>;
|
||||||
post?(context: ResponseContext): Promise<ResponseContext>;
|
post(context: ResponseContext): Promise<ResponseContext>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: package.json set npmName
|
// TODO: package.json set npmName
|
@ -1,12 +1,30 @@
|
|||||||
import {PetApi} from './api';
|
import {PetApi} from './api';
|
||||||
import {Configuration } from './configuration';
|
import {Configuration } from './configuration';
|
||||||
|
import { Middleware } from './middleware';
|
||||||
|
import { RequestContext, ResponseContext } from './http/http';
|
||||||
|
|
||||||
const config = new Configuration();
|
class MiddlewareA implements Middleware {
|
||||||
|
|
||||||
|
public pre(request: RequestContext) {
|
||||||
|
console.log(request);
|
||||||
|
return Promise.resolve(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public post(response: ResponseContext) {
|
||||||
|
console.log(response)
|
||||||
|
return Promise.resolve(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const config = new Configuration({
|
||||||
|
middleware: [
|
||||||
|
new MiddlewareA()
|
||||||
|
]
|
||||||
|
});
|
||||||
const api = new PetApi(config);
|
const api = new PetApi(config);
|
||||||
|
|
||||||
api.getPetById(3).then((pet) => {
|
api.getPetById(3).then((pet) => {
|
||||||
console.log(pet)
|
console.log(pet)
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
console.log(err);
|
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user