import { HttpHandler, HttpRequest, HttpResponse, HttpEvent, HttpErrorResponse } from '@angular/common/http'; import { Observable } from 'rxjs'; import { IApiTotvsErrors } from '../../entities/api-totvs/api-totvs-errors.interface'; import { ITextMessage } from '../../entities/messaging/text-message.interface'; import { IHttpInterceptor } from './http-interceptor.interface'; /** * Constante usado nas requisições para que os erros não sejam exibidos pelo interceptor */ export declare const NO_ERROR_HEADER_PARAM = "X-Portinari-No-Error"; /** * Classe base de interceptadores http. * Pode ser extendida ou apenas implementar IHttpInterceptor e usar de seus métodos estáticos. */ export declare abstract class HttpInterceptorBaseService implements IHttpInterceptor { /** * Interceptador de respostas http padrão * @param request HttpRequest * @param next HttpHandler * @param instance Instancia que implementa IHttpInterceptor */ static defaultInterceptor(request: HttpRequest, /** Próxima manipulação http */ next: HttpHandler, /** Instância do interceptador */ instance: IHttpInterceptor): Observable>; /** * Retorna se, para a requisição enviada, as notificações de erro deverão ser desativadas */ static isErrorNotificationDisabled(request: HttpRequest): boolean; /** * Clona os dados da requisição, removendo o cabeçalho 'X-Portinari-No-Error' */ static cloneRequestWithoutErrorsHeaders(request: HttpRequest): HttpRequest; /** * Recupera e formata um título vindo de um ApiTotvsErrors */ static titleFromTotvsError(totvsError: IApiTotvsErrors): string; /** * Recupera e formata o detalhe vindo de um ApiTotvsErrors */ static detailFromTotvsError(totvsError: IApiTotvsErrors): string; /** * Retorna um objeto Message a partir de um erro totvs */ static messageFromTotvsError(totvsError: IApiTotvsErrors): ITextMessage; /** * Indica se ApiTotvsErrors deverá ser tratado como uma mensagem completa */ static isCompleteMessage(e: IApiTotvsErrors): string; /** * Intercepta e realiza o tratamento da requisição/retorno */ intercept(request: HttpRequest, next: HttpHandler): Observable>; /** Resposta do interceptador */ abstract interceptResponse(response: HttpResponse): any; /** Resposta de erro do interceptador */ abstract interceptError(response: HttpErrorResponse, request: HttpRequest): any; }