internal DotNetFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection<FunctionBinding> inputBindings, Collection<FunctionBinding> outputBindings, IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader, ICompilationServiceFactory compilationServiceFactory, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _metricsLogger = Host.ScriptConfig.HostConfig.GetService<IMetricsLogger>(); _functionEntryPointResolver = functionEntryPointResolver; _assemblyLoader = assemblyLoader; _metadataResolver = new FunctionMetadataResolver(functionMetadata, host.ScriptConfig.BindingProviders, TraceWriter); _compilationService = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver); _inputBindings = inputBindings; _outputBindings = outputBindings; _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name; InitializeFileWatcher(); _resultProcessor = CreateResultProcessor(); _functionLoader = new FunctionLoader<MethodInfo>(CreateFunctionTarget); _reloadScript = ReloadScript; _reloadScript = _reloadScript.Debounce(); _restorePackages = RestorePackages; _restorePackages = _restorePackages.Debounce(); }
internal DotNetFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings, IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader, ICompilationServiceFactory <ICompilationService <IDotNetCompilation>, IFunctionMetadataResolver> compilationServiceFactory, ITraceWriterFactory traceWriterFactory = null, IFunctionMetadataResolver metadataResolver = null) : base(host, functionMetadata, traceWriterFactory) { _metricsLogger = Host.ScriptConfig.HostConfig.GetService <IMetricsLogger>(); _functionEntryPointResolver = functionEntryPointResolver; _assemblyLoader = assemblyLoader; _metadataResolver = metadataResolver ?? new FunctionMetadataResolver(functionMetadata, host.ScriptConfig.BindingProviders, TraceWriter, host.ScriptConfig.HostConfig.LoggerFactory); _compilationService = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver); _inputBindings = inputBindings; _outputBindings = outputBindings; _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name; InitializeFileWatcher(); _resultProcessor = CreateResultProcessor(); _functionLoader = new FunctionLoader <MethodInfo>(CreateFunctionTarget); _reloadScript = ReloadScriptAsync; _reloadScript = _reloadScript.Debounce(); _shutdown = () => Host.Shutdown(); _shutdown = _shutdown.Debounce(); _restorePackages = RestorePackages; _restorePackages = _restorePackages.Debounce(); }
internal ScriptFunctionInvoker(string scriptFilePath, ScriptHost host, FunctionMetadata functionMetadata, Collection<FunctionBinding> inputBindings, Collection<FunctionBinding> outputBindings, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _scriptFilePath = scriptFilePath; _host = host; _inputBindings = inputBindings; _outputBindings = outputBindings; }
internal FunctionInvokerBase(ScriptHost host, FunctionMetadata functionMetadata, ITraceWriterFactory traceWriterFactory = null) { Host = host; Metadata = functionMetadata; _metrics = host.ScriptConfig.HostConfig.GetService<IMetricsLogger>(); // Function file logging is only done conditionally traceWriterFactory = traceWriterFactory ?? new FunctionTraceWriterFactory(functionMetadata.Name, Host.ScriptConfig); TraceWriter traceWriter = traceWriterFactory.Create(); FileTraceWriter = traceWriter.Conditional(t => Host.FileLoggingEnabled && (!(t.Properties?.ContainsKey(ScriptConstants.TracePropertyPrimaryHostKey) ?? false) || Host.IsPrimary)); // The global trace writer used by the invoker will write all traces to both // the host trace writer as well as our file trace writer TraceWriter = host.TraceWriter != null ? new CompositeTraceWriter(new TraceWriter[] { FileTraceWriter, host.TraceWriter }) : FileTraceWriter; // Apply the function name as an event property to all traces var functionTraceProperties = new Dictionary<string, object> { { ScriptConstants.TracePropertyFunctionNameKey, Metadata.Name } }; TraceWriter = TraceWriter.Apply(functionTraceProperties); }
public ScriptFunctionInvokerBase(ScriptHost host, FunctionMetadata functionMetadata, ITraceWriterFactory traceWriterFactory) : base(host, functionMetadata, traceWriterFactory) { }
internal PowerShellFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection<FunctionBinding> inputBindings, Collection<FunctionBinding> outputBindings, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _host = host; _scriptFilePath = functionMetadata.ScriptFile; _functionName = functionMetadata.Name; _inputBindings = inputBindings; _outputBindings = outputBindings; }
public MockInvoker(ScriptHost host, FunctionMetadata metadata, ITraceWriterFactory traceWriterFactory = null) : base(host, metadata, traceWriterFactory) { }
internal ScriptFunctionInvoker(string scriptFilePath, ScriptHost host, FunctionMetadata functionMetadata, Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _scriptFilePath = scriptFilePath; _host = host; _inputBindings = inputBindings; _outputBindings = outputBindings; }
internal FunctionInvokerBase(ScriptHost host, FunctionMetadata functionMetadata, ITraceWriterFactory traceWriterFactory = null) { Host = host; Metadata = functionMetadata; _metrics = host.ScriptConfig.HostConfig.GetService <IMetricsLogger>(); // Function file logging is only done conditionally traceWriterFactory = traceWriterFactory ?? new FunctionTraceWriterFactory(functionMetadata.Name, Host.ScriptConfig); TraceWriter traceWriter = traceWriterFactory.Create(); FileTraceWriter = traceWriter.Conditional(t => Host.FileLoggingEnabled && (!(t.Properties?.ContainsKey(ScriptConstants.TracePropertyPrimaryHostKey) ?? false) || Host.IsPrimary)); // The global trace writer used by the invoker will write all traces to both // the host trace writer as well as our file trace writer TraceWriter = host.TraceWriter != null ? new CompositeTraceWriter(new TraceWriter[] { FileTraceWriter, host.TraceWriter }) : FileTraceWriter; // Apply the function name as an event property to all traces var functionTraceProperties = new Dictionary <string, object> { { ScriptConstants.TracePropertyFunctionNameKey, Metadata.Name } }; TraceWriter = TraceWriter.Apply(functionTraceProperties); }
internal DotNetFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata, Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings, IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader, ICompilationServiceFactory compilationServiceFactory, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _functionEntryPointResolver = functionEntryPointResolver; _assemblyLoader = assemblyLoader; _metadataResolver = new FunctionMetadataResolver(functionMetadata, host.ScriptConfig.BindingProviders, TraceWriter); _compilationService = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver); _inputBindings = inputBindings; _outputBindings = outputBindings; _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name; InitializeFileWatcher(); _resultProcessor = CreateResultProcessor(); _functionValueLoader = FunctionValueLoader.Create(CreateFunctionTarget); _reloadScript = ReloadScript; _reloadScript = _reloadScript.Debounce(); _restorePackages = RestorePackages; _restorePackages = _restorePackages.Debounce(); }
internal NodeFunctionInvoker(ScriptHost host, BindingMetadata trigger, FunctionMetadata functionMetadata, Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings, ICompilationService <IJavaScriptCompilation> compilationService, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _trigger = trigger; _inputBindings = inputBindings; _outputBindings = outputBindings; _entryPoint = functionMetadata.EntryPoint; _compilationService = compilationService; // If the compilation service writes to the common file system, we only want the primary host to generate // compilation output if (_compilationService.PersistsOutput) { _compilationService = new ConditionalJavaScriptCompilationService(Host.SettingsManager, compilationService, () => Host.IsPrimary); } _functionLoader = new FunctionLoader <ScriptFunc>(CreateFunctionTarget); _metricsLogger = Host.ScriptConfig.HostConfig.GetService <IMetricsLogger>(); _reloadScript = ReloadScriptAsync; _reloadScript = _reloadScript.Debounce(); InitializeFileWatcherIfEnabled(); }
internal NodeFunctionInvoker(ScriptHost host, BindingMetadata trigger, FunctionMetadata functionMetadata, Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings, ITraceWriterFactory traceWriterFactory = null) : base(host, functionMetadata, traceWriterFactory) { _trigger = trigger; string scriptFilePath = functionMetadata.ScriptFile.Replace('\\', '/'); _script = string.Format(CultureInfo.InvariantCulture, _functionTemplate, scriptFilePath); _inputBindings = inputBindings; _outputBindings = outputBindings; _entryPoint = functionMetadata.EntryPoint; InitializeFileWatcherIfEnabled(); }
public void EnableTracing(ITraceWriterFactory traceWriterFactory) { _traceWriterFactory = traceWriterFactory; }