go開源項目用戶名密碼驗證的邏輯鬼才寫法
引言
這兩天在做微服務上云的事,之前一直是本地運行,后來在服務器搭建了生產環(huán)境集群。上云時出現了一些幺蛾子
云上的服務都需要身份驗證的,沒有專用網關的話,至少也要設置 basicAuth(用戶名+密碼的方式)
今天使用 Golang 知名項目 Viper 連接遠端配置中心 Consul 的時候發(fā)現怎么連接都不行。在不使用密碼的情況下代碼應該是這樣子的

按理說,basicAuth 的話只需要在 URL 那里使用 username:password 就可以了,例如:
username:password@consul.domaini.com
但這么填寫的話,就會出現連接不上的情況,真的坑。
于是我順著網線一路查看代碼,閱讀到關鍵位置

原來它并不是讓開發(fā)者通過常規(guī)的 URL 方式設置用戶名密碼,也不是讓開發(fā)者填入用戶名密碼參數,而是從本地環(huán)境變量里面取,真邏輯鬼才 ~
正確的寫法應該是下面這樣

如果沒有跟著網線找的話,真的會被它尬死,放一下它的其他代碼

重要的是,它的文檔 github.com/spf13/viper 里面并沒有提及這些內容
最后補一下,很多人說國內程序員差 、國內程序員沒有創(chuàng)造力 、外國程序員就是流批。說實在的,我們只是沒有那么多時間(都是加班作的),英語也沒那么好。要不然哪里還會有這些瞎編的說法,你覺得呢?
以上就是go開源項目中邏輯鬼才寫法的詳細內容,更多關于go開源邏輯代碼的資料請關注腳本之家其它相關文章!
相關文章
一文帶你揭秘Go中new()和make()函數的區(qū)別和用途
Go(或 Golang)是一種現代、靜態(tài)類型、編譯型的編程語言,專為構建可擴展、并發(fā)和高效的軟件而設計,它提供了各種內置的函數和特性,幫助開發(fā)人員編寫簡潔高效的代碼,在本博客文章中,我們將探討 new() 和 make() 函數之間的區(qū)別,了解何時以及如何有效地使用它們2023-10-10

