import { HttpBackend, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http'; import { NgZone, OnDestroy } from '@angular/core'; import { BehaviorSubject, Observable, Subscription } from 'rxjs'; import { INGXLoggerConfig } from '../config/iconfig'; import { INGXLoggerMetadata } from '../metadata/imetadata'; import { INGXLoggerServerService } from './iserver.service'; import * as i0 from "@angular/core"; export declare class NGXLoggerServerService implements INGXLoggerServerService, OnDestroy { protected readonly httpBackend: HttpBackend; protected readonly ngZone: NgZone; protected serverCallsQueue: INGXLoggerMetadata[]; protected flushingQueue: BehaviorSubject; protected addToQueueTimer: Subscription; constructor(httpBackend: HttpBackend, ngZone: NgZone); ngOnDestroy(): void; /** * Transforms an error object into a readable string (taking only the stack) * This is needed because JSON.stringify would return "{}" * @param err the error object * @returns The stack of the error */ protected secureErrorObject(err: Error): string; /** * Transforms the additional parameters to avoid any json error when sending the data to the server * Basically it just replaces unstringifiable object to a string mentioning an error * @param additional The additional data to be sent * @returns The additional data secured */ protected secureAdditionalParameters(additional: any[]): any[]; /** * Transforms the message so that it can be sent to the server * @param message the message to be sent * @returns the message secured */ protected secureMessage(message: any): string; /** * Edits HttpRequest object before sending request to server * @param httpRequest default request object * @returns altered httprequest */ protected alterHttpRequest(httpRequest: HttpRequest): HttpRequest | Observable>; /** * Sends request to server * @param url * @param logContent * @param options * @returns */ protected logOnServer(url: string, logContent: any, options: { headers?: HttpHeaders; reportProgress?: boolean; params?: HttpParams; responseType?: 'arraybuffer' | 'blob' | 'json' | 'text'; withCredentials?: boolean; }): Observable; /** * Customise the data sent to the API * @param metadata the data provided by NGXLogger * @returns the data that will be sent to the API in the body */ protected customiseRequestBody(metadata: INGXLoggerMetadata | INGXLoggerMetadata[]): any; /** * Flush the queue of the logger * @param config */ flushQueue(config: INGXLoggerConfig): void; protected sendToServerAction(metadata: INGXLoggerMetadata | INGXLoggerMetadata[], config: INGXLoggerConfig): void; /** * Sends the content to be logged to the server according to the config * @param metadata * @param config */ sendToServer(metadata: INGXLoggerMetadata, config: INGXLoggerConfig): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } //# sourceMappingURL=server.service.d.ts.map