public async Task <IActionResult> Compile( [FromBody] WorkspaceRequest request, [FromHeader(Name = "Timeout")] string timeoutInMilliseconds = "45000") { using (var operation = Log.OnEnterAndConfirmOnExit()) { var workspaceType = request.Workspace.WorkspaceType; operation.Info("Compiling workspaceType {workspaceType}", workspaceType); if (!int.TryParse(timeoutInMilliseconds, out var timeoutMs)) { return(BadRequest()); } if (string.Equals(workspaceType, "script", StringComparison.OrdinalIgnoreCase)) { return(BadRequest()); } var runTimeout = TimeSpan.FromMilliseconds(timeoutMs); var budget = new TimeBudget(runTimeout); var result = await _workspaceServer.Compile(request, budget); budget.RecordEntry(); operation.Succeed(); return(Ok(result)); } }
public async Task <CompileResult> Compile(WorkspaceRequest request, Budget budget = null) { return(IsFSharpWorkspaceRequest(request.Workspace) ? await _fsharpWorkspaceServer.Compile(request, budget) : await _roslynWorkspaceServer.Compile(request, budget)); }
public Task <CompileResult> Compile(WorkspaceRequest request, Budget budget = null) { return(_roslynWorkspaceServer.Compile(request, budget)); }