MCPcopy
hub / github.com/cloudflare/cloudflared / buildURL

Function buildURL

cmd/cloudflared/tail/cmd.go:208–242  ·  view source on GitHub ↗

buildURL will build the management url to contain the required query parameters to authenticate the request.

(c *cli.Context, log *zerolog.Logger, res cfapi.ManagementResource)

Source from the content-addressed store, hash-verified

206
207// buildURL will build the management url to contain the required query parameters to authenticate the request.
208func buildURL(c *cli.Context, log *zerolog.Logger, res cfapi.ManagementResource) (url.URL, error) {
209 var err error
210
211 token := c.String("token")
212 if token == "" {
213 token, err = cliutil.GetManagementToken(c, log, res, buildInfo)
214 if err != nil {
215 return url.URL{}, fmt.Errorf("unable to acquire management token for requested tunnel id: %w", err)
216 }
217 }
218
219 claims, err := management.ParseToken(token)
220 if err != nil {
221 return url.URL{}, fmt.Errorf("failed to determine if token is FED: %w", err)
222 }
223
224 var managementHostname string
225 if claims.IsFed() {
226 managementHostname = credentials.FedRampHostname
227 } else {
228 managementHostname = c.String(cfdflags.ManagementHostname)
229 }
230
231 query := url.Values{}
232 query.Add("access_token", token)
233 connector := c.String("connector-id")
234 if connector != "" {
235 connectorID, err := uuid.Parse(connector)
236 if err != nil {
237 return url.URL{}, fmt.Errorf("unabled to parse 'connector-id' flag into a valid UUID: %w", err)
238 }
239 query.Add("connector_id", connectorID.String())
240 }
241 return url.URL{Scheme: "wss", Host: managementHostname, Path: "/logs", RawQuery: query.Encode()}, nil
242}
243
244func printLine(log *management.Log, logger *zerolog.Logger) {
245 fields, err := json.Marshal(log.Fields)

Callers 1

RunFunction · 0.85

Calls 7

GetManagementTokenFunction · 0.92
ParseTokenFunction · 0.92
ErrorfMethod · 0.80
IsFedMethod · 0.80
StringMethod · 0.65
AddMethod · 0.65
EncodeMethod · 0.45

Tested by

no test coverage detected