k8s.io/kube-openapi@v0.0.0-20240228011516-70dd3763d340/pkg/common/restfuladapter/route_adapter.go (about) 1 package restfuladapter 2 3 import ( 4 "github.com/emicklei/go-restful/v3" 5 "k8s.io/kube-openapi/pkg/common" 6 ) 7 8 var _ common.Route = &RouteAdapter{} 9 10 // RouteAdapter adapts a restful.Route to common.Route. 11 type RouteAdapter struct { 12 Route *restful.Route 13 } 14 15 func (r *RouteAdapter) StatusCodeResponses() []common.StatusCodeResponse { 16 // go-restful uses the ResponseErrors field to contain both error and regular responses. 17 var responses []common.StatusCodeResponse 18 for _, res := range r.Route.ResponseErrors { 19 localRes := res 20 responses = append(responses, &ResponseErrorAdapter{&localRes}) 21 } 22 23 return responses 24 } 25 26 func (r *RouteAdapter) OperationName() string { 27 return r.Route.Operation 28 } 29 30 func (r *RouteAdapter) Method() string { 31 return r.Route.Method 32 } 33 34 func (r *RouteAdapter) Path() string { 35 return r.Route.Path 36 } 37 38 func (r *RouteAdapter) Parameters() []common.Parameter { 39 var params []common.Parameter 40 for _, rParam := range r.Route.ParameterDocs { 41 params = append(params, &ParamAdapter{rParam}) 42 } 43 return params 44 } 45 46 func (r *RouteAdapter) Description() string { 47 return r.Route.Doc 48 } 49 50 func (r *RouteAdapter) Consumes() []string { 51 return r.Route.Consumes 52 } 53 54 func (r *RouteAdapter) Produces() []string { 55 return r.Route.Produces 56 } 57 58 func (r *RouteAdapter) Metadata() map[string]interface{} { 59 return r.Route.Metadata 60 } 61 62 func (r *RouteAdapter) RequestPayloadSample() interface{} { 63 return r.Route.ReadSample 64 } 65 66 func (r *RouteAdapter) ResponsePayloadSample() interface{} { 67 return r.Route.WriteSample 68 }