@testring/http-api
Advanced tools
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const logger_1 = require("@testring/logger"); | ||
| const abstract_http_client_1 = require("./abstract-http-client"); | ||
| class HttpClientLocal extends abstract_http_client_1.AbstractHttpClient { | ||
| broadcast(request) { | ||
| logger_1.loggerClientLocal.debug('Http client: send message inside root process', request); | ||
| this.transportInstance.broadcastLocal("sendHttpRequest" /* send */, request); | ||
@@ -7,0 +9,0 @@ } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const logger_1 = require("@testring/logger"); | ||
| const abstract_http_client_1 = require("./abstract-http-client"); | ||
| const logger_1 = require("@testring/logger"); | ||
| class HttpClient extends abstract_http_client_1.AbstractHttpClient { | ||
| broadcast(request) { | ||
| logger_1.loggerClient.debug(`Http client: send message [type=${"sendHttpRequest" /* send */}] to parent process`); | ||
| logger_1.loggerClient.debug('Http client: send message to parent process', request); | ||
| this.transportInstance.broadcast("sendHttpRequest" /* send */, request); | ||
@@ -9,0 +9,0 @@ } |
+6
-6
| { | ||
| "name": "@testring/http-api", | ||
| "version": "0.2.2", | ||
| "version": "0.2.3", | ||
| "main": "./dist/index.js", | ||
@@ -13,7 +13,7 @@ "types": "./src/index.ts", | ||
| "dependencies": { | ||
| "@testring/logger": "^0.2.2", | ||
| "@testring/pluggable-module": "^0.2.2", | ||
| "@testring/test-utils": "^0.2.2", | ||
| "@testring/transport": "^0.2.2", | ||
| "@testring/types": "^0.2.2", | ||
| "@testring/logger": "^0.2.3", | ||
| "@testring/pluggable-module": "^0.2.3", | ||
| "@testring/test-utils": "^0.2.3", | ||
| "@testring/transport": "^0.2.3", | ||
| "@testring/types": "^0.2.3", | ||
| "@types/nanoid": "^1.0.0", | ||
@@ -20,0 +20,0 @@ "@types/request-promise": "^4.1.41", |
| import { OptionsWithUrl } from 'request-promise'; | ||
| import { ITransport } from '@testring/types'; | ||
| import { HttpMessageType } from './structs'; | ||
| import { Response, Request, ResponseReject } from './interfaces'; | ||
| import { | ||
| ITransport, | ||
| IHttpClient, | ||
| HttpMessageType, | ||
| IHttpResponse, | ||
| IHttpRequest, | ||
| IHttpResponseReject | ||
| } from '@testring/types'; | ||
| import { loggerClient } from '@testring/logger'; | ||
@@ -10,4 +15,4 @@ | ||
| export abstract class AbstractHttpClient { | ||
| protected abstract broadcast(options: Request): void; | ||
| export abstract class AbstractHttpClient implements IHttpClient { | ||
| protected abstract broadcast(options: IHttpRequest): void; | ||
@@ -53,3 +58,3 @@ constructor(protected transportInstance: ITransport) { | ||
| HttpMessageType.response, | ||
| (response: Response) => { | ||
| (response: IHttpResponse) => { | ||
| if (!response.uid) { | ||
@@ -69,3 +74,3 @@ loggerClient.error('Http Client: no response uid'); | ||
| HttpMessageType.reject, | ||
| (response: ResponseReject) => { | ||
| (response: IHttpResponseReject) => { | ||
| if (!response.uid) { | ||
@@ -75,2 +80,3 @@ loggerClient.error('Http Client: no response uid'); | ||
| } | ||
| if (response.uid === requestUID) { | ||
@@ -80,2 +86,3 @@ removeRejectHandler(); | ||
| loggerClient.error(`Http Client: failed with error ${response.error}`); | ||
| reject(response.error); | ||
@@ -82,0 +89,0 @@ } |
@@ -0,9 +1,11 @@ | ||
| import { loggerClientLocal } from '@testring/logger'; | ||
| import { IHttpRequest, HttpMessageType } from '@testring/types'; | ||
| import { AbstractHttpClient } from './abstract-http-client'; | ||
| import { HttpMessageType } from './structs'; | ||
| import { Request } from './interfaces'; | ||
| export class HttpClientLocal extends AbstractHttpClient { | ||
| protected broadcast(request: Request) { | ||
| protected broadcast(request: IHttpRequest) { | ||
| loggerClientLocal.debug('Http client: send message inside root process', request); | ||
| this.transportInstance.broadcastLocal(HttpMessageType.send, request); | ||
| } | ||
| } |
@@ -0,11 +1,11 @@ | ||
| import { loggerClient } from '@testring/logger'; | ||
| import { IHttpRequest, HttpMessageType } from '@testring/types'; | ||
| import { AbstractHttpClient } from './abstract-http-client'; | ||
| import { HttpMessageType } from './structs'; | ||
| import { Request } from './interfaces'; | ||
| import { loggerClient } from '@testring/logger'; | ||
| export class HttpClient extends AbstractHttpClient { | ||
| protected broadcast(request: Request) { | ||
| loggerClient.debug(`Http client: send message [type=${HttpMessageType.send}] to parent process`); | ||
| protected broadcast(request: IHttpRequest) { | ||
| loggerClient.debug('Http client: send message to parent process', request); | ||
| this.transportInstance.broadcast(HttpMessageType.send, request); | ||
| } | ||
| } |
+13
-8
| import * as request from 'request'; | ||
| import * as requestPromise from 'request-promise'; | ||
| import { PluggableModule } from '@testring/pluggable-module'; | ||
| import { IConfig, ITransport } from '@testring/types'; | ||
| import { loggerClientLocal } from '@testring/logger'; | ||
| import { HttpMessageType, HttpServerPlugins } from './structs'; | ||
| import { Request, Response, ResponseReject } from './interfaces'; | ||
| import { | ||
| IConfig, | ||
| ITransport, | ||
| IHttpRequest, | ||
| IHttpResponse, | ||
| IHttpResponseReject, | ||
| HttpMessageType, | ||
| HttpServerPlugins | ||
| } from '@testring/types'; | ||
| interface QueueRequest { | ||
| data: Request; | ||
| data: IHttpRequest; | ||
| src: string; | ||
@@ -61,3 +66,3 @@ } | ||
| this.send<Response>(src, HttpMessageType.response, { | ||
| this.send<IHttpResponse>(src, HttpMessageType.response, { | ||
| uid, | ||
@@ -68,3 +73,3 @@ response: responseAfterHook | ||
| } catch (error) { | ||
| this.send<ResponseReject>(src, HttpMessageType.reject, { | ||
| this.send<IHttpResponseReject>(src, HttpMessageType.reject, { | ||
| uid, | ||
@@ -103,3 +108,3 @@ error | ||
| this.transportInstance.on(HttpMessageType.send, (data: Request, src: string) => { | ||
| this.transportInstance.on(HttpMessageType.send, (data: IHttpRequest, src: string) => { | ||
@@ -106,0 +111,0 @@ // todo validate data |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| var HttpMessageType; | ||
| (function (HttpMessageType) { | ||
| HttpMessageType["send"] = "sendHttpRequest"; | ||
| HttpMessageType["response"] = "responseHttpRequest"; | ||
| HttpMessageType["reject"] = "rejectHttpRequest"; | ||
| })(HttpMessageType = exports.HttpMessageType || (exports.HttpMessageType = {})); | ||
| var HttpServerPlugins; | ||
| (function (HttpServerPlugins) { | ||
| HttpServerPlugins["beforeRequest"] = "beforeRequest"; | ||
| HttpServerPlugins["beforeResponse"] = "beforeResponse"; | ||
| })(HttpServerPlugins = exports.HttpServerPlugins || (exports.HttpServerPlugins = {})); |
| import * as request from 'request'; | ||
| import { OptionsWithUrl } from 'request-promise'; | ||
| export interface Response { | ||
| response: request.Response; | ||
| uid: string; | ||
| } | ||
| export interface ResponseReject { | ||
| error: request.Response; | ||
| uid: string; | ||
| } | ||
| export interface Request { | ||
| request: OptionsWithUrl; | ||
| uid: string; | ||
| } |
| export const enum HttpMessageType { | ||
| send = 'sendHttpRequest', | ||
| response = 'responseHttpRequest', | ||
| reject = 'rejectHttpRequest' | ||
| } | ||
| export const enum HttpServerPlugins { | ||
| beforeRequest = 'beforeRequest', | ||
| beforeResponse = 'beforeResponse' | ||
| } |
16555
-5.49%11
-21.43%393
-5.53%Updated
Updated
Updated
Updated