http - Web API 响应中的默认 HTTP header

标签 http go http-headers

我正在尝试在我的 Golang Web api 中设置默认 header 。我使用的是 Go 自带的 net/http 路由器。我可以找到很多如何做到这一点的例子:

  • 使用其他一些路由器。
  • 对每个回复都这样做(我已经这样做了)

是否有一种方法可以为使用 net/http 的所有响应设置默认 header ?

最佳答案

创建一个包装函数。像这样的东西:

package main

import "net/http"

func SetDefaultHeaders(handler func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) {
    return func(w http.ResponseWriter, r *http.Request) {
        // Set default headers
        handler(w, r)
    }
}

func main() {
    http.HandleFunc("/", SetDefaultHeaders(func(w http.ResponseWriter, r *http.Request) {
        // ...
    }))
}

关于http - Web API 响应中的默认 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51823904/

相关文章:

sql - 包含 % 字符的数据库查询的扫描结果

rest - Jax-rs http header 范围

node.js - 我的 http 请求有什么问题

javascript - Outlook Online 如何下载附件?

c# - 如何从 UWP MediaPlayer 获取流元数据?

http - 为什么 Go HTTPS 客户端不重用连接?

go - 如何将 JSON 转换为 CSV?

java - 打开/另存为...对话框未显示

php - 非常长的 json 响应停止并以文本形式发送 HTTP header ,然后继续

http - 如何解释 "Connection: keep-alive, close"?