示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
        }
示例#5
0
        /// <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);
        }