mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-02 06:04:25 +01:00
c3985f05e8
(cherry picked from commit20b5669269
) (cherry picked from commit1574643a6a
) Update semantic version according to specification (cherry picked from commit22510f4130
) Mise à jour de 'Makefile' (cherry picked from commitc3d85d8409
) (cherry picked from commit5ea2309851
) (cherry picked from commitec5217b9d1
) (cherry picked from commit14f08e364b
) (cherry picked from commitb4465c67b8
) [API] [SEMVER] replace number with version (cherry picked from commitfba48e6497
) (cherry picked from commit532ec5d878
) [API] [SEMVER] [v1.20] less is replaced by css (cherry picked from commit01ca3a4f42
) (cherry picked from commit1d928c3ab2
) (cherry picked from commita39dc804cd
) Conflicts: webpack.config.js (cherry picked from commitadc68578b3
) (cherry picked from commit9b8d98475f
) (cherry picked from commit2516103974
) (cherry picked from commit18e6287963
) (cherry picked from commite9694e67ab
) (cherry picked from commita9763edaf0
) (cherry picked from commite2b550f4fb
) (cherry picked from commit2edac36701
) [API] Forgejo API /api/forgejo/v1 (squash) Update semver as v1.20 is entering release candidate mode (cherry picked from commit4995098ec3
) (cherry picked from commit578ccfdd27
) (cherry picked from commit1bf6ac0952
) (cherry picked from commit2fe16b2bfe
) (cherry picked from commit7cd9d027ee
) (cherry picked from commiteaed4be2ae
) (cherry picked from commitcc94f3115f
) (cherry picked from commitd7a77e35cc
) (cherry picked from commitcd8eb68ab7
) (cherry picked from commit68487ac95f
) (cherry picked from commit616dceb565
) (cherry picked from commit545fe5975b
) (cherry picked from commitc042cf8eda
) (cherry picked from commitae5e5a7468
) (cherry picked from commit8034ef5fa2
) (cherry picked from commitaaf0293034
) (cherry picked from commitdaafa8ce58
) (cherry picked from commit7ca3681d3e
) (cherry picked from commit39f72cba71
) (cherry picked from commit60a5917130
) (cherry picked from commit4853bd9e16
) [API] Move forgejo api file (squash) - Move the file to accommodatefaa28b5a44
(cherry picked from commitbce89351d2
) (cherry picked from commit11ae7f6e85
) (cherry picked from commit25e96cfcb2
) (cherry picked from commit6d8d19b391
) (cherry picked from commit5afc5c454b
) (cherry picked from commit86d07b4c24
) (cherry picked from commite54d869fda
) (cherry picked from commitab31ef1bba
) (cherry picked from commit511cbca2f3
) (cherry picked from commit333916fea8
) (cherry picked from commit3802bcd7c9
) (cherry picked from commit5d0fa034f7
) (cherry picked from commitd15627aa0d
) (cherry picked from commitba0b21b930
) (cherry picked from commit39ade66aac
)
167 lines
4.1 KiB
Go
167 lines
4.1 KiB
Go
// Package v1 provides primitives to interact with the openapi HTTP API.
|
|
//
|
|
// Code generated by github.com/deepmap/oapi-codegen version v1.12.4 DO NOT EDIT.
|
|
package v1
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
)
|
|
|
|
// Version defines model for Version.
|
|
type Version struct {
|
|
Version *string `json:"version,omitempty"`
|
|
}
|
|
|
|
// ServerInterface represents all server handlers.
|
|
type ServerInterface interface {
|
|
// API version
|
|
// (GET /version)
|
|
GetVersion(w http.ResponseWriter, r *http.Request)
|
|
}
|
|
|
|
// ServerInterfaceWrapper converts contexts to parameters.
|
|
type ServerInterfaceWrapper struct {
|
|
Handler ServerInterface
|
|
HandlerMiddlewares []MiddlewareFunc
|
|
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
|
|
}
|
|
|
|
type MiddlewareFunc func(http.Handler) http.Handler
|
|
|
|
// GetVersion operation middleware
|
|
func (siw *ServerInterfaceWrapper) GetVersion(w http.ResponseWriter, r *http.Request) {
|
|
ctx := r.Context()
|
|
|
|
var handler http.Handler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
siw.Handler.GetVersion(w, r)
|
|
})
|
|
|
|
for _, middleware := range siw.HandlerMiddlewares {
|
|
handler = middleware(handler)
|
|
}
|
|
|
|
handler.ServeHTTP(w, r.WithContext(ctx))
|
|
}
|
|
|
|
type UnescapedCookieParamError struct {
|
|
ParamName string
|
|
Err error
|
|
}
|
|
|
|
func (e *UnescapedCookieParamError) Error() string {
|
|
return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName)
|
|
}
|
|
|
|
func (e *UnescapedCookieParamError) Unwrap() error {
|
|
return e.Err
|
|
}
|
|
|
|
type UnmarshallingParamError struct {
|
|
ParamName string
|
|
Err error
|
|
}
|
|
|
|
func (e *UnmarshallingParamError) Error() string {
|
|
return fmt.Sprintf("Error unmarshalling parameter %s as JSON: %s", e.ParamName, e.Err.Error())
|
|
}
|
|
|
|
func (e *UnmarshallingParamError) Unwrap() error {
|
|
return e.Err
|
|
}
|
|
|
|
type RequiredParamError struct {
|
|
ParamName string
|
|
}
|
|
|
|
func (e *RequiredParamError) Error() string {
|
|
return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName)
|
|
}
|
|
|
|
type RequiredHeaderError struct {
|
|
ParamName string
|
|
Err error
|
|
}
|
|
|
|
func (e *RequiredHeaderError) Error() string {
|
|
return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName)
|
|
}
|
|
|
|
func (e *RequiredHeaderError) Unwrap() error {
|
|
return e.Err
|
|
}
|
|
|
|
type InvalidParamFormatError struct {
|
|
ParamName string
|
|
Err error
|
|
}
|
|
|
|
func (e *InvalidParamFormatError) Error() string {
|
|
return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error())
|
|
}
|
|
|
|
func (e *InvalidParamFormatError) Unwrap() error {
|
|
return e.Err
|
|
}
|
|
|
|
type TooManyValuesForParamError struct {
|
|
ParamName string
|
|
Count int
|
|
}
|
|
|
|
func (e *TooManyValuesForParamError) Error() string {
|
|
return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count)
|
|
}
|
|
|
|
// Handler creates http.Handler with routing matching OpenAPI spec.
|
|
func Handler(si ServerInterface) http.Handler {
|
|
return HandlerWithOptions(si, ChiServerOptions{})
|
|
}
|
|
|
|
type ChiServerOptions struct {
|
|
BaseURL string
|
|
BaseRouter chi.Router
|
|
Middlewares []MiddlewareFunc
|
|
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
|
|
}
|
|
|
|
// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.
|
|
func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler {
|
|
return HandlerWithOptions(si, ChiServerOptions{
|
|
BaseRouter: r,
|
|
})
|
|
}
|
|
|
|
func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler {
|
|
return HandlerWithOptions(si, ChiServerOptions{
|
|
BaseURL: baseURL,
|
|
BaseRouter: r,
|
|
})
|
|
}
|
|
|
|
// HandlerWithOptions creates http.Handler with additional options
|
|
func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler {
|
|
r := options.BaseRouter
|
|
|
|
if r == nil {
|
|
r = chi.NewRouter()
|
|
}
|
|
if options.ErrorHandlerFunc == nil {
|
|
options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) {
|
|
http.Error(w, err.Error(), http.StatusBadRequest)
|
|
}
|
|
}
|
|
wrapper := ServerInterfaceWrapper{
|
|
Handler: si,
|
|
HandlerMiddlewares: options.Middlewares,
|
|
ErrorHandlerFunc: options.ErrorHandlerFunc,
|
|
}
|
|
|
|
r.Group(func(r chi.Router) {
|
|
r.Get(options.BaseURL+"/version", wrapper.GetVersion)
|
|
})
|
|
|
|
return r
|
|
}
|