写点什么

云原生训练营 20210915- 作业 1

用户头像
莫问
关注
发布于: 刚刚

题目

  1. 接收客户端 request,并将 request 中带的 header 写入 response header

  2. 读取当前系统的环境变量中的 VERSION 配置,并写入 response header

  3. Server 端记录访问日志包括客户端 IP,HTTP 返回码,输出到 server 端的标准输出

  4. 当访问 localhost/healthz 时,应返回 200

解答

package main
import ( "log" "net/http" "strings")
func main() { http.HandleFunc("/", rootHandler) http.HandleFunc("/healthz", healthzHandler) err := http.ListenAndServe(":8080", nil) if err != nil { log.Fatal(err) }}
func healthzHandler(w http.ResponseWriter, r *http.Request) { log.Println("/healthz ClientAddress is " + r.RemoteAddr + " Status Code is " + http.StatusText(200))}
func rootHandler(w http.ResponseWriter, r *http.Request) { for k, v := range r.Header { w.Header().Add(k, strings.Join(v, " ")) } log.Println("/ ClientAddress is " + r.RemoteAddr + " Status Code is " + http.StatusText(200))}
复制代码

运行结果

记录客户端地址及返回码

访问 healthz,返回 200

响应中设置请求的头


发布于: 刚刚阅读数: 2
用户头像

莫问

关注

站在现在看未来,站在未来看现在 2019.11.20 加入

居安思危,先忧后乐

评论

发布
暂无评论
云原生训练营20210915-作业1