1
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-09-18 23:10:03 +00:00
Files
.github
assets
cmd
contrib
custom
docker
docs
integrations
models
modules
options
public
routers
scripts
services
snap
templates
vendor
cloud.google.com
gitea.com
github.com
BurntSushi
PuerkitoBio
RoaringBitmap
andybalholm
anmitsu
asaskevich
beorn7
blevesearch
boombuler
bradfitz
couchbase
couchbaselabs
davecgh
denisenkom
dgrijalva
editorconfig
edsrzf
emirpasic
etcd-io
ethantkoenig
fsnotify
gliderlabs
glycerine
go-git
go-openapi
analysis
errors
inflect
jsonpointer
jsonreference
loads
runtime
logger
middleware
denco
header
untyped
context.go
doc.go
go18.go
negotiate.go
not_implemented.go
operation.go
parameter.go
pre_go18.go
redoc.go
request.go
router.go
security.go
spec.go
validation.go
security
.editorconfig
.gitignore
.travis.yml
CODE_OF_CONDUCT.md
LICENSE
README.md
bytestream.go
client_auth_info.go
client_operation.go
client_request.go
client_response.go
constants.go
csv.go
discard.go
file.go
go.mod
go.sum
headers.go
interfaces.go
json.go
request.go
statuses.go
text.go
values.go
xml.go
spec
strfmt
swag
validate
go-redis
go-sql-driver
go-stack
go-swagger
gobwas
gogs
golang
golang-sql
google
gorilla
hashicorp
issue9
jaytaylor
jbenet
jessevdk
kballard
kevinburke
keybase
klauspost
kr
lafriks
lib
lunny
magiconair
mailru
markbates
mattn
matttproud
mcuadros
microcosm-cc
mitchellh
mrjones
mschoch
msteinert
nfnt
niklasfasching
oliamb
pelletier
philhofer
pkg
pmezard
pquerna
prometheus
quasoft
satori
sergi
shurcooL
siddontang
spf13
steveyen
stretchr
syndtr
tinylib
toqueteos
tstranex
unknwon
urfave
willf
xanzy
yohcop
yuin
go.mongodb.org
golang.org
google.golang.org
gopkg.in
mvdan.cc
strk.kbt.io
xorm.io
modules.txt
web_src
.changelog.yml
.drone.yml
.editorconfig
.eslintignore
.eslintrc
.gitattributes
.gitignore
.golangci.yml
.ignore
.lgtm
.npmrc
.revive.toml
.stylelintrc
BSDmakefile
CHANGELOG.md
CONTRIBUTING.md
DCO
Dockerfile
LICENSE
MAINTAINERS
Makefile
README.md
README_ZH.md
go.mod
go.sum
main.go
package-lock.json
package.json
tools.go
webpack.config.js
Antoine GIRARD 9fe4437bda Use vendored go-swagger ()
* Use vendored go-swagger

* vendor go-swagger

* revert un wanteed change

* remove un-needed GO111MODULE

* Update Makefile

Co-Authored-By: techknowlogick <matti@mdranta.net>
2019-09-04 22:53:54 +03:00

63 lines
1.9 KiB
Go

// Copyright 2015 go-swagger maintainers
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*Package middleware provides the library with helper functions for serving swagger APIs.
Pseudo middleware handler
import (
"net/http"
"github.com/go-openapi/errors"
)
func newCompleteMiddleware(ctx *Context) http.Handler {
return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
// use context to lookup routes
if matched, ok := ctx.RouteInfo(r); ok {
if matched.NeedsAuth() {
if _, err := ctx.Authorize(r, matched); err != nil {
ctx.Respond(rw, r, matched.Produces, matched, err)
return
}
}
bound, validation := ctx.BindAndValidate(r, matched)
if validation != nil {
ctx.Respond(rw, r, matched.Produces, matched, validation)
return
}
result, err := matched.Handler.Handle(bound)
if err != nil {
ctx.Respond(rw, r, matched.Produces, matched, err)
return
}
ctx.Respond(rw, r, matched.Produces, matched, result)
return
}
// Not found, check if it exists in the other methods first
if others := ctx.AllowedMethods(r); len(others) > 0 {
ctx.Respond(rw, r, ctx.spec.RequiredProduces(), nil, errors.MethodNotAllowed(r.Method, others))
return
}
ctx.Respond(rw, r, ctx.spec.RequiredProduces(), nil, errors.NotFound("path %s was not found", r.URL.Path))
})
}
*/
package middleware