requestid

package module
v0.0.0-...-3590f9f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 22, 2020 License: MIT Imports: 6 Imported by: 1

README

go-requestid

http.Request をルールに基づいて一意なIDに変換する

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloneValues

func CloneValues(v url.Values) url.Values

CloneValues url.Values を複製する

func GetNamedCleaner

func GetNamedCleaner(name string) func(*Request) *Request

GetNamedCleaner 名前付きのリクエストクリーナーを取得する

func NormarizeAcceptEncodingGzip

func NormarizeAcceptEncodingGzip() func(*Request) *Request

NormarizeAcceptEncodingGzip Accept-Encoding を正規化する

Types

type Request

type Request struct {
	Expected      bool
	Method        string
	Path          string
	Header        http.Header
	HeaderEnabled bool
	Query         url.Values
	QueryEnabled  bool
	Cookies       url.Values
	CookieEnabled bool
}

Request http.Request のサブセット的なやつ

func (*Request) Clone

func (r *Request) Clone() *Request

Clone Request を複製する

func (*Request) GenerateID

func (r *Request) GenerateID(newHashFunc func() hash.Hash) (RequestID, bool)

GenerateID generate RequestID

type RequestID

type RequestID string

RequestID 重複判定用のハッシュ値

type RequestIDGenerator

type RequestIDGenerator struct {
	HashFunc func() hash.Hash
	// contains filtered or unexported fields
}

RequestIDGenerator generate RequestID from *http.Request

func (*RequestIDGenerator) AddRequestCleaner

func (gen *RequestIDGenerator) AddRequestCleaner(f func(*Request) *Request) *RequestIDGenerator

AddRequestCleaner Request を集約する関数を登録する

func (*RequestIDGenerator) CookieAccept

func (gen *RequestIDGenerator) CookieAccept(keys ...WildCard) *RequestIDGenerator

CookieAccept クッキーを制限する

func (*RequestIDGenerator) CookieDrop

func (gen *RequestIDGenerator) CookieDrop(keys ...WildCard) *RequestIDGenerator

CookieDrop クッキーを一部削除する

func (*RequestIDGenerator) CookieEnable

func (gen *RequestIDGenerator) CookieEnable() *RequestIDGenerator

CookieEnable クッキーを利用する

func (*RequestIDGenerator) GenerateID

func (gen *RequestIDGenerator) GenerateID(r *http.Request) (RequestID, bool)

GenerateID generate RequestID

func (*RequestIDGenerator) HeaderAccept

func (gen *RequestIDGenerator) HeaderAccept(keys ...WildCard) *RequestIDGenerator

HeaderAccept ヘッダを制限する

func (*RequestIDGenerator) HeaderDrop

func (gen *RequestIDGenerator) HeaderDrop(keys ...WildCard) *RequestIDGenerator

HeaderDrop ヘッダを一部削除する

func (*RequestIDGenerator) HeaderEnable

func (gen *RequestIDGenerator) HeaderEnable() *RequestIDGenerator

HeaderEnable ヘッダを利用する

func (*RequestIDGenerator) MethodRestrict

func (gen *RequestIDGenerator) MethodRestrict(methods ...string) *RequestIDGenerator

MethodRestrict メソッドを制限する

func (*RequestIDGenerator) PathExcept

func (gen *RequestIDGenerator) PathExcept(paths ...WildCard) *RequestIDGenerator

PathExcept 指定のパス以外に制限する

func (*RequestIDGenerator) PathRestrict

func (gen *RequestIDGenerator) PathRestrict(paths ...WildCard) *RequestIDGenerator

PathRestrict 指定のパスのみに制限する

func (*RequestIDGenerator) QueryAccept

func (gen *RequestIDGenerator) QueryAccept(keys ...WildCard) *RequestIDGenerator

QueryAccept クエリパラメータを制限する

func (*RequestIDGenerator) QueryDrop

func (gen *RequestIDGenerator) QueryDrop(keys ...WildCard) *RequestIDGenerator

QueryDrop クエリパラメータを一部削除する

func (*RequestIDGenerator) QueryEnable

func (gen *RequestIDGenerator) QueryEnable() *RequestIDGenerator

QueryEnable クエリパラメータを利用する

type RequestIDGeneratorConfig

type RequestIDGeneratorConfig struct {
	MethodRestrict *[]string
	PathRestrict   *[]WildCard
	PathExcept     *[]WildCard
	HeaderEnabled  bool
	HeaderAccept   *[]WildCard
	HeaderDrop     *[]WildCard
	QueryEnabled   bool
	QueryAccept    *[]WildCard
	QueryDrop      *[]WildCard
	CookieEnabled  bool
	CookieAccept   *[]WildCard
	CookieDrop     *[]WildCard
	NamedCleaner   *[]string
	HashFunc       func() hash.Hash
}

RequestIDGeneratorConfig RequestIDGeneratorConfigを生成するための設定

func NewDefaultRequestIDGeneratorConfig

func NewDefaultRequestIDGeneratorConfig() *RequestIDGeneratorConfig

NewDefaultRequestIDGeneratorConfig よく使う RequestIDGeneratorConfig を作成する

func (*RequestIDGeneratorConfig) NewGenerator

func (config *RequestIDGeneratorConfig) NewGenerator() *RequestIDGenerator

NewGenerator *RequestIDGenerator を取得する

type StringMatcher

type StringMatcher func(string) bool

StringMatcher 文字列チェッカ

type StringSlice

type StringSlice []string

StringSlice []string でContainsするのに使う

func (StringSlice) Contains

func (ss StringSlice) Contains(s string) bool

Contains ss に s が含まれるか調べる

type WildCard

type WildCard string

WildCard 文字列のワイルドカードマッチする

func (WildCard) Matcher

func (w WildCard) Matcher() StringMatcher

Matcher StringMatcher を取得する

type WildCardSlice

type WildCardSlice []WildCard

WildCardSlice 複数のワイルドカードを使いやすくする

func (WildCardSlice) AllMatcher

func (ws WildCardSlice) AllMatcher() StringMatcher

AllMatcher 全てのワイルドカードにマッチする StringMatcher を取得する

func (WildCardSlice) AnyMatcher

func (ws WildCardSlice) AnyMatcher() StringMatcher

AnyMatcher どれかのワイルドカードにマッチする StringMatcher を取得する

func (WildCardSlice) Matchers

func (ws WildCardSlice) Matchers() []StringMatcher

Matchers ワイルドカードにマッチする StringMatcher を取得する

func (WildCardSlice) NotAnyMatcher

func (ws WildCardSlice) NotAnyMatcher() StringMatcher

NotAnyMatcher 全てのワイルドカードにマッチしない StringMatcher を取得する

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL