[wasm] Fix debug proxy when used with blazor (#69342)
authorAnkit Jain <radical@gmail.com>
Mon, 16 May 2022 17:45:53 +0000 (13:45 -0400)
committerGitHub <noreply@github.com>
Mon, 16 May 2022 17:45:53 +0000 (13:45 -0400)
commit43806caf2023316fd41ed61366c230fde02cb1b9
tree86d45519375eced7edc6ad961a67310c5601e627
parente8561168fba40466d4173085883bac29046d2ced
[wasm] Fix debug proxy when used with blazor (#69342)

Due to recent debug proxy changes, when trying to debug a blazor app, it
fails with:
```
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
      An unhandled exception has occurred while executing the request.
      System.InvalidOperationException: No output has been recevied from the application.
         at Microsoft.AspNetCore.Builder.DebugProxyLauncher.LaunchAndGetUrl(IServiceProvider serviceProvider, String devToolsHost)
         at Microsoft.AspNetCore.Builder.WebAssemblyNetDebugProxyAppBuilderExtensions.<>c.<<UseWebAssemblyDebugging>b__0_1>d.MoveNext()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.InvokeCore(HttpContext context, PathString matchedPath, PathString remainingPath)
         at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
```

This is because it's looking for specific lines in output. And also, it
fails if it gets an empty line.

This commits fixes the output to match what blazor expects. And
essentially, disables firefox debug proxy when the host is directly
used, which is only by blazor right now.

This will change in the future though, and blazor side can be patched to
work better.
src/mono/wasm/debugger/BrowserDebugHost/DebugProxyHost.cs
src/mono/wasm/debugger/BrowserDebugHost/Program.cs
src/mono/wasm/debugger/BrowserDebugHost/ProxyOptions.cs
src/mono/wasm/debugger/BrowserDebugHost/Startup.cs
src/mono/wasm/debugger/BrowserDebugProxy/Firefox/FireforDebuggerProxy.cs