Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Check = hxcheckdef.NewCheck(Def, func(ctx context.Context, _ harnessx.Target, store harnessx.ResultStore) (harnessx.Result, error) { resources := store.Resources() if len(resources) == 0 { return harnessx.Result{Skipped: true, SkipReason: "no resources"}, nil } op, ok := harnessx.ResourceDataAs[*operation.Operation](resources[0]) if !ok { return harnessx.Result{Err: errors.New("introspection_enabled: resource missing *operation.Operation")}, nil } securityScheme := op.GetSecurityScheme() securitySchemes := []*auth.SecurityScheme{securityScheme} newRequest, err := newPostGraphqlIntrospectionRequest(ctx, op.URL) if err != nil { return harnessx.Result{}, err } newOperation, err := operation.NewOperationFromHTTPRequest(newRequest) if err != nil { return harnessx.Result{}, err } newOperation.SetSecuritySchemes(securitySchemes) attempt, err := finding.Fetch(ctx, newOperation, securityScheme) if err != nil { return harnessx.Result{}, err } if introspectionSucceeded(attempt) { return harnessx.Result{Data: &finding.Finding{Operation: op, Attempt: attempt}}, nil } newRequest, err = newGetGraphqlIntrospectionRequest(ctx, op.URL) if err != nil { return harnessx.Result{}, err } newOperation, err = operation.NewOperationFromHTTPRequest(newRequest) if err != nil { return harnessx.Result{}, err } newOperation.SetSecuritySchemes(securitySchemes) attempt, err = finding.Fetch(ctx, newOperation, securityScheme) if err != nil { return harnessx.Result{}, err } if introspectionSucceeded(attempt) { return harnessx.Result{Data: &finding.Finding{Operation: op, Attempt: attempt}}, nil } return harnessx.Result{}, nil })
View Source
var Def = hxcheckdef.MustParseCheckDefYAML("introspection_enabled", checkYAML)
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.