UNPKG

@azure/functions

Version:
32 lines (24 loc) 1.12 kB
// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the MIT License. import * as coreTypes from '@azure/functions-core'; import { CoreInvocationContext, WorkerCapabilities } from '@azure/functions-core'; import { version } from './constants'; import { setupHttpProxy } from './http/httpProxy'; import { InvocationModel } from './InvocationModel'; import { capabilities as libraryCapabilities, enableHttpStream, lockSetup } from './setup'; export class ProgrammingModel implements coreTypes.ProgrammingModel { name = '@azure/functions'; version = version; getInvocationModel(coreCtx: CoreInvocationContext): InvocationModel { return new InvocationModel(coreCtx); } async getCapabilities(workerCapabilities: WorkerCapabilities): Promise<WorkerCapabilities> { lockSetup(); if (enableHttpStream) { const httpUri = await setupHttpProxy(); workerCapabilities.HttpUri = httpUri; } Object.assign(workerCapabilities, libraryCapabilities); return workerCapabilities; } }