Prashant Cholachagudda
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
8 additions and
2 deletions
-
src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs
|
|
|
@ -112,7 +112,7 @@ namespace Avalonia.DesignerSupport.Remote.HtmlTransport |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (req.Headers.TryGetValue("Origin", out var origin) && origin == _listenUri.OriginalString) |
|
|
|
if (IsValidOrigin(req)) |
|
|
|
{ |
|
|
|
var socket = await req.AcceptWebSocket(); |
|
|
|
SocketReceiveWorker(socket); |
|
|
|
@ -124,12 +124,18 @@ namespace Avalonia.DesignerSupport.Remote.HtmlTransport |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
throw new Exception("Origin doesen't match Url"); |
|
|
|
throw new Exception("Origin doesn't match Url"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
bool IsValidOrigin(SimpleWebSocketHttpRequest request) |
|
|
|
{ |
|
|
|
return request.Headers.TryGetValue("Origin", out var origin) && |
|
|
|
(origin == _listenUri.OriginalString || origin.StartsWith("vscode-webview:")); |
|
|
|
} |
|
|
|
|
|
|
|
async void SocketReceiveWorker(SimpleWebSocket socket) |
|
|
|
{ |
|
|
|
|