mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	bump github.com/emicklei/go-restful/v3 to v3.11.0.
This commit is contained in:
		
							
								
								
									
										24
									
								
								vendor/github.com/emicklei/go-restful/v3/CHANGES.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/emicklei/go-restful/v3/CHANGES.md
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,10 +1,30 @@
 | 
			
		||||
# Change history of go-restful
 | 
			
		||||
 | 
			
		||||
## [v3.9.0] - 20221-07-21
 | 
			
		||||
## [v3.11.0] - 2023-08-19
 | 
			
		||||
 | 
			
		||||
- restored behavior as <= v3.9.0 with option to change path strategy using TrimRightSlashEnabled. 
 | 
			
		||||
 | 
			
		||||
## [v3.10.2] - 2023-03-09 - DO NOT USE
 | 
			
		||||
 | 
			
		||||
- introduced MergePathStrategy to be able to revert behaviour of path concatenation to 3.9.0
 | 
			
		||||
  see comment in Readme how to customize this behaviour.
 | 
			
		||||
 | 
			
		||||
## [v3.10.1] - 2022-11-19 - DO NOT USE
 | 
			
		||||
 | 
			
		||||
- fix broken 3.10.0 by using path package for joining paths
 | 
			
		||||
 | 
			
		||||
## [v3.10.0] - 2022-10-11 - BROKEN
 | 
			
		||||
 | 
			
		||||
- changed tokenizer to match std route match behavior; do not trimright the path (#511)
 | 
			
		||||
- Add MIME_ZIP (#512)
 | 
			
		||||
- Add MIME_ZIP and HEADER_ContentDisposition (#513)
 | 
			
		||||
- Changed how to get query parameter issue #510
 | 
			
		||||
 | 
			
		||||
## [v3.9.0] - 2022-07-21
 | 
			
		||||
 | 
			
		||||
- add support for http.Handler implementations to work as FilterFunction, issue #504 (thanks to https://github.com/ggicci)
 | 
			
		||||
 | 
			
		||||
## [v3.8.0] - 20221-06-06
 | 
			
		||||
## [v3.8.0] - 2022-06-06
 | 
			
		||||
 | 
			
		||||
- use exact matching of allowed domain entries, issue #489 (#493)
 | 
			
		||||
	- this changes fixes [security] Authorization Bypass Through User-Controlled Key
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								vendor/github.com/emicklei/go-restful/v3/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/emicklei/go-restful/v3/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -79,7 +79,7 @@ func (u UserResource) findUser(request *restful.Request, response *restful.Respo
 | 
			
		||||
- Content encoding (gzip,deflate) of request and response payloads
 | 
			
		||||
- Automatic responses on OPTIONS (using a filter)
 | 
			
		||||
- Automatic CORS request handling (using a filter)
 | 
			
		||||
- API declaration for Swagger UI ([go-restful-openapi](https://github.com/emicklei/go-restful-openapi), see [go-restful-swagger12](https://github.com/emicklei/go-restful-swagger12))
 | 
			
		||||
- API declaration for Swagger UI ([go-restful-openapi](https://github.com/emicklei/go-restful-openapi))
 | 
			
		||||
- Panic recovery to produce HTTP 500, customizable using RecoverHandler(...)
 | 
			
		||||
- Route errors produce HTTP 404/405/406/415 errors, customizable using ServiceErrorHandler(...)
 | 
			
		||||
- Configurable (trace) logging
 | 
			
		||||
@@ -96,6 +96,7 @@ There are several hooks to customize the behavior of the go-restful package.
 | 
			
		||||
- Compression
 | 
			
		||||
- Encoders for other serializers
 | 
			
		||||
- Use [jsoniter](https://github.com/json-iterator/go) by building this package using a build tag, e.g. `go build -tags=jsoniter .` 
 | 
			
		||||
- Use the package variable `TrimRightSlashEnabled` (default true) to control the behavior of matching routes that end with a slash `/` 
 | 
			
		||||
 | 
			
		||||
## Resources
 | 
			
		||||
 | 
			
		||||
@@ -108,4 +109,4 @@ There are several hooks to customize the behavior of the go-restful package.
 | 
			
		||||
 | 
			
		||||
Type ```git shortlog -s``` for a full list of contributors.
 | 
			
		||||
 | 
			
		||||
© 2012 - 2022, http://ernestmicklei.com. MIT License. Contributions are welcome.
 | 
			
		||||
© 2012 - 2023, http://ernestmicklei.com. MIT License. Contributions are welcome.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/emicklei/go-restful/v3/constants.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/emicklei/go-restful/v3/constants.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,12 +7,14 @@ package restful
 | 
			
		||||
const (
 | 
			
		||||
	MIME_XML   = "application/xml"          // Accept or Content-Type used in Consumes() and/or Produces()
 | 
			
		||||
	MIME_JSON  = "application/json"         // Accept or Content-Type used in Consumes() and/or Produces()
 | 
			
		||||
	MIME_ZIP   = "application/zip"          // Accept or Content-Type used in Consumes() and/or Produces()
 | 
			
		||||
	MIME_OCTET = "application/octet-stream" // If Content-Type is not present in request, use the default
 | 
			
		||||
 | 
			
		||||
	HEADER_Allow                         = "Allow"
 | 
			
		||||
	HEADER_Accept                        = "Accept"
 | 
			
		||||
	HEADER_Origin                        = "Origin"
 | 
			
		||||
	HEADER_ContentType                   = "Content-Type"
 | 
			
		||||
	HEADER_ContentDisposition            = "Content-Disposition"
 | 
			
		||||
	HEADER_LastModified                  = "Last-Modified"
 | 
			
		||||
	HEADER_AcceptEncoding                = "Accept-Encoding"
 | 
			
		||||
	HEADER_ContentEncoding               = "Content-Encoding"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								vendor/github.com/emicklei/go-restful/v3/request.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/emicklei/go-restful/v3/request.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -31,7 +31,8 @@ func NewRequest(httpRequest *http.Request) *Request {
 | 
			
		||||
// a "Unable to unmarshal content of type:" response is returned.
 | 
			
		||||
// Valid values are restful.MIME_JSON and restful.MIME_XML
 | 
			
		||||
// Example:
 | 
			
		||||
// 	restful.DefaultRequestContentType(restful.MIME_JSON)
 | 
			
		||||
//
 | 
			
		||||
//	restful.DefaultRequestContentType(restful.MIME_JSON)
 | 
			
		||||
func DefaultRequestContentType(mime string) {
 | 
			
		||||
	defaultRequestContentType = mime
 | 
			
		||||
}
 | 
			
		||||
@@ -48,7 +49,7 @@ func (r *Request) PathParameters() map[string]string {
 | 
			
		||||
 | 
			
		||||
// QueryParameter returns the (first) Query parameter value by its name
 | 
			
		||||
func (r *Request) QueryParameter(name string) string {
 | 
			
		||||
	return r.Request.FormValue(name)
 | 
			
		||||
	return r.Request.URL.Query().Get(name)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// QueryParameters returns the all the query parameters values by name
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								vendor/github.com/emicklei/go-restful/v3/response.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/emicklei/go-restful/v3/response.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -109,6 +109,9 @@ func (r *Response) EntityWriter() (EntityReaderWriter, bool) {
 | 
			
		||||
		if DefaultResponseMimeType == MIME_XML {
 | 
			
		||||
			return entityAccessRegistry.accessorAt(MIME_XML)
 | 
			
		||||
		}
 | 
			
		||||
		if DefaultResponseMimeType == MIME_ZIP {
 | 
			
		||||
			return entityAccessRegistry.accessorAt(MIME_ZIP)
 | 
			
		||||
		}
 | 
			
		||||
		// Fallback to whatever the route says it can produce.
 | 
			
		||||
		// https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
 | 
			
		||||
		for _, each := range r.routeProduces {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								vendor/github.com/emicklei/go-restful/v3/route.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/emicklei/go-restful/v3/route.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -40,7 +40,8 @@ type Route struct {
 | 
			
		||||
	ParameterDocs           []*Parameter
 | 
			
		||||
	ResponseErrors          map[int]ResponseError
 | 
			
		||||
	DefaultResponse         *ResponseError
 | 
			
		||||
	ReadSample, WriteSample interface{} // structs that model an example request or response payload
 | 
			
		||||
	ReadSample, WriteSample interface{}   // structs that model an example request or response payload
 | 
			
		||||
	WriteSamples            []interface{} // if more than one return types is possible (oneof) then this will contain multiple values
 | 
			
		||||
 | 
			
		||||
	// Extra information used to store custom information about the route.
 | 
			
		||||
	Metadata map[string]interface{}
 | 
			
		||||
@@ -164,7 +165,13 @@ func tokenizePath(path string) []string {
 | 
			
		||||
	if "/" == path {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	return strings.Split(strings.Trim(path, "/"), "/")
 | 
			
		||||
	if TrimRightSlashEnabled {
 | 
			
		||||
		// 3.9.0
 | 
			
		||||
		return strings.Split(strings.Trim(path, "/"), "/")
 | 
			
		||||
	} else {
 | 
			
		||||
		// 3.10.2
 | 
			
		||||
		return strings.Split(strings.TrimLeft(path, "/"), "/")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// for debugging
 | 
			
		||||
@@ -176,3 +183,9 @@ func (r *Route) String() string {
 | 
			
		||||
func (r *Route) EnableContentEncoding(enabled bool) {
 | 
			
		||||
	r.contentEncodingEnabled = &enabled
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TrimRightSlashEnabled controls whether
 | 
			
		||||
// - path on route building is using path.Join
 | 
			
		||||
// - the path of the incoming request is trimmed of its slash suffux.
 | 
			
		||||
// Value of true matches the behavior of <= 3.9.0
 | 
			
		||||
var TrimRightSlashEnabled = true
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										55
									
								
								vendor/github.com/emicklei/go-restful/v3/route_builder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										55
									
								
								vendor/github.com/emicklei/go-restful/v3/route_builder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,6 +7,7 @@ package restful
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path"
 | 
			
		||||
	"reflect"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"strings"
 | 
			
		||||
@@ -30,27 +31,29 @@ type RouteBuilder struct {
 | 
			
		||||
	typeNameHandleFunc TypeNameHandleFunction // required
 | 
			
		||||
 | 
			
		||||
	// documentation
 | 
			
		||||
	doc                     string
 | 
			
		||||
	notes                   string
 | 
			
		||||
	operation               string
 | 
			
		||||
	readSample, writeSample interface{}
 | 
			
		||||
	parameters              []*Parameter
 | 
			
		||||
	errorMap                map[int]ResponseError
 | 
			
		||||
	defaultResponse         *ResponseError
 | 
			
		||||
	metadata                map[string]interface{}
 | 
			
		||||
	extensions              map[string]interface{}
 | 
			
		||||
	deprecated              bool
 | 
			
		||||
	contentEncodingEnabled  *bool
 | 
			
		||||
	doc                    string
 | 
			
		||||
	notes                  string
 | 
			
		||||
	operation              string
 | 
			
		||||
	readSample             interface{}
 | 
			
		||||
	writeSamples           []interface{}
 | 
			
		||||
	parameters             []*Parameter
 | 
			
		||||
	errorMap               map[int]ResponseError
 | 
			
		||||
	defaultResponse        *ResponseError
 | 
			
		||||
	metadata               map[string]interface{}
 | 
			
		||||
	extensions             map[string]interface{}
 | 
			
		||||
	deprecated             bool
 | 
			
		||||
	contentEncodingEnabled *bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Do evaluates each argument with the RouteBuilder itself.
 | 
			
		||||
// This allows you to follow DRY principles without breaking the fluent programming style.
 | 
			
		||||
// Example:
 | 
			
		||||
// 		ws.Route(ws.DELETE("/{name}").To(t.deletePerson).Do(Returns200, Returns500))
 | 
			
		||||
//
 | 
			
		||||
//		func Returns500(b *RouteBuilder) {
 | 
			
		||||
//			b.Returns(500, "Internal Server Error", restful.ServiceError{})
 | 
			
		||||
//		}
 | 
			
		||||
//	ws.Route(ws.DELETE("/{name}").To(t.deletePerson).Do(Returns200, Returns500))
 | 
			
		||||
//
 | 
			
		||||
//	func Returns500(b *RouteBuilder) {
 | 
			
		||||
//		b.Returns(500, "Internal Server Error", restful.ServiceError{})
 | 
			
		||||
//	}
 | 
			
		||||
func (b *RouteBuilder) Do(oneArgBlocks ...func(*RouteBuilder)) *RouteBuilder {
 | 
			
		||||
	for _, each := range oneArgBlocks {
 | 
			
		||||
		each(b)
 | 
			
		||||
@@ -133,9 +136,9 @@ func (b RouteBuilder) ParameterNamed(name string) (p *Parameter) {
 | 
			
		||||
	return p
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Writes tells what resource type will be written as the response payload. Optional.
 | 
			
		||||
func (b *RouteBuilder) Writes(sample interface{}) *RouteBuilder {
 | 
			
		||||
	b.writeSample = sample
 | 
			
		||||
// Writes tells which one of the resource types will be written as the response payload. Optional.
 | 
			
		||||
func (b *RouteBuilder) Writes(samples ...interface{}) *RouteBuilder {
 | 
			
		||||
	b.writeSamples = samples // oneof
 | 
			
		||||
	return b
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -340,19 +343,29 @@ func (b *RouteBuilder) Build() Route {
 | 
			
		||||
		ResponseErrors:                   b.errorMap,
 | 
			
		||||
		DefaultResponse:                  b.defaultResponse,
 | 
			
		||||
		ReadSample:                       b.readSample,
 | 
			
		||||
		WriteSample:                      b.writeSample,
 | 
			
		||||
		WriteSamples:                     b.writeSamples,
 | 
			
		||||
		Metadata:                         b.metadata,
 | 
			
		||||
		Deprecated:                       b.deprecated,
 | 
			
		||||
		contentEncodingEnabled:           b.contentEncodingEnabled,
 | 
			
		||||
		allowedMethodsWithoutContentType: b.allowedMethodsWithoutContentType,
 | 
			
		||||
	}
 | 
			
		||||
	// set WriteSample if one specified
 | 
			
		||||
	if len(b.writeSamples) == 1 {
 | 
			
		||||
		route.WriteSample = b.writeSamples[0]
 | 
			
		||||
	}
 | 
			
		||||
	route.Extensions = b.extensions
 | 
			
		||||
	route.postBuild()
 | 
			
		||||
	return route
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func concatPath(path1, path2 string) string {
 | 
			
		||||
	return strings.TrimRight(path1, "/") + "/" + strings.TrimLeft(path2, "/")
 | 
			
		||||
// merge two paths using the current (package global) merge path strategy.
 | 
			
		||||
func concatPath(rootPath, routePath string) string {
 | 
			
		||||
 | 
			
		||||
	if TrimRightSlashEnabled {
 | 
			
		||||
		return strings.TrimRight(rootPath, "/") + "/" + strings.TrimLeft(routePath, "/")
 | 
			
		||||
	} else {
 | 
			
		||||
		return path.Join(rootPath, routePath)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var anonymousFuncCount int32
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user