diff --git a/src/RequestProcessor.cs b/src/RequestProcessor.cs index 296bf21b..3f4b51b2 100644 --- a/src/RequestProcessor.cs +++ b/src/RequestProcessor.cs @@ -344,6 +344,19 @@ internal StreamingMessage ProcessInvocationCancelRequest(StreamingMessage reques internal StreamingMessage ProcessFunctionEnvironmentReloadRequest(StreamingMessage request) { + var stopwatch = new Stopwatch(); + stopwatch.Start(); + + var environmentReloadRequest = request.FunctionEnvironmentReloadRequest; + foreach (var (name, value) in environmentReloadRequest.EnvironmentVariables) + { + Environment.SetEnvironmentVariable(name, value); + } + + var rpcLogger = new RpcLogger(_msgStream); + rpcLogger.SetContext(request.RequestId, null); + rpcLogger.Log(isUserOnlyLog: false, LogLevel.Trace, string.Format(PowerShellWorkerStrings.EnvironmentReloadCompleted, stopwatch.ElapsedMilliseconds)); + StreamingMessage response = NewStreamingMessageTemplate( request.RequestId, StreamingMessage.ContentOneofCase.FunctionEnvironmentReloadResponse, diff --git a/src/resources/PowerShellWorkerStrings.resx b/src/resources/PowerShellWorkerStrings.resx index dc6fd2a2..dcf9a376 100644 --- a/src/resources/PowerShellWorkerStrings.resx +++ b/src/resources/PowerShellWorkerStrings.resx @@ -313,4 +313,7 @@ PowerShell version: '{0}'. + + Environment reload completed in {0} ms. + \ No newline at end of file