buildFlags builds the flag data and build function for an endpoint.
(svc *ServiceData, e *EndpointData)
| 196 | |
| 197 | // buildFlags builds the flag data and build function for an endpoint. |
| 198 | func buildFlags(svc *ServiceData, e *EndpointData) ([]*cli.FlagData, *cli.BuildFunctionData) { |
| 199 | var ( |
| 200 | flags []*cli.FlagData |
| 201 | buildFunction *cli.BuildFunctionData |
| 202 | ) |
| 203 | |
| 204 | svcn := svc.Service.Name |
| 205 | en := e.Method.Name |
| 206 | if e.Payload != nil { |
| 207 | if e.Payload.Request.PayloadInit != nil { |
| 208 | args := e.Payload.Request.PayloadInit.ClientArgs |
| 209 | args = append(args, e.Payload.Request.PayloadInit.CLIArgs...) |
| 210 | flags, buildFunction = makeFlags(e, args, e.Payload.Request.PayloadType) |
| 211 | } else if e.Payload.Ref != "" { |
| 212 | flags = append(flags, cli.NewFlagData(svcn, en, "p", e.Method.PayloadRef, e.Method.PayloadDesc, true, e.Method.PayloadEx, e.Method.PayloadDefault)) |
| 213 | } |
| 214 | } |
| 215 | if e.Method.SkipRequestBodyEncodeDecode { |
| 216 | flags = append(flags, streamFlag(svcn, en)) |
| 217 | } |
| 218 | |
| 219 | return flags, buildFunction |
| 220 | } |
| 221 | |
| 222 | // makeFlags creates flag data and build function from endpoint arguments. |
| 223 | func makeFlags(e *EndpointData, args []*InitArgData, payload expr.DataType) ([]*cli.FlagData, *cli.BuildFunctionData) { |
no test coverage detected