Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ImposterHandler ¶
func ImposterHandler(imposter Imposter) http.HandlerFunc
ImposterHandler create specific handler for the received imposter
func MatcherBySchema ¶
func MatcherBySchema(imposter Imposter) mux.MatcherFunc
MatcherBySchema check if the request matching with the schema file
func PrepareAccessControl ¶
func PrepareAccessControl(config killgrave.ConfigCORS) (h []handlers.CORSOption)
PrepareAccessControl Return options to initialize the mock server with default access control
Types ¶
type Imposter ¶
type Imposter struct { BasePath string Request Request `json:"request"` Response Response `json:"response"` }
Imposter define an imposter structure
func (*Imposter) CalculateFilePath ¶
CalculateFilePath calculate file path based on basePath of imposter directory
type Proxy ¶
type Proxy struct {
// contains filtered or unexported fields
}
Proxy represent reverse proxy server.
func (*Proxy) Handler ¶
func (p *Proxy) Handler() http.HandlerFunc
Handler returns handler that sends request to another server.
type Request ¶
type Request struct { Method string `json:"method"` Endpoint string `json:"endpoint"` SchemaFile *string `json:"schemaFile"` Params *map[string]string `json:"params"` Headers *map[string]string `json:"headers"` }
Request represent the structure of real request
type Response ¶
type Response struct { Status int `json:"status"` Body string `json:"body"` BodyFile *string `json:"bodyFile"` Headers *map[string]string `json:"headers"` Delay ResponseDelay `json:"delay"` }
Response represent the structure of real response
type ResponseDelay ¶
type ResponseDelay struct {
// contains filtered or unexported fields
}
ResponseDelay represent time delay before server responds.
func (*ResponseDelay) Delay ¶
func (d *ResponseDelay) Delay() time.Duration
Delay return random time.Duration with respect to specified time range.
func (*ResponseDelay) UnmarshalJSON ¶
func (d *ResponseDelay) UnmarshalJSON(data []byte) error
UnmarshalJSON of json.Unmarshaler interface. Input should be string, consisting of substring that can be parsed by time.ParseDuration, or two similar substrings seperated by ":".
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server definition of mock server
func (*Server) Build ¶
Build read all the files on the impostersPath and add different handlers for each imposter