// Copyright © 2019 The CefSharp Authors. All rights reserved.
|
//
|
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
|
|
using System;
|
|
namespace CefSharp.Internals
|
{
|
public class InMemoryResourceRequestHandler : IResourceRequestHandler
|
{
|
private readonly byte[] data;
|
private readonly string mimeType;
|
|
public InMemoryResourceRequestHandler(byte[] data, string mimeType)
|
{
|
this.data = data;
|
this.mimeType = mimeType;
|
}
|
|
void IDisposable.Dispose()
|
{
|
|
}
|
|
ICookieAccessFilter IResourceRequestHandler.GetCookieAccessFilter(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request)
|
{
|
return null;
|
}
|
|
IResourceHandler IResourceRequestHandler.GetResourceHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request)
|
{
|
return ResourceHandler.FromByteArray(data, mimeType);
|
}
|
|
IResponseFilter IResourceRequestHandler.GetResourceResponseFilter(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response)
|
{
|
return null;
|
}
|
|
CefReturnValue IResourceRequestHandler.OnBeforeResourceLoad(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
|
{
|
return CefReturnValue.Continue;
|
}
|
|
bool IResourceRequestHandler.OnProtocolExecution(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request)
|
{
|
return false;
|
}
|
|
void IResourceRequestHandler.OnResourceLoadComplete(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
|
{
|
|
}
|
|
void IResourceRequestHandler.OnResourceRedirect(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response, ref string newUrl)
|
{
|
|
}
|
|
bool IResourceRequestHandler.OnResourceResponse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response)
|
{
|
return false;
|
}
|
}
|
}
|