RSS Git Download  Clone
Raw Blame History 1kB 45 lines
import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptionsArgs } from '@angular/http';

import { SettingsService } from 'corifeus-web';

const template = require('lodash/template');

import 'rxjs/add/operator/toPromise';

const cache : any = {};


@Injectable()
export class CdnService {

    private settings : any;

    constructor(
        private http: Http,
        private settingsAll: SettingsService
    ) {
        this.settings = settingsAll.data.pages;
    }


    async file(repo: string, path : string) : Promise<Response> {
        const postfix = '.html';

        const index = `index${postfix}`;
        if (path.endsWith(index)) {
            path = path.substr(0, path.length - index.length) + 'README.md';
        }

        if (path.endsWith(postfix)){
            path = path.substr(0, path.length - postfix.length) + '.md';
        }
        const url = `https://cdn.corifeus.com/git/${repo}/${path}`;
        if (cache[url] === undefined) {
            cache[url] = await this.http.get(url).toPromise();
        }
        return cache[url];
    }


}