...
1 package restfuladapter
2
3 import (
4 "encoding/json"
5 "github.com/emicklei/go-restful/v3"
6 "k8s.io/kube-openapi/pkg/common"
7 )
8
9 var _ common.Parameter = &ParamAdapter{}
10
11 type ParamAdapter struct {
12 Param *restful.Parameter
13 }
14
15 func (r *ParamAdapter) MarshalJSON() ([]byte, error) {
16 return json.Marshal(r.Param)
17 }
18
19 func (r *ParamAdapter) Name() string {
20 return r.Param.Data().Name
21 }
22
23 func (r *ParamAdapter) Description() string {
24 return r.Param.Data().Description
25 }
26
27 func (r *ParamAdapter) Required() bool {
28 return r.Param.Data().Required
29 }
30
31 func (r *ParamAdapter) Kind() common.ParameterKind {
32 switch r.Param.Kind() {
33 case restful.PathParameterKind:
34 return common.PathParameterKind
35 case restful.QueryParameterKind:
36 return common.QueryParameterKind
37 case restful.BodyParameterKind:
38 return common.BodyParameterKind
39 case restful.HeaderParameterKind:
40 return common.HeaderParameterKind
41 case restful.FormParameterKind:
42 return common.FormParameterKind
43 default:
44 return common.UnknownParameterKind
45 }
46 }
47
48 func (r *ParamAdapter) DataType() string {
49 return r.Param.Data().DataType
50 }
51
52 func (r *ParamAdapter) AllowMultiple() bool {
53 return r.Param.Data().AllowMultiple
54 }
55
View as plain text