1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-04-30 14:34:09 +02:00
TweetDuck/Browser/Base/CefResponseFilter.cs

29 lines
849 B
C#

using System;
using System.IO;
using CefSharp;
using TweetLib.Browser.CEF.Logic;
namespace TweetDuck.Browser.Base {
sealed class CefResponseFilter : IResponseFilter {
private readonly ResponseFilterLogic logic;
public CefResponseFilter(ResponseFilterLogic logic) {
this.logic = logic;
}
bool IResponseFilter.InitFilter() {
return true;
}
FilterStatus IResponseFilter.Filter(Stream dataIn, out long dataInRead, Stream dataOut, out long dataOutWritten) {
return logic.Filter(dataIn, out dataInRead, dataOut, dataOut.Length, out dataOutWritten) switch {
ResponseFilterLogic.FilterStatus.NeedMoreData => FilterStatus.NeedMoreData,
ResponseFilterLogic.FilterStatus.Done => FilterStatus.Done,
_ => FilterStatus.Error
};
}
void IDisposable.Dispose() {}
}
}