40 lines
675 B
Go
40 lines
675 B
Go
package main
|
|
|
|
import v3 "go.unistack.org/micro-proto/v4/openapiv3"
|
|
|
|
func getMediaType(eopt interface{}) string {
|
|
ctype := "application/json"
|
|
|
|
if eopt == nil {
|
|
return ctype
|
|
}
|
|
|
|
if eopt == v3.E_Openapiv3Operation.InterfaceOf(v3.E_Openapiv3Operation.Zero()) {
|
|
return ctype
|
|
}
|
|
|
|
opt, ok := eopt.(*v3.Operation)
|
|
if !ok || opt.RequestBody == nil {
|
|
return ctype
|
|
}
|
|
|
|
if opt.GetRequestBody() == nil {
|
|
return ctype
|
|
}
|
|
|
|
if opt.GetRequestBody().GetRequestBody() == nil {
|
|
return ctype
|
|
}
|
|
|
|
c := opt.GetRequestBody().GetRequestBody().GetContent()
|
|
if c == nil {
|
|
return ctype
|
|
}
|
|
|
|
for _, prop := range c.GetAdditionalProperties() {
|
|
ctype = prop.Name
|
|
}
|
|
|
|
return ctype
|
|
}
|