github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/util/http_response_writer.go (about)

     1  package util
     2  
     3  import (
     4  	"io"
     5  	"net/http"
     6  )
     7  
     8  type httpResponseWriter struct {
     9  	io.Writer
    10  }
    11  
    12  func (httpResponseWriter) Header() http.Header {
    13  	return make(map[string][]string)
    14  }
    15  func (httpResponseWriter) WriteHeader(int) {}
    16  
    17  // 将 io.Writer 从语义上实现 http.ResponseWriter.
    18  func HttpResponseWriter(w io.Writer) http.ResponseWriter {
    19  	if rw, ok := w.(http.ResponseWriter); ok {
    20  		return rw
    21  	}
    22  	return httpResponseWriter{Writer: w}
    23  }