servermock

package
v4.23.1 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DumpRequest

func DumpRequest() http.HandlerFunc

DumpRequest logs the full HTTP request to the console, including the body if present.

Types

type Builder

type Builder[T any] struct {
	// contains filtered or unexported fields
}

Builder is a type that facilitates the construction of testable HTTP clients and server. It allows defining routes, attaching middleware, and creating custom HTTP clients.

func NewBuilder

func NewBuilder[T any](clientBuilder ClientBuilder[T], chain ...Link) *Builder[T]

func (*Builder[T]) Build

func (b *Builder[T]) Build(t *testing.T) T

func (*Builder[T]) Route

func (b *Builder[T]) Route(pattern string, handler http.Handler, chain ...Link) *Builder[T]

type ClientBuilder

type ClientBuilder[T any] func(server *httptest.Server) (T, error)

ClientBuilder defines a function type for creating a client of type T based on a httptest.Server instance.

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

FormLink is a type used for validating and processing form data in HTTP requests. It supports strict validation, predefined values, and regex-based checks to ensure form compliance.

func CheckForm

func CheckForm() *FormLink

func (*FormLink) Bind

func (l *FormLink) Bind(next http.Handler) http.Handler

func (*FormLink) Strict

func (l *FormLink) Strict() *FormLink

func (*FormLink) UsePostForm

func (l *FormLink) UsePostForm() *FormLink

func (*FormLink) With

func (l *FormLink) With(name, value string) *FormLink

func (*FormLink) WithRegexp

func (l *FormLink) WithRegexp(name, exp string) *FormLink
type HeaderLink struct {
	// contains filtered or unexported fields
}

HeaderLink validates HTTP request headers.

func CheckHeader

func CheckHeader() *HeaderLink

func (*HeaderLink) Bind

func (l *HeaderLink) Bind(next http.Handler) http.Handler

func (*HeaderLink) With

func (l *HeaderLink) With(name, value string, values ...string) *HeaderLink

func (*HeaderLink) WithAccept

func (l *HeaderLink) WithAccept(value string) *HeaderLink

func (*HeaderLink) WithAuthorization

func (l *HeaderLink) WithAuthorization(value string) *HeaderLink

func (*HeaderLink) WithBasicAuth

func (l *HeaderLink) WithBasicAuth(username, password string) *HeaderLink

func (*HeaderLink) WithContentType

func (l *HeaderLink) WithContentType(value string) *HeaderLink

func (*HeaderLink) WithContentTypeFromURLEncoded

func (l *HeaderLink) WithContentTypeFromURLEncoded() *HeaderLink

func (*HeaderLink) WithJSONHeaders

func (l *HeaderLink) WithJSONHeaders() *HeaderLink

func (*HeaderLink) WithRegexp

func (l *HeaderLink) WithRegexp(name, exp string) *HeaderLink

func (*HeaderLink) WithStatusCode

func (l *HeaderLink) WithStatusCode(status int) *HeaderLink

type JSONEncodeHandler

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

JSONEncodeHandler is a handler that encodes data into JSON and writes it to an HTTP response.

func JSONEncode

func JSONEncode(data any) *JSONEncodeHandler

func (*JSONEncodeHandler) ServeHTTP

func (h *JSONEncodeHandler) ServeHTTP(rw http.ResponseWriter, _ *http.Request)

func (*JSONEncodeHandler) WithStatusCode

func (h *JSONEncodeHandler) WithStatusCode(status int) *JSONEncodeHandler
type Link interface {
	Bind(next http.Handler) http.Handler
}

Link represents a middleware interface, enabling middleware chaining.

type LinkFunc

type LinkFunc func(next http.Handler) http.Handler

LinkFunc defines a function type Link.

func (LinkFunc) Bind

func (f LinkFunc) Bind(next http.Handler) http.Handler

type NoopHandler

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

NoopHandler is a simple HTTP handler that responds without processing requests.

func Noop

func Noop() *NoopHandler

func (*NoopHandler) ServeHTTP

func (h *NoopHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request)

func (*NoopHandler) WithHeader

func (h *NoopHandler) WithHeader(name, value string, values ...string) *NoopHandler

func (*NoopHandler) WithStatusCode

func (h *NoopHandler) WithStatusCode(status int) *NoopHandler
type QueryParameterLink struct {
	// contains filtered or unexported fields
}

QueryParameterLink validates query parameters in HTTP requests. The strict flag enforces exact matches with specified query parameters.

func CheckQueryParameter

func CheckQueryParameter() *QueryParameterLink

func (*QueryParameterLink) Bind

func (l *QueryParameterLink) Bind(next http.Handler) http.Handler

func (*QueryParameterLink) Strict

func (*QueryParameterLink) With

func (l *QueryParameterLink) With(name, value string) *QueryParameterLink

func (*QueryParameterLink) WithRegexp

func (l *QueryParameterLink) WithRegexp(name, exp string) *QueryParameterLink

func (*QueryParameterLink) WithStatusCode

func (l *QueryParameterLink) WithStatusCode(status int) *QueryParameterLink

func (*QueryParameterLink) WithValues

func (l *QueryParameterLink) WithValues(values url.Values) *QueryParameterLink

type RawResponseHandler

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

RawResponseHandler is a custom HTTP handler that serves raw response data.

func RawResponse

func RawResponse(data []byte) *RawResponseHandler

func RawStringResponse

func RawStringResponse(data string) *RawResponseHandler

func (*RawResponseHandler) ServeHTTP

func (h *RawResponseHandler) ServeHTTP(rw http.ResponseWriter, _ *http.Request)

func (*RawResponseHandler) WithHeader

func (h *RawResponseHandler) WithHeader(name, value string, values ...string) *RawResponseHandler

func (*RawResponseHandler) WithStatusCode

func (h *RawResponseHandler) WithStatusCode(status int) *RawResponseHandler
type RequestBodyJSONLink struct {
	// contains filtered or unexported fields
}

RequestBodyJSONLink validates JSON request bodies.

func CheckRequestJSONBody

func CheckRequestJSONBody(body string) *RequestBodyJSONLink

CheckRequestJSONBody creates a RequestBodyJSONLink initialized with a string.

func CheckRequestJSONBodyFromFile

func CheckRequestJSONBodyFromFile(filename string) *RequestBodyJSONLink

CheckRequestJSONBodyFromFile creates a RequestBodyJSONLink initialized with the provided request body file.

func CheckRequestJSONBodyFromStruct

func CheckRequestJSONBodyFromStruct(data any) *RequestBodyJSONLink

CheckRequestJSONBodyFromStruct creates a RequestBodyJSONLink initialized with a struct.

func (*RequestBodyJSONLink) Bind

func (*RequestBodyJSONLink) WithDirectory

func (l *RequestBodyJSONLink) WithDirectory(directory string) *RequestBodyJSONLink
type RequestBodyLink struct {
	// contains filtered or unexported fields
}

RequestBodyLink represents a handler utility to validate HTTP request bodies against a predefined byte slice.

func CheckRequestBody

func CheckRequestBody(body string) *RequestBodyLink

CheckRequestBody creates a RequestBodyLink initialized with the provided request body string.

func CheckRequestBodyFromFile

func CheckRequestBodyFromFile(filename string) *RequestBodyLink

CheckRequestBodyFromFile creates a RequestBodyLink initialized with the provided request body file.

func (*RequestBodyLink) Bind

func (l *RequestBodyLink) Bind(next http.Handler) http.Handler

func (*RequestBodyLink) IgnoreWhitespace

func (l *RequestBodyLink) IgnoreWhitespace() *RequestBodyLink

type ResponseFromFileHandler

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

ResponseFromFileHandler handles HTTP responses using the content of a file.

func ResponseFromFile

func ResponseFromFile(filename string) *ResponseFromFileHandler

func ResponseFromFixture

func ResponseFromFixture(filename string) *ResponseFromFileHandler

func (*ResponseFromFileHandler) ServeHTTP

func (*ResponseFromFileHandler) WithHeader

func (h *ResponseFromFileHandler) WithHeader(name, value string, values ...string) *ResponseFromFileHandler

func (*ResponseFromFileHandler) WithStatusCode

func (h *ResponseFromFileHandler) WithStatusCode(status int) *ResponseFromFileHandler

Jump to

Keyboard shortcuts

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