From 1a17a8a2c2062d5506754b6b296402dd640dab2d Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Tue, 1 Aug 2023 15:44:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=BB=98=E8=AE=A4Content-Type=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BAtext/html;=20charset=3Dutf-8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/http_request_page.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/nodes/http_request_page.go b/internal/nodes/http_request_page.go index 23372aa..dea4ca8 100644 --- a/internal/nodes/http_request_page.go +++ b/internal/nodes/http_request_page.go @@ -12,6 +12,8 @@ import ( "strings" ) +const defaultPageContentType = "text/html; charset=utf-8" + // 请求特殊页面 func (this *HTTPRequest) doPage(status int) (shouldStop bool) { if len(this.web.Pages) == 0 { @@ -58,6 +60,7 @@ func (this *HTTPRequest) doPageLookup(pages []*serverconfigs.HTTPPageConfig, sta var realpath = path.Clean(page.URL) if !strings.HasPrefix(realpath, "/pages/") && !strings.HasPrefix(realpath, "pages/") { // only files under "/pages/" can be used var msg = "404 page not found: '" + page.URL + "'" + this.writer.Header().Set("Content-Type", defaultPageContentType) this.writer.WriteHeader(http.StatusNotFound) _, _ = this.writer.Write([]byte(msg)) return true @@ -66,6 +69,7 @@ func (this *HTTPRequest) doPageLookup(pages []*serverconfigs.HTTPPageConfig, sta fp, err := os.Open(file) if err != nil { var msg = "404 page not found: '" + page.URL + "'" + this.writer.Header().Set("Content-Type", defaultPageContentType) this.writer.WriteHeader(http.StatusNotFound) _, _ = this.writer.Write([]byte(msg)) return true @@ -77,6 +81,7 @@ func (this *HTTPRequest) doPageLookup(pages []*serverconfigs.HTTPPageConfig, sta stat, err := fp.Stat() if err != nil { var msg = "404 could not read page content: '" + page.URL + "'" + this.writer.Header().Set("Content-Type", defaultPageContentType) this.writer.WriteHeader(http.StatusNotFound) _, _ = this.writer.Write([]byte(msg)) return true @@ -85,10 +90,12 @@ func (this *HTTPRequest) doPageLookup(pages []*serverconfigs.HTTPPageConfig, sta // 修改状态码 if page.NewStatus > 0 { // 自定义响应Headers + this.writer.Header().Set("Content-Type", defaultPageContentType) this.ProcessResponseHeaders(this.writer.Header(), page.NewStatus) this.writer.Prepare(nil, stat.Size(), page.NewStatus, true) this.writer.WriteHeader(page.NewStatus) } else { + this.writer.Header().Set("Content-Type", defaultPageContentType) this.ProcessResponseHeaders(this.writer.Header(), status) this.writer.Prepare(nil, stat.Size(), status, true) this.writer.WriteHeader(status) @@ -120,10 +127,12 @@ func (this *HTTPRequest) doPageLookup(pages []*serverconfigs.HTTPPageConfig, sta // 修改状态码 if page.NewStatus > 0 { // 自定义响应Headers + this.writer.Header().Set("Content-Type", defaultPageContentType) this.ProcessResponseHeaders(this.writer.Header(), page.NewStatus) this.writer.Prepare(nil, int64(len(content)), page.NewStatus, true) this.writer.WriteHeader(page.NewStatus) } else { + this.writer.Header().Set("Content-Type", defaultPageContentType) this.ProcessResponseHeaders(this.writer.Header(), status) this.writer.Prepare(nil, int64(len(content)), status, true) this.writer.WriteHeader(status)