daemon

package
v0.1.11 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: AGPL-3.0 Imports: 33 Imported by: 2

Documentation

Index

Constants

View Source
const (
	WiretapServiceChan      = "wiretap"
	WiretapBroadcastChan    = "wiretap-broadcast"
	WiretapStaticChangeChan = "wiretap-static-change"
	IncomingHttpRequest     = "incoming-http-request"
)

Variables

This section is empty.

Functions

func CORSMiddleware

func CORSMiddleware() mux.MiddlewareFunc

func CloneExistingRequest added in v0.0.36

func CloneExistingRequest(request CloneRequest) *http.Request

func CloneExistingResponse added in v0.0.36

func CloneExistingResponse(r *http.Response) *http.Response

func ExtractHeaders added in v0.0.36

func ExtractHeaders(resp *http.Response) map[string][]string

func MonitorStatic added in v0.0.18

func MonitorStatic(wiretapConfig *shared.WiretapConfiguration)

func ReconstructURL added in v0.0.36

func ReconstructURL(r *http.Request, protocol, host, basepath string, port string) string

func ReplaceWithVariables added in v0.0.20

func ReplaceWithVariables(variables map[string]*shared.CompiledVariable, input string) string

Types

type CloneRequest added in v0.0.15

type CloneRequest struct {
	Request       *http.Request
	Protocol      string
	Host          string
	BasePath      string
	Port          string
	PathTarget    string
	DropHeaders   []string
	InjectHeaders map[string]string
	Auth          string
	Variables     map[string]*shared.CompiledVariable
}

type FormFile added in v0.0.10

type FormFile struct {
	Name    string               `json:"name,omitempty"`
	Headers textproto.MIMEHeader `json:"headers,omitempty"`
	Data    string               `json:"data,omitempty"`
}

type FormPart added in v0.0.10

type FormPart struct {
	Name  string      `json:"name,omitempty"`
	Value []string    `json:"value,omitempty"`
	Files []*FormFile `json:"files,omitempty"`
}

type HttpCookie

type HttpCookie struct {
	Value   string `json:"value,omitempty"`
	Path    string `json:"path,omitempty"`
	Domain  string `json:"domain,omitempty"`
	Expires string `json:"expires,omitempty"`
	// MaxAge=0 means no 'Max-Age' attribute specified.
	// MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'
	// MaxAge>0 means Max-Age attribute present and given in seconds
	MaxAge   int  `json:"maxAge,omitempty"`
	Secure   bool `json:"secure,omitempty"`
	HttpOnly bool `json:"httpOnly,omitempty"`
}

type HttpRequest

type HttpRequest struct {
	Timestamp       int64                  `json:"timestamp,omitempty"`
	URL             string                 `json:"url,omitempty"`
	Method          string                 `json:"method,omitempty"`
	Host            string                 `json:"host,omitempty"`
	Path            string                 `json:"path,omitempty"`
	OriginalPath    string                 `json:"originalPath,omitempty"`
	DroppedHeaders  []string               `json:"droppedHeaders,omitempty"`
	InjectedHeaders map[string]string      `json:"injectedHeaders,omitempty"`
	Query           string                 `json:"query,omitempty"`
	Headers         map[string]any         `json:"headers,omitempty"`
	Body            string                 `json:"requestBody,omitempty"`
	Cookies         map[string]*HttpCookie `json:"cookies,omitempty"`
}

type HttpResponse

type HttpResponse struct {
	Timestamp  int64                  `json:"timestamp,omitempty"`
	Headers    map[string]any         `json:"headers,omitempty"`
	StatusCode int                    `json:"statusCode,omitempty"`
	Body       string                 `json:"responseBody,omitempty"`
	Cookies    map[string]*HttpCookie `json:"cookies,omitempty"`
	Time       time.Time              `json:"-"`
}

type HttpTransaction

type HttpTransaction struct {
	Request            *HttpRequest              `json:"httpRequest,omitempty"`
	RequestValidation  []*errors.ValidationError `json:"requestValidation,omitempty"`
	Response           *HttpResponse             `json:"httpResponse,omitempty"`
	ResponseValidation []*errors.ValidationError `json:"responseValidation,omitempty"`
	Id                 string                    `json:"id,omitempty"`
}

func BuildHttpTransaction added in v0.0.36

func BuildHttpTransaction(build HttpTransactionConfig) *HttpTransaction

func BuildResponse added in v0.0.36

func BuildResponse(r *model.Request, response *http.Response) *HttpTransaction

type HttpTransactionConfig added in v0.0.36

type HttpTransactionConfig struct {
	OriginalRequest   *http.Request
	NewRequest        *http.Request
	ID                *uuid.UUID
	TransactionConfig *shared.WiretapConfiguration
}

type WiretapService

type WiretapService struct {
	// contains filtered or unexported fields
}

func NewWiretapService

func NewWiretapService(document libopenapi.Document, config *shared.WiretapConfiguration) *WiretapService

func (*WiretapService) HandleHttpRequest added in v0.0.8

func (ws *WiretapService) HandleHttpRequest(request *model.Request)

func (*WiretapService) HandleServiceRequest

func (ws *WiretapService) HandleServiceRequest(request *model.Request, core service.FabricServiceCore)

func (*WiretapService) HandleWebsocketRequest added in v0.1.6

func (ws *WiretapService) HandleWebsocketRequest(request *model.Request)

func (*WiretapService) Init

func (*WiretapService) ValidateRequest added in v0.1.0

func (ws *WiretapService) ValidateRequest(
	modelRequest *model.Request,
	httpRequest *http.Request) []*errors.ValidationError

func (*WiretapService) ValidateResponse added in v0.1.0

func (ws *WiretapService) ValidateResponse(
	request *model.Request,
	returnedResponse *http.Response) []*errors.ValidationError

Jump to

Keyboard shortcuts

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