Documentation ¶
Overview ¶
Cookieの作成、取得、削除を行います。
Example:
cookie := NewCookie("example.com", true, http.SameSiteNoneMode) exp := NewCookieHourExp(10) cookie.Set(w, "key", "value", exp) value, err := cookie.Get(r, "key") err := cookie.Delete(w, r, "key")
Cookieの有効時間を設定します ¶
Example:
exp := NewCookieHourExp(10) // 10時間 exp2 := NewCookieHourExp(2) // 2時間 exp3 := NewCookieMinutsExp(10) // 10分 exp4 := NewCookieMinutsExp(3) // 3分
POSTフォームの操作 ¶
Example:
type Json struct { Name string `json:"name"` } if CheckContentType(r) { var json Json if err := GetJsonForm(w, r, json); err != nil { panic(err) } ... }
返すレスポンスを統一します。
Example:
err := errors.New("dummy error") ResponseError(w, 500, err) // internal server error WriteBody(w, response) // 200 OK
Index ¶
- Constants
- func CheckContentType(r *http.Request) bool
- func CorsConfig() *cors.Cors
- func DeleteCookie(w http.ResponseWriter, req *http.Request, key string) error
- func GetCookie(req *http.Request, key string) (string, error)
- func GetIPAddress(r *http.Request) string
- func GetJsonForm(w http.ResponseWriter, r *http.Request, obj interface{}) error
- func GetQuery(r *http.Request, key string) (string, error)
- func GetUserAgent(r *http.Request) string
- func ResponseCustomStatus(w http.ResponseWriter, statusCode int, body interface{})
- func ResponseError(w http.ResponseWriter, err error)
- func ResponseErrorCustomCode(w http.ResponseWriter, statusCode int, err error, code int)
- func ResponseOK(w http.ResponseWriter, body interface{})
- type AbstractResponse
- type Cookie
- type CookieExp
- type ErrorResponse
Constants ¶
View Source
const ( Success = iota // 成功 DefaultError // エラー ErrorIntoError // ResponseError内でのエラー BlockedError // ブロックリストに入っていたエラー IncorrectMail // メールアドレスが正しくないエラー BotError // Bot判定したためエラー TimeOutError // 時間切れ AlreadyDone // 既に認証済み AccountNoExist // アカウント無い ExistUserName // ユーザIDがすでにある FailedLogin // ログインできない IncorrectUserName // ユーザ名が正しくない PasswordWrong // パスワードが違う FailedOTP // OTPが違う NoRedirectURI // SSO serviceのリダイレクトURIが違う NoRefererURI // SSO serviceのrefer uriが違う NoRole // roleが違う NotExistService // そのようなSSO Serviceは存在しない IncorrectOIDC // OpenID Connectの仕様に沿っていない )
独自ステータスコード
Variables ¶
This section is empty.
Functions ¶
func CheckContentType ¶
HTTPヘッダのContent-Typeが`application/json`であるかをチェックする
func CorsConfig ¶
func DeleteCookie ¶
cookieを削除
func GetIPAddress ¶
func GetJsonForm ¶
func GetJsonForm(w http.ResponseWriter, r *http.Request, obj interface{}) error
postのformのjsonをパースして内容を取得します
func GetUserAgent ¶
func ResponseCustomStatus ¶
func ResponseCustomStatus(w http.ResponseWriter, statusCode int, body interface{})
bodyをHTTP Responceに書き出す
func ResponseError ¶
func ResponseError(w http.ResponseWriter, err error)
エラーをHTTPで返す レスポンスではerror idを返し、ログからそのIDを検索することでエラーメッセージを参照できる
http statusはHTTPErrorで定義してください。 See more: https://github.com/cateiru/go-http-error
func ResponseErrorCustomCode ¶
func ResponseErrorCustomCode(w http.ResponseWriter, statusCode int, err error, code int)
カスタムに独自ステータスコードを決定し、エラーをHTTPで返す レスポンスではerror idを返し、ログからそのIDを検索することでエラーメッセージを参照できる
Types ¶
type AbstractResponse ¶
type AbstractResponse struct { // 独自ステータスコード // // 特殊な事情でエラーが起きた場合HTTP ステータスコード以外にこのコードを指定します。 Code int `json:"code"` }
type CookieExp ¶
type CookieExp struct { IsSession bool // contains filtered or unexported fields }
func NewSession ¶
func NewSession() *CookieExp
同一セッションのみ ブラウザが削除されるとcookieも削除されます
Warning: 多くのウェブブラウザーはセッション復元と呼ばれる機能を持っており、 これによってすべてのタブを保存し、次回ブラウザーを起動したときに復元することができます。 ブラウザーを実際には閉じていないかのように、セッションクッキーも復元されます。 by. MDN(https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Set-Cookie)
type ErrorResponse ¶
type ErrorResponse struct { StatusCode int `json:"status_code"` ErrorID string `json:"error_id"` AbstractResponse }
Click to show internal directories.
Click to hide internal directories.