init lserp cs 5.0

This commit is contained in:
cyf
2026-07-10 15:25:05 +08:00
commit 90f3fda86a
3799 changed files with 976868 additions and 0 deletions
@@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Text;
using System.Threading;
using Cef3;
namespace Sashulin.common
{
internal sealed class RequestResourceHandler : CefResourceHandler
{
private static int _requestNo;
private byte[] responseData;
private int pos;
protected override bool ProcessRequest(CefRequest request, CefCallback callback)
{
var requestNo = Interlocked.Increment(ref _requestNo);
var response = new StringBuilder();
response.AppendFormat("<pre>\n");
response.AppendFormat("Requests processed by DemoAppResourceHandler: {0}\n", requestNo);
response.AppendFormat("Method: {0}\n", request.Method);
response.AppendFormat("URL: {0}\n", request.Url);
response.AppendLine();
response.AppendLine("Headers:");
var headers = request.GetHeaderMap();
foreach (string key in headers)
{
foreach (var value in headers.GetValues(key))
{
response.AppendFormat("{0}: {1}\n", key, value);
}
}
response.AppendLine();
response.AppendFormat("</pre>\n");
responseData = Encoding.UTF8.GetBytes(response.ToString());
callback.Continue();
return true;
}
protected override void GetResponseHeaders(CefResponse response, out long responseLength, out string redirectUrl)
{
response.MimeType = "text/html";
response.Status = 200;
response.StatusText = "OK, hello from handler!";
var headers = new NameValueCollection(StringComparer.InvariantCultureIgnoreCase);
headers.Add("Cache-Control", "private");
response.SetHeaderMap(headers);
responseLength = responseData.LongLength;
redirectUrl = null;
}
protected override bool ReadResponse(Stream response, int bytesToRead, out int bytesRead, CefCallback callback)
{
if (bytesToRead == 0 || pos >= responseData.Length)
{
bytesRead = 0;
return false;
}
else
{
response.Write(responseData, pos, bytesToRead);
pos += bytesToRead;
bytesRead = bytesToRead;
return true;
}
}
protected override bool CanGetCookie(CefCookie cookie)
{
return false;
}
protected override bool CanSetCookie(CefCookie cookie)
{
return false;
}
protected override void Cancel()
{
}
}
}