client

package
v0.25.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusCompleted = "completed"
)

Variables

View Source
var ErrTokenNotRefreshable = errors.New("token source cannot be refreshed")

ErrTokenNotRefreshable reports that the active token source yields a fixed string, so retrying after a 401 cannot produce a different token.

Functions

func GetGitHubID added in v0.9.15

func GetGitHubID(ctx context.Context, githubOwner string) (string, error)

func HandleError

func HandleError(resp *http.Response) error

HandleError reads an HTTP error response and returns a structured *APIError.

func Int added in v0.9.2

func Int(value int) *int

func NewRefreshingHTTPClient added in v0.20.0

func NewRefreshingHTTPClient(nullifyHost string, tokenProvider, refreshProvider TokenProvider) (*http.Client, error)

NewRefreshingHTTPClient returns an *http.Client whose transport injects a Nullify bearer token (refreshed on a TTL) and retries transient failures. It is suitable for driving the generated api.Client in long-running processes like the MCP server, where a token fetched at startup would otherwise expire. refreshProvider is used to recover from a 401 and must bypass any cached expiry; passing tokenProvider for both makes the 401 retry a no-op.

func NewRetryTransport added in v0.13.0

func NewRetryTransport(transport http.RoundTripper) http.RoundTripper

NewRetryTransport wraps the given transport with retry logic for 429 and 5xx errors.

func String added in v0.9.2

func String(value string) *string

Types

type APIError added in v0.12.0

type APIError = apierror.APIError

APIError is an alias for apierror.APIError for backwards compatibility.

type DASTCreateExternalScanInput added in v0.7.0

type DASTCreateExternalScanInput struct {
	AppName string `json:"appName"`

	Progress  *int       `json:"progress"`
	Status    *string    `json:"status"`
	StartTime *time.Time `json:"startTime"`
	EndTime   *time.Time `json:"endTime"`

	models.RequestProvider
	models.RequestDashboardTarget
}

type DASTCreateExternalScanOutput added in v0.7.0

type DASTCreateExternalScanOutput struct {
	ScanID string `json:"scanId"`
}

type DASTStartCloudScanInput added in v0.4.0

type DASTStartCloudScanInput struct {
	AppName     string            `json:"appName"`
	TargetHost  string            `json:"targetHost"`
	OpenAPISpec map[string]any    `json:"openAPISpec"`
	AuthConfig  models.AuthConfig `json:"authConfig"`

	models.RequestProvider
	models.RequestDashboardTarget
}

type DASTStartCloudScanOutput added in v0.7.0

type DASTStartCloudScanOutput struct {
	ScanID string `json:"scanId"`
}

type DASTUpdateExternalScanInput added in v0.7.0

type DASTUpdateExternalScanInput struct {
	Progress *int                 `json:"progress"`
	Status   *string              `json:"status"`
	Findings []models.DASTFinding `json:"findings"`

	*models.RequestDashboardTarget
}

type HTTPClient added in v0.12.0

type HTTPClient interface {
	Do(req *http.Request) (*http.Response, error)
}

HTTPClient defines the interface for making HTTP requests.

type NullifyClient added in v0.4.0

type NullifyClient struct {
	Host       string
	BaseURL    string
	Token      string
	HttpClient HTTPClient
}

NullifyClient wraps an HTTP client configured for the Nullify API.

func NewNullifyClient added in v0.4.0

func NewNullifyClient(nullifyHost string, token string) *NullifyClient

NewNullifyClient creates a client for the given host with bearer token auth.

func NewRefreshingNullifyClient added in v0.13.0

func NewRefreshingNullifyClient(nullifyHost string, tokenProvider, refreshProvider TokenProvider) (*NullifyClient, error)

NewRefreshingNullifyClient creates a NullifyClient that automatically refreshes its auth token, suitable for long-running processes like MCP servers.

func (*NullifyClient) DASTCreateExternalScan added in v0.7.0

func (c *NullifyClient) DASTCreateExternalScan(
	ctx context.Context,
	githubOwner string,
	input *DASTCreateExternalScanInput,
) (*DASTCreateExternalScanOutput, error)

func (*NullifyClient) DASTStartCloudScan added in v0.4.0

func (c *NullifyClient) DASTStartCloudScan(
	ctx context.Context,
	githubOwner string,
	input *DASTStartCloudScanInput,
) (*DASTStartCloudScanOutput, error)

func (*NullifyClient) DASTUpdateExternalScan added in v0.7.0

func (c *NullifyClient) DASTUpdateExternalScan(
	ctx context.Context,
	githubOwner string,
	githubRepository string,
	scanID string,
	input *DASTUpdateExternalScanInput,
) error

type TokenProvider added in v0.13.0

type TokenProvider func() (string, error)

TokenProvider is a function that returns a valid token.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL