ngx-ui-hero
Version:
Simple, fast and reliable utilities for Angular.
37 lines • 5.87 kB
JavaScript
import { Inject, Injectable } from '@angular/core';
import { API_SETTINGS } from '../api.settings.constants';
import * as i0 from "@angular/core";
export class BaseApiUrlInterceptor {
constructor(settings) {
this.settings = settings;
this._baseApiUrl = this.settings.apiBaseUrl;
this._apiAlias = this.settings.apiAlias;
}
intercept(req, next) {
if (!this._baseApiUrl || this._baseApiUrl.length == 0 || req.url.indexOf('http') >= 0)
return next.handle(req);
let urlBase = this.concatUrl(this._baseApiUrl, this._apiAlias);
const modified = req.clone({
url: this.concatUrl(urlBase, req.url),
});
return next.handle(modified);
}
concatUrl(path1, path2) {
let separator = !this.isNullOrEmpty(path1) && !this.isNullOrEmpty(path2) && !path1.endsWith('/') && !path2.startsWith('/')
? '/'
: '';
return `${path1}${separator}${path2}`;
}
isNullOrEmpty(value) {
return value == undefined || value == null || value == '';
}
}
BaseApiUrlInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseApiUrlInterceptor, deps: [{ token: API_SETTINGS }], target: i0.ɵɵFactoryTarget.Injectable });
BaseApiUrlInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseApiUrlInterceptor });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseApiUrlInterceptor, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [API_SETTINGS]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hcGktdXJsLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXVpLWhlcm8vc3JjL2xpYi9hcGkvaW50ZXJjZXB0b3JzL2Jhc2UtYXBpLXVybC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBR3pELE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsWUFDaUMsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUVsRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDNUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2pGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDdkIsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUM7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBYSxFQUFFLEtBQWE7UUFDMUMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUN0SCxDQUFDLENBQUMsR0FBRztZQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFVCxPQUFPLEdBQUcsS0FBSyxHQUFHLFNBQVMsR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBQ08sYUFBYSxDQUFDLEtBQWE7UUFDL0IsT0FBTyxLQUFLLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM5RCxDQUFDOzttSEFqQ1EscUJBQXFCLGtCQUtsQixZQUFZO3VIQUxmLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFNRixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBpU2V0dGluZ3MgfSBmcm9tICcuLi9hcGkuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQVBJX1NFVFRJTkdTIH0gZnJvbSAnLi4vYXBpLnNldHRpbmdzLmNvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNlQXBpVXJsSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIHByaXZhdGUgX2Jhc2VBcGlVcmw6IHN0cmluZztcbiAgICBwcml2YXRlIF9hcGlBbGlhczogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQVBJX1NFVFRJTkdTKSBwdWJsaWMgc2V0dGluZ3M6IEFwaVNldHRpbmdzLFxuICAgICl7XG4gICAgICAgIHRoaXMuX2Jhc2VBcGlVcmwgPSB0aGlzLnNldHRpbmdzLmFwaUJhc2VVcmw7XG4gICAgICAgIHRoaXMuX2FwaUFsaWFzID0gdGhpcy5zZXR0aW5ncy5hcGlBbGlhcztcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgaWYgKCF0aGlzLl9iYXNlQXBpVXJsIHx8IHRoaXMuX2Jhc2VBcGlVcmwubGVuZ3RoID09IDAgfHwgcmVxLnVybC5pbmRleE9mKCdodHRwJykgPj0gMCkgXG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcblxuICAgICAgICBsZXQgdXJsQmFzZSA9IHRoaXMuY29uY2F0VXJsKHRoaXMuX2Jhc2VBcGlVcmwsIHRoaXMuX2FwaUFsaWFzKTtcblxuICAgICAgICBjb25zdCBtb2RpZmllZCA9IHJlcS5jbG9uZSh7IFxuICAgICAgICAgICAgdXJsOiB0aGlzLmNvbmNhdFVybCh1cmxCYXNlLCByZXEudXJsKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKG1vZGlmaWVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbmNhdFVybChwYXRoMTogc3RyaW5nLCBwYXRoMjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHNlcGFyYXRvciA9ICF0aGlzLmlzTnVsbE9yRW1wdHkocGF0aDEpICYmICF0aGlzLmlzTnVsbE9yRW1wdHkocGF0aDIpICYmICFwYXRoMS5lbmRzV2l0aCgnLycpICYmICFwYXRoMi5zdGFydHNXaXRoKCcvJylcbiAgICAgICAgICAgID8gJy8nXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIHJldHVybiBgJHtwYXRoMX0ke3NlcGFyYXRvcn0ke3BhdGgyfWA7XG4gICAgfVxuICAgIHByaXZhdGUgaXNOdWxsT3JFbXB0eSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PSB1bmRlZmluZWQgfHwgdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PSAnJztcbiAgICB9XG59Il19