MCPcopy Create free account
hub / github.com/goadesign/goa / buildFlags

Function buildFlags

http/codegen/client_cli.go:198–220  ·  view source on GitHub ↗

buildFlags builds the flag data and build function for an endpoint.

(svc *ServiceData, e *EndpointData)

Source from the content-addressed store, hash-verified

196
197// buildFlags builds the flag data and build function for an endpoint.
198func 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.
223func makeFlags(e *EndpointData, args []*InitArgData, payload expr.DataType) ([]*cli.FlagData, *cli.BuildFunctionData) {

Callers 1

buildSubcommandDataFunction · 0.70

Calls 3

NewFlagDataFunction · 0.92
streamFlagFunction · 0.85
makeFlagsFunction · 0.70

Tested by

no test coverage detected