function main()

in packages/utils/hosturl.js [25:50]


function main(args) {
    let host = process.env.__OW_API_HOST;
    let ns = process.env.__OW_NAMESPACE;
    let web = `${host}/api/v1/web/${ns}`;
    let collection = args.trigger === true ? 'triggers' : 'actions';
    let post = `${host}/api/v1/namespaces/${ns}/${collection}`;
    let base = args.web === true ? web : post;

    if (args.web === true && args.trigger) {
        return { error: 'triggers are not allowed for web actions.' };
    } else if (args.web === true && args.ext) {
        if (args.ext !== '.html' && args.ext !== '.http' && args.ext !== '.json' && args.ext !== '.svg' && args.ext !== '.text') {
            return { error: 'extension for web action must be one of [".html", ".http", ".json", ".svg", ".text"].' };
        }
    } else if (args.trigger && args.path.indexOf('/') !== -1) {
        return { error: 'triggers are not allowed in packages.' };
    }

    if (args.path) {
        let path = args.web === true && args.path.indexOf('/') === -1 ? `default/${args.path}` : args.path;
        let ext = args.web === true ? (args.ext || '') : '';
        return { url: `${base}/${path}${ext}` };
    } else {
        return { url: base };
    }
}