mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-04-22 18:15:47 +02:00
Bypass 'tdp://' CORS without AddCrossOriginWhitelistEntry
This commit is contained in:
parent
9eb4e623e7
commit
1991f7f50f
@ -118,8 +118,6 @@ private void browser_LoadingStateChanged(object sender, LoadingStateChangedEvent
|
||||
browser.AddWordToDictionary(word);
|
||||
}
|
||||
|
||||
Cef.AddCrossOriginWhitelistEntry(TwitterUrls.TweetDeck, PluginSchemeFactory.Name, "", true);
|
||||
|
||||
browser.BeginInvoke(new Action(OnBrowserReady));
|
||||
browser.LoadingStateChanged -= browser_LoadingStateChanged;
|
||||
}
|
||||
|
@ -1,4 +1,6 @@
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using CefSharp;
|
||||
using TweetLib.Core.Browser;
|
||||
using TweetLib.Core.Features.Plugins;
|
||||
@ -18,8 +20,16 @@ public IResourceHandler Create(IBrowser browser, IFrame frame, string schemeName
|
||||
}
|
||||
|
||||
private sealed class ResourceProvider : IResourceProvider<IResourceHandler>{
|
||||
private static ResourceHandler CreateHandler(byte[] bytes){
|
||||
var handler = ResourceHandler.FromStream(new MemoryStream(bytes), autoDisposeStream: true);
|
||||
handler.Headers.Set("Access-Control-Allow-Origin", "*");
|
||||
return handler;
|
||||
}
|
||||
|
||||
public IResourceHandler Status(HttpStatusCode code, string message){
|
||||
return ResourceHandler.ForErrorMessage(message, code);
|
||||
var handler = CreateHandler(Encoding.UTF8.GetBytes(message));
|
||||
handler.StatusCode = (int)code;
|
||||
return handler;
|
||||
}
|
||||
|
||||
public IResourceHandler File(byte[] bytes, string extension){
|
||||
@ -27,7 +37,9 @@ public IResourceHandler File(byte[] bytes, string extension){
|
||||
return Status(HttpStatusCode.NoContent, "File is empty."); // FromByteArray crashes CEF internals with no contents
|
||||
}
|
||||
else{
|
||||
return ResourceHandler.FromByteArray(bytes, Cef.GetMimeType(extension));
|
||||
var handler = CreateHandler(bytes);
|
||||
handler.MimeType = Cef.GetMimeType(extension);
|
||||
return handler;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user