mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-04-30 14:34:09 +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);
|
browser.AddWordToDictionary(word);
|
||||||
}
|
}
|
||||||
|
|
||||||
Cef.AddCrossOriginWhitelistEntry(TwitterUrls.TweetDeck, PluginSchemeFactory.Name, "", true);
|
|
||||||
|
|
||||||
browser.BeginInvoke(new Action(OnBrowserReady));
|
browser.BeginInvoke(new Action(OnBrowserReady));
|
||||||
browser.LoadingStateChanged -= browser_LoadingStateChanged;
|
browser.LoadingStateChanged -= browser_LoadingStateChanged;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
using System.Net;
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
using CefSharp;
|
using CefSharp;
|
||||||
using TweetLib.Core.Browser;
|
using TweetLib.Core.Browser;
|
||||||
using TweetLib.Core.Features.Plugins;
|
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 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){
|
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){
|
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
|
return Status(HttpStatusCode.NoContent, "File is empty."); // FromByteArray crashes CEF internals with no contents
|
||||||
}
|
}
|
||||||
else{
|
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