公式ページを基に実装すると
- こちらの公式ページを基に実装すると、失敗時にhttp500が返却される。
- 外部向けサイト等であれば、これで良いと思われる。
- 但し、社内システム等で、一回失敗するとブラウザ再起動だと面倒。
リトライ出来るようする
- 以下は例です。
auth := func(c buffalo.Context, u, p string) (bool, error) {
if u == "username" && p == "password" {
return true,nil
}else{
c.Response().Header().Set("WWW-Authenticate", `Basic realm="Basic Authentication"`)
return false,c.Error(http.StatusUnauthorized, errors.New("Unauthorized"))
}
}
app.Use(basicauth.Middleware(auth))
app.Middleware.Skip(basicauth.Middleware(auth), HomeHandler)
app.GET("/", HomeHandler)
app.GET("/add", AddMessage)
app.GET("/get", GetMessage)
本当にやりたい事はn回リトライさせる設定
- そこまではやっていません。申し訳ございません。