2017-02-09 9 views
0

我有一個小的IHttpModule,它正在讀取來自另一個服務器的POST請求並將其中繼。來自遠程服務器的響應有頭將HttpResponse.ContentEncoding設置爲GZIP

Content-Encoding: gzip 

我如何在HttpResponse指定此我要回給調用者? Content-Encoding被定義爲文本編碼類型,因此它期望使用諸如UTF8之類的文本編碼。

context.Response.ContentEncoding = ???; 

我應該忽略這一點,並手動設置標題?

回答

0

如果您修改響應,那麼您應該解碼並讀取內容,gzip檢索到的值並在響應中添加標題。

//Code for gzip the content and add header 
context.Response.Filter = new System.IO.Compression.GZipStream(
       context.Response.Filter, 
       System.IO.Compression.CompressionMode.Compress); 
context.Response.AppendHeader("Content-Encoding", "gzip"); 

如果在沒有任何改變的情況下中繼響應,則不需要做任何事情。