sal

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2025 License: MIT Imports: 14 Imported by: 0

README

sal

SAL (Simple API Library) is a Go library for automatic Swagger documentation generation and simple route organization.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var StatusCodes = map[int]string{
	100: "Continue",
	101: "Switching Protocols",
	102: "Processing",
	200: "OK",
	201: "Created",
	202: "Accepted",
	203: "Non-Authoritative Information",
	204: "No Content",
	205: "Reset Content",
	206: "Partial Content",
	207: "Multi-Status",
	208: "Already Reported",
	226: "IM Used",
	300: "Multiple Choices",
	301: "Moved Permanently",
	302: "Found",
	303: "See Other",
	304: "Not Modified",
	305: "Use Proxy",
	306: "Switch Proxy",
	307: "Temporary Redirect",
	308: "Permanent Redirect",
	400: "Bad Request",
	401: "Unauthorized",
	402: "Payment Required",
	403: "Forbidden",
	404: "Not Found",
	405: "Method Not Allowed",
	406: "Not Acceptable",
	407: "Proxy Authentication Required",
	408: "Request Timeout",
	409: "Conflict",
	410: "Gone",
	411: "Length Required",
	412: "Precondition Failed",
	413: "Payload Too Large",
	414: "URI Too Long",
	415: "Unsupported Media Type",
	416: "Range Not Satisfiable",
	417: "Expectation Failed",
	418: "I'm a teapot",
	421: "Misdirected Request",
	422: "Unprocessable Entity",
	423: "Locked",
	424: "Failed Dependency",
	426: "Upgrade Required",
	428: "Precondition Required",
	429: "Too Many Requests",
	431: "Request Header Fields Too Large",
	451: "Unavailable For Legal Reasons",
	500: "Internal Server Error",
	501: "Not Implemented",
	502: "Bad Gateway",
	503: "Service Unavailable",
	504: "Gateway Timeout",
	505: "HTTP Version Not Supported",
	506: "Variant Also Negotiates",
	507: "Insufficient Storage",
	508: "Loop Detected",
	510: "Not Extended",
}
View Source
var (
	Swag *swagno.Swagger
)

Functions

func LoggerMiddleware

func LoggerMiddleware(next http.HandlerFunc) http.HandlerFunc

func NewRouter

func NewRouter(prefix, tag string) *router

Types

type API

type API struct {
	Title string
}

func NewAPI

func NewAPI(title string) *API

func (*API) Run

func (x *API) Run(host string)

type Ctx

type Ctx struct {
	Request *http.Request
	// contains filtered or unexported fields
}

func (*Ctx) Binary

func (c *Ctx) Binary(content []byte, contentType string, status int) error

func (*Ctx) Error

func (c *Ctx) Error(message string, status int) error

func (*Ctx) File

func (c *Ctx) File(filePath string) error

func (*Ctx) HTML

func (c *Ctx) HTML(content string, status int) error

func (*Ctx) Header

func (c *Ctx) Header(key, value string)

func (*Ctx) Json

func (c *Ctx) Json(content any, status int) error

func (*Ctx) NoContent

func (c *Ctx) NoContent(status int)

func (*Ctx) Redirect

func (c *Ctx) Redirect(url string, status int)

func (*Ctx) Text

func (c *Ctx) Text(content string, status int) error

type CustomResponseWriter

type CustomResponseWriter struct {
	http.ResponseWriter
	// contains filtered or unexported fields
}

func (*CustomResponseWriter) Write

func (m *CustomResponseWriter) Write(p []byte) (int, error)

func (*CustomResponseWriter) WriteHeader

func (m *CustomResponseWriter) WriteHeader(statusCode int)

type EmptyResponse

type EmptyResponse = map[string]string

type H

type H = map[string]string
type Header struct {
	Name     string
	Required bool
}

type Map

type Map = map[string]string

type Middleware

type Middleware func(next SalHandlerFunc) SalHandlerFunc

type Response

type Response struct {
	Body        any
	Status      string
	Description string
}

func NewResponse

func NewResponse(body any, status int) Response

type SalHandlerFunc

type SalHandlerFunc func(c *Ctx)

func (SalHandlerFunc) ServeHTTP

func (f SalHandlerFunc) ServeHTTP(c *Ctx)

Jump to

Keyboard shortcuts

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