成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這個 Go 開源庫讓你能夠更細致地掌握 HTTP 請求過程

新聞 前端
在日常開發中,通過 HTTP 請求其他服務是常有的事情。通常,我們只需要發出請求,獲取響應并進行處理即可,處理過程被 http 庫封裝了。然而有沒有辦法更好地掌控請求的細節呢?今天推薦的這個 Go 語言庫 mediary 就是干這個的。

 [[324163]]

大家好,我是歐盆索思(opensource),每天為你帶來優秀的開源項目!

在日常開發中,通過 HTTP 請求其他服務是常有的事情。通常,我們只需要發出請求,獲取響應并進行處理即可,處理過程被 http 庫封裝了。然而有沒有辦法更好地掌控請求的細節呢?今天推薦的這個 Go 語言庫 mediary 就是干這個的。

項目地址:https://github.com/HereMobilityDevelopers/mediary,這個庫是上個月剛開源的。

具體來說,這個庫是將攔截器增加到 http.Client 上,能夠更好地掌控其中的細節,具體來說可以做的事情包括:

  • 轉儲(dump)請求和響應,輸出到日志;
  • 在發送之前更改請求,或者在返回之前更改響應;
  • 使用 Opentracing/Jaeger 添加跟蹤信息;
  • 發送相關指標到統計監控系統;

注:攔截器這個概念最早來自 AOP(面向切面編程)。通俗來說,攔截器就是可以在目標動作的前后插入一些代碼,執行一些其他的動作。

怎么使用呢?示例如下:

  1. var client *http.Client 
  2. client = mediary.Init().AddInterceptors(your interceptor).Build() 
  3. client.Get("https://golang.org"

看一個具體的 dump 攔截的例子:

  1. client := mediary.Init().AddInterceptors(dumpInterceptor).Build()  
  2. client.Get("https://github.com")  
  3. func dumpInterceptor(req *http.Request, handler mediary.Handler) (*http.Response, error) {  
  4. if bytes, err := httputil.DumpRequestOut(req, true); err == nil {  
  5. fmt.Printf("%s", bytes)  
  6. // GET / HTTP/1.1  
  7. // Host: github.com  
  8. // User-Agent: Go-http-client/1.1  
  9. // Accept-Encoding: gzip  
  10. }  
  11. return handler(req)  
  12. }  

同時加多個攔截器也是可以的:

  1. client := mediary.Init(). 
  2. AddInterceptors(First Interceptor, Second Interceptor). 
  3. AddInterceptors(Third Interceptor). 
  4. Build() 

 

責任編輯:張燕妮 來源: Go語言中文網
相關推薦

2023-11-20 11:56:00

前端架構域驅動設計

2015-09-01 10:21:53

排序算法總結

2018-10-18 10:05:43

HTTP網絡協議TCP

2011-05-12 14:21:22

流行路由器QoS

2017-03-23 15:05:50

HTTP緩存Cookie

2017-03-23 14:51:21

HTTP緩存CDN緩存

2023-06-14 08:02:54

函數代碼概率

2015-08-05 15:53:35

power星環

2021-04-26 23:11:33

AI食物成分人工智能

2023-11-27 08:57:24

GoGET

2017-10-23 14:48:33

全局字體開源

2010-06-30 13:56:32

構建FTP服務器

2022-06-22 06:49:39

Hertz開源HTTP 框架

2013-08-26 09:18:21

2024-04-23 13:36:00

2011-09-06 09:48:41

MTK平臺

2022-05-30 13:08:30

預測性維護傳感器

2009-09-25 11:46:31

ibmdw軟件測試

2022-07-03 17:55:53

HTTP頁面瀏覽器

2024-09-30 08:30:37

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产馆在线真实露脸 | 凹凸日日摸日日碰夜夜 | 国产成人精品在线播放 | 亚洲成人在线免费 | 久久久久久成人网 | 日韩精品视频在线观看一区二区三区 | 日韩欧美在线一区 | 国产成人一区二区三区 | 国产精品久久久久久久久免费樱桃 | 欧美精品久久久 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 久久婷婷av | 97av在线| 日韩视频精品 | 亚洲一区二区在线播放 | 男女视频免费 | 一区二区三区播放 | 龙珠z国语版在线观看 | 精品一区二区电影 | 亚洲国产精品久久久 | 国产精品日韩欧美一区二区 | 日本久久视频 | 国产片侵犯亲女视频播放 | 久热9| 日韩欧美在线一区 | 久久亚洲一区二区三区四区 | aaa级片 | 国产成人免费一区二区60岁 | 国产欧美精品区一区二区三区 | 日韩电影免费在线观看中文字幕 | 免费视频一区二区三区在线观看 | 成人毛片一区二区三区 | 国产日韩精品一区 | 成人av免费在线观看 | 国产精品日韩欧美一区二区三区 | 精品免费视频一区二区 | 国产美女自拍视频 | 色橹橹欧美在线观看视频高清 | 一级片在线观看 | 欧州一区二区三区 | 久久久久久久久久久久一区二区 |