/// <summary> /// The ProcessRequest. /// </summary> /// <param name="request">The request<see cref="CefRequest"/>.</param> /// <param name="callback">The callback<see cref="CefCallback"/>.</param> /// <returns>The <see cref="bool"/>.</returns> protected override bool ProcessRequest(CefRequest request, CefCallback callback) { var webRequest = CefGlue.Lib.Browser.WebRequest.Create(request); this.respData = this.ExecuteCore(webRequest); callback.Continue(); return(true); }
/// <summary> /// WebResponse. /// </summary> /// <param name="stream">资源流.</param> /// <param name="contentType">contentType.</param> /// <param name="statusCode">HttpStatusCode.</param> /// <param name="statusText">statusText.</param> /// <returns>.</returns> protected virtual WebResponse Resource(Stream stream, string contentType = "text/plain", HttpStatusCode statusCode = HttpStatusCode.OK, string statusText = null) { var response = new WebResponse { ContentStream = stream, HttpStatus = statusCode, StatusText = statusText, MimeType = contentType }; response.Headers.Add("Content-Type", contentType); response.Headers.Add("access-control-allow-origin", "*"); return(response); }
/// <summary> /// 文本数据 To CoreWebView2WebResourceResponse /// </summary> /// <param name="data">字符串文本</param> /// <param name="statusCode">HttpStatusCode</param> /// <returns></returns> protected WebResponse Text(string data, HttpStatusCode statusCode = HttpStatusCode.OK) { var buffer = Encoding.UTF8.GetBytes(data); var stream = new MemoryStream(buffer); var contentType = "text/plain"; var response = new WebResponse { ContentStream = stream, HttpStatus = statusCode, MimeType = contentType }; response.Headers.Add("Content-Type", contentType); response.Headers.Add("access-control-allow-origin", "*"); return(response); }
/// <summary> /// GRPC Proto 对象 To CoreWebView2WebResourceResponse /// </summary> /// <param name="data">IMessage</param> /// <param name="statusCode">HttpStatusCode</param> /// <returns>CoreWebView2WebResourceResponse</returns> protected WebResponse Proto(IMessage data, HttpStatusCode statusCode = HttpStatusCode.OK) { var buffer = data.ToByteArray(); var stream = new MemoryStream(buffer); var contentType = CONTENT_TYPE_APPLICATION_JSON; var response = new WebResponse { ContentStream = stream, HttpStatus = statusCode, MimeType = contentType }; response.Headers.Add("Content-Type", contentType); response.Headers.Add("access-control-allow-origin", "*"); return(response); }
/// <summary> /// 数据对象 To Json CoreWebView2WebResourceResponse /// </summary> /// <param name="data">返回数据对象</param> /// <param name="statusCode">HttpStatusCode</param> /// <param name="jsonSerializerOptions">jsonSerializerOptions</param> /// <returns>CoreWebView2WebResourceResponse</returns> protected WebResponse Json(object data, HttpStatusCode statusCode = HttpStatusCode.OK, System.Text.Json.JsonSerializerOptions jsonSerializerOptions = null) { var json = System.Text.Json.JsonSerializer.Serialize(data, jsonSerializerOptions); var buffer = Encoding.UTF8.GetBytes(json); var stream = new MemoryStream(buffer); var contentType = CONTENT_TYPE_APPLICATION_JSON; var response = new WebResponse { ContentStream = stream, HttpStatus = statusCode, MimeType = contentType }; response.Headers.Add("Content-Type", contentType); response.Headers.Add("access-control-allow-origin", "*"); return(response); }