import { ErrorMessageModel } from '@uofx/core'; import { Observable, Subject } from 'rxjs'; import { HttpErrorResponse, HttpResponse } from '@angular/common/http'; import { UofxBaseHttpHandler } from './base-handler.logic'; import * as i0 from "@angular/core"; export declare class UofxInterceptorLogic { private httpHandler; /** @private 登入者的 Token */ get Token(): string; set Token(value: string); private exeHttps; exeHttpSub$: Subject; constructor(httpHandler: UofxBaseHttpHandler); /** * 判斷url是否為api發出 * @param url request rul * @returns boolean * @memberof InterceptorLogic */ isApiUrl(url: string): boolean; /** * 轉換成 API 的 URL * @param requestUrl request rul * @returns 轉換過的url */ transApiUrl(requestUrl: string): string; /** * 取得授權的 Headers * @param contentType 預設為 'application/json;' */ getAuthHeaders(contentType?: string): {}; /** 設定執行中連線 */ setExeHttp(obs: Observable, url: string): Observable; /** * 錯誤處理或頁面導向 * @param event {(HttpResponse | HttpErrorResponse)} * @param url * @returns Observable * @memberof InterceptorLogic */ handleResponse(event: HttpResponse | HttpErrorResponse, url: string): Observable; private _i18nApiResponse; /** * @private Set token * @param event (HttpResponse | HttpErrorResponse) * @memberof InterceptorLogic */ _handleSetToken(event: HttpResponse | HttpErrorResponse): void; /** * @private 設定token到期時間(為了逾時前的倒數功能) * @param {string} token * @memberof UofxInterceptorLogic */ private _setTokenExp; /** * @private Process response body. * @param event HttpResponse * @returns * @memberof InterceptorLogic */ _handleResponseBody(event: HttpResponse): HttpResponse; /** * Get API error code * @param {ErrorMessageModel} errorModel 錯誤訊息 * @param {string} errCode 要找的錯誤代碼 */ _apiErrorCode(errorModel: ErrorMessageModel, errCode: string): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * 攔截器獨立使用的error code * - * build @uofx-core的時候就不用刻意相依整包@uofx-error-code,同時也減輕套件升版的流程 * @export * @class ErrorModel */ export declare class ErrorModel { /** 模組授權數已滿 */ static ModuleAuthCountFull: string; /** 帳號授權數已滿 */ static AccountAuthCountFull: string; /** 沒有授權 */ static LicenseNotDefined: string; /** 站台版本已升級, 需重新整理頁面 */ static VersionUpdate: string; }