nethttpmiddleware

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2023 License: Apache-2.0 Imports: 9 Imported by: 8

README

net/http Middleware

⚠️ This README may be for the latest development version, which may contain unreleased changes. Please ensure you're looking at the README for the latest release version.

Middleware for servers that implement net/http handlers, for use with deepmap/oapi-codegen, which has been tested to work with:

But if you're using something that's compliant with net/http it should work as-is.

Licensed under the Apache-2.0.

Documentation

Overview

Package middleware implements middleware function for net/http compatible router which validates incoming HTTP requests to make sure that they conform to the given OAPI 3.0 specification. When OAPI validation fails on the request, we return an HTTP/400.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OapiRequestValidator

func OapiRequestValidator(swagger *openapi3.T) func(next http.Handler) http.Handler

OapiRequestValidator Creates middleware to validate request by swagger spec.

func OapiRequestValidatorWithOptions

func OapiRequestValidatorWithOptions(swagger *openapi3.T, options *Options) func(next http.Handler) http.Handler

OapiRequestValidatorWithOptions Creates middleware to validate request by swagger spec.

Types

type ErrorHandler

type ErrorHandler func(w http.ResponseWriter, message string, statusCode int)

ErrorHandler is called when there is an error in validation

type MultiErrorHandler

type MultiErrorHandler func(openapi3.MultiError) (int, error)

MultiErrorHandler is called when oapi returns a MultiError type

type Options

type Options struct {
	Options           openapi3filter.Options
	ErrorHandler      ErrorHandler
	MultiErrorHandler MultiErrorHandler
	// SilenceServersWarning allows silencing a warning for https://github.com/deepmap/oapi-codegen/issues/882 that reports when an OpenAPI spec has `spec.Servers != nil`
	SilenceServersWarning bool
}

Options to customize request validation, openapi3filter specified options will be passed through.

Jump to

Keyboard shortcuts

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