routeusagev1

package
v0.1.0-rc.29 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package routeusagev1 provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Handler

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux

func HandlerFromMux(si ServerInterface, m ServeMux) http.Handler

HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.

func HandlerFromMuxWithBaseURL

func HandlerFromMuxWithBaseURL(si ServerInterface, m ServeMux, baseURL string) http.Handler

func HandlerWithOptions

func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.Handler

HandlerWithOptions creates http.Handler with additional options

func NewIngestRouteUsageBucketReportsRequest

func NewIngestRouteUsageBucketReportsRequest(server string, body IngestRouteUsageBucketReportsJSONRequestBody) (*http.Request, error)

NewIngestRouteUsageBucketReportsRequest calls the generic IngestRouteUsageBucketReports builder with application/json body

func NewIngestRouteUsageBucketReportsRequestWithBody

func NewIngestRouteUsageBucketReportsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)

NewIngestRouteUsageBucketReportsRequestWithBody constructs an http.Request for the IngestRouteUsageBucketReports method, with any body, and a specified content type

Types

type BatchProblemCode

type BatchProblemCode string

BatchProblemCode defines model for BatchProblemCode.

const (
	BatchProblemCodeIdempotencyConflict BatchProblemCode = "idempotency_conflict"
	BatchProblemCodeInternal            BatchProblemCode = "internal"
	BatchProblemCodeInvalidArgument     BatchProblemCode = "invalid_argument"
	BatchProblemCodeNotFound            BatchProblemCode = "not_found"
	BatchProblemCodeStatusConflict      BatchProblemCode = "status_conflict"
)

Defines values for BatchProblemCode.

func (BatchProblemCode) Valid

func (e BatchProblemCode) Valid() bool

Valid indicates whether the value is a known member of the BatchProblemCode enum.

type BatchResult

type BatchResult struct {
	Accepted bool              `json:"accepted"`
	Code     *BatchProblemCode `json:"code,omitempty"`
	ItemId   string            `json:"item_id"`
}

BatchResult defines model for BatchResult.

type Client

type Client struct {
	// The endpoint of the server conforming to this interface, with scheme,
	// https://api.deepmap.com for example. This can contain a path relative
	// to the server, such as https://api.deepmap.com/dev-test, and all the
	// paths in the swagger spec will be appended to the server.
	Server string

	// Doer for performing requests, typically a *http.Client with any
	// customized settings, such as certificate chains.
	Client HttpRequestDoer

	// A list of callbacks for modifying requests which are generated before sending over
	// the network.
	RequestEditors []RequestEditorFn
}

Client which conforms to the OpenAPI3 specification for this service.

func NewClient

func NewClient(server string, opts ...ClientOption) (*Client, error)

Creates a new Client, with reasonable defaults

func (*Client) IngestRouteUsageBucketReports

func (c *Client) IngestRouteUsageBucketReports(ctx context.Context, body IngestRouteUsageBucketReportsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

IngestRouteUsageBucketReports Ingest route usage bucket reports

Takes a body of the `application/json` content type.

Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).

func (*Client) IngestRouteUsageBucketReportsWithBody

func (c *Client) IngestRouteUsageBucketReportsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

IngestRouteUsageBucketReportsWithBody Ingest route usage bucket reports

Takes any type of body and a specified content type.

Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).

type ClientInterface

type ClientInterface interface {

	// IngestRouteUsageBucketReportsWithBody Ingest route usage bucket reports
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).
	IngestRouteUsageBucketReportsWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// IngestRouteUsageBucketReports Ingest route usage bucket reports
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).
	IngestRouteUsageBucketReports(ctx context.Context, body IngestRouteUsageBucketReportsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
}

The interface specification for the client above.

type ClientOption

type ClientOption func(*Client) error

ClientOption allows setting custom parameters during construction

func WithBaseURL

func WithBaseURL(baseURL string) ClientOption

WithBaseURL overrides the baseURL.

func WithHTTPClient

func WithHTTPClient(doer HttpRequestDoer) ClientOption

WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.

func WithRequestEditorFn

func WithRequestEditorFn(fn RequestEditorFn) ClientOption

WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.

type ClientWithResponses

type ClientWithResponses struct {
	ClientInterface
}

ClientWithResponses builds on ClientInterface to offer response payloads

func NewClientWithResponses

func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error)

NewClientWithResponses creates a new ClientWithResponses, which wraps Client with return type handling

func (*ClientWithResponses) IngestRouteUsageBucketReportsWithBodyWithResponse

func (c *ClientWithResponses) IngestRouteUsageBucketReportsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*IngestRouteUsageBucketReportsResponse, error)

IngestRouteUsageBucketReportsWithBodyWithResponse Ingest route usage bucket reports

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).

func (*ClientWithResponses) IngestRouteUsageBucketReportsWithResponse

func (c *ClientWithResponses) IngestRouteUsageBucketReportsWithResponse(ctx context.Context, body IngestRouteUsageBucketReportsJSONRequestBody, reqEditors ...RequestEditorFn) (*IngestRouteUsageBucketReportsResponse, error)

IngestRouteUsageBucketReportsWithResponse Ingest route usage bucket reports

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).

type ClientWithResponsesInterface

type ClientWithResponsesInterface interface {

	// IngestRouteUsageBucketReportsWithBodyWithResponse Ingest route usage bucket reports
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).
	IngestRouteUsageBucketReportsWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*IngestRouteUsageBucketReportsResponse, error)

	// IngestRouteUsageBucketReportsWithResponse Ingest route usage bucket reports
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /v1/routes/usage-bucket-reports (the `IngestRouteUsageBucketReports` operationId).
	IngestRouteUsageBucketReportsWithResponse(ctx context.Context, body IngestRouteUsageBucketReportsJSONRequestBody, reqEditors ...RequestEditorFn) (*IngestRouteUsageBucketReportsResponse, error)
}

ClientWithResponsesInterface is the interface specification for the client with responses above.

type DurationHistogram

type DurationHistogram struct {
	Count            PositiveInteger   `json:"count"`
	CumulativeCounts []UnsignedInteger `json:"cumulative_counts"`
	SumNanoseconds   UnsignedInteger   `json:"sum_nanoseconds"`
}

DurationHistogram A cumulative duration histogram. cumulative_counts contains these fixed inclusive upper bounds, in order: 1ms, 5ms, 10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2.5s, 5s, 10s, 30s, 1m, 5m, 15m, 1h, 6h, 24h, 3d, 7d, and +Inf.

type HttpRequestDoer

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

Doer performs HTTP requests.

The standard http.Client implements this interface.

type IdentityID

type IdentityID = ResourceID

IdentityID defines model for IdentityID.

type IngestRouteUsageBucketReportsJSONRequestBody

type IngestRouteUsageBucketReportsJSONRequestBody = RouteUsageBucketReportBatch

IngestRouteUsageBucketReportsJSONRequestBody defines body for IngestRouteUsageBucketReports for application/json ContentType.

type IngestRouteUsageBucketReportsResponse

type IngestRouteUsageBucketReportsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RouteUsageBucketReportBatchResponse
	// ApplicationproblemJSON400 the response for an HTTP 400 `application/problem+json` response
	ApplicationproblemJSON400 *Problem
	// ApplicationproblemJSON401 the response for an HTTP 401 `application/problem+json` response
	ApplicationproblemJSON401 *Problem
	// ApplicationproblemJSON404 the response for an HTTP 404 `application/problem+json` response
	ApplicationproblemJSON404 *Problem
	// ApplicationproblemJSON409 the response for an HTTP 409 `application/problem+json` response
	ApplicationproblemJSON409 *Problem
	// ApplicationproblemJSON413 the response for an HTTP 413 `application/problem+json` response
	ApplicationproblemJSON413 *Problem
	// ApplicationproblemJSON415 the response for an HTTP 415 `application/problem+json` response
	ApplicationproblemJSON415 *Problem
	// ApplicationproblemJSONDefault the response for an HTTP default `application/problem+json` response
	ApplicationproblemJSONDefault *Problem
}

func ParseIngestRouteUsageBucketReportsResponse

func ParseIngestRouteUsageBucketReportsResponse(rsp *http.Response) (*IngestRouteUsageBucketReportsResponse, error)

ParseIngestRouteUsageBucketReportsResponse parses an HTTP response from a IngestRouteUsageBucketReportsWithResponse call

func (IngestRouteUsageBucketReportsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON400

func (r IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON400() *Problem

GetApplicationproblemJSON400 returns the response for an HTTP 400 `application/problem+json` response

func (IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON401

func (r IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON401() *Problem

GetApplicationproblemJSON401 returns the response for an HTTP 401 `application/problem+json` response

func (IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON404

func (r IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON404() *Problem

GetApplicationproblemJSON404 returns the response for an HTTP 404 `application/problem+json` response

func (IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON409

func (r IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON409() *Problem

GetApplicationproblemJSON409 returns the response for an HTTP 409 `application/problem+json` response

func (IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON413

func (r IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON413() *Problem

GetApplicationproblemJSON413 returns the response for an HTTP 413 `application/problem+json` response

func (IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON415

func (r IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSON415() *Problem

GetApplicationproblemJSON415 returns the response for an HTTP 415 `application/problem+json` response

func (IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSONDefault

func (r IngestRouteUsageBucketReportsResponse) GetApplicationproblemJSONDefault() *Problem

GetApplicationproblemJSONDefault returns the response for an HTTP default `application/problem+json` response

func (IngestRouteUsageBucketReportsResponse) GetBody

GetBody returns the raw response body bytes

func (IngestRouteUsageBucketReportsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (IngestRouteUsageBucketReportsResponse) Status

Status returns HTTPResponse.Status

func (IngestRouteUsageBucketReportsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type InvalidParamFormatError

type InvalidParamFormatError struct {
	ParamName string
	Err       error
}

func (*InvalidParamFormatError) Error

func (e *InvalidParamFormatError) Error() string

func (*InvalidParamFormatError) Unwrap

func (e *InvalidParamFormatError) Unwrap() error

type MiddlewareFunc

type MiddlewareFunc func(http.Handler) http.Handler

type PositiveInteger

type PositiveInteger = string

PositiveInteger defines model for PositiveInteger.

type Problem

type Problem struct {
	Code      ProblemCode            `json:"code"`
	Details   map[string]interface{} `json:"details"`
	RequestId string                 `json:"request_id"`
	Status    int                    `json:"status"`
	Title     string                 `json:"title"`
	Type      string                 `json:"type"`
}

Problem defines model for Problem.

type ProblemCode

type ProblemCode string

ProblemCode defines model for Problem.Code.

const (
	ProblemCodeIdempotencyConflict    ProblemCode = "idempotency_conflict"
	ProblemCodeInternal               ProblemCode = "internal"
	ProblemCodeInvalidArgument        ProblemCode = "invalid_argument"
	ProblemCodeNotFound               ProblemCode = "not_found"
	ProblemCodeStatusConflict         ProblemCode = "status_conflict"
	ProblemCodeTemporarilyUnavailable ProblemCode = "temporarily_unavailable"
	ProblemCodeUnauthenticated        ProblemCode = "unauthenticated"
)

Defines values for ProblemCode.

func (ProblemCode) Valid

func (e ProblemCode) Valid() bool

Valid indicates whether the value is a known member of the ProblemCode enum.

type RequestEditorFn

type RequestEditorFn func(ctx context.Context, req *http.Request) error

RequestEditorFn is the function signature for the RequestEditor callback function

type RequiredHeaderError

type RequiredHeaderError struct {
	ParamName string
	Err       error
}

func (*RequiredHeaderError) Error

func (e *RequiredHeaderError) Error() string

func (*RequiredHeaderError) Unwrap

func (e *RequiredHeaderError) Unwrap() error

type RequiredParamError

type RequiredParamError struct {
	ParamName string
}

func (*RequiredParamError) Error

func (e *RequiredParamError) Error() string

type ResourceID

type ResourceID = string

ResourceID defines model for ResourceID.

type RouteID

type RouteID = ResourceID

RouteID defines model for RouteID.

type RouteUsageBucketReport

type RouteUsageBucketReport struct {
	// ActingIdentityId Acting identity recorded when this route version was created.
	ActingIdentityId IdentityID `json:"acting_identity_id"`
	BucketStart      time.Time  `json:"bucket_start"`

	// CapacityDenials Matched attempts rejected by the route connection limit.
	CapacityDenials UnsignedInteger `json:"capacity_denials"`

	// Complete Whether accounting covers the entire bucket without a missing ingress report.
	Complete bool `json:"complete"`

	// ConnectionAttempts Connections counted after a route match and before policy and capacity checks.
	ConnectionAttempts UnsignedInteger `json:"connection_attempts"`

	// ConnectionNanoseconds Elapsed time for successful streams, divided among the buckets in which the time passed.
	ConnectionNanoseconds UnsignedInteger `json:"connection_nanoseconds"`

	// EgressBytes Bytes successfully forwarded from publishers to visitors.
	EgressBytes UnsignedInteger `json:"egress_bytes"`

	// IngressBytes Bytes successfully forwarded from visitors to publishers.
	IngressBytes UnsignedInteger `json:"ingress_bytes"`
	ItemId       string          `json:"item_id"`

	// ObservedThrough Latest time covered by this bucket. Equals the bucket end when complete is true.
	ObservedThrough time.Time `json:"observed_through"`

	// PolicyDenials Matched attempts rejected by route access policy.
	PolicyDenials  UnsignedInteger                  `json:"policy_denials"`
	ReportRevision PositiveInteger                  `json:"report_revision"`
	Resolution     RouteUsageBucketReportResolution `json:"resolution"`
	RouteId        RouteID                          `json:"route_id"`

	// RouteVersion Route version measured by this report.
	RouteVersion PositiveInteger `json:"route_version"`

	// SuccessfulConnectionDuration Total time for a successful visitor stream. The value is recorded when the stream closes. The field is absent, rather than zero, when the bucket has no observations.
	SuccessfulConnectionDuration *DurationHistogram `json:"successful_connection_duration,omitempty"`

	// SuccessfulStreams Visitor streams that entered bidirectional forwarding.
	SuccessfulStreams UnsignedInteger `json:"successful_streams"`

	// TeamId Team recorded when this route version was created.
	TeamId TeamID `json:"team_id"`

	// TimeToFirstPublisherByte Time from a route match until the first publisher byte reaches the visitor. The value is recorded when that byte is written. The field is absent, rather than zero, when the bucket has no observations.
	TimeToFirstPublisherByte *DurationHistogram `json:"time_to_first_publisher_byte,omitempty"`

	// VisitorNetworkEstimate Precision-12 HyperLogLog estimate of distinct visitor networks for this route and bucket. All route versions share the same sketch, so do not add estimates from reports for the same route and bucket.
	VisitorNetworkEstimate UnsignedInteger `json:"visitor_network_estimate"`

	// VisitorNetworkHll Versioned precision-12 HyperLogLog data. After base64 decoding, the bytes start with version 1, precision 12, and an encoding byte. Sparse encoding 0 then contains a big-endian uint16 entry count and sorted entries of a big-endian uint16 register index followed by a uint8 value. Dense encoding 1 contains 4096 uint8 registers. Inputs are visitor IPv4 /32 or IPv6 /64 networks HMACed with a route-scoped secret that changes daily. No source address is included. When combining reports, merge each register by its maximum value instead of adding estimates.
	VisitorNetworkHll []byte `json:"visitor_network_hll"`

	// VisitorStreamOpenFailures Attempts for which opening a visitor stream failed.
	VisitorStreamOpenFailures UnsignedInteger `json:"visitor_stream_open_failures"`

	// VisitorStreamOpenLatency Time taken to open a visitor stream, including failed attempts. The value is recorded when the attempt ends. The field is absent, rather than zero, when the bucket has no observations.
	VisitorStreamOpenLatency *DurationHistogram `json:"visitor_stream_open_latency,omitempty"`
}

RouteUsageBucketReport defines model for RouteUsageBucketReport.

type RouteUsageBucketReportBatch

type RouteUsageBucketReportBatch struct {
	Items []RouteUsageBucketReport `json:"items"`
}

RouteUsageBucketReportBatch defines model for RouteUsageBucketReportBatch.

type RouteUsageBucketReportBatchResponse

type RouteUsageBucketReportBatchResponse struct {
	Results []BatchResult `json:"results"`
}

RouteUsageBucketReportBatchResponse defines model for RouteUsageBucketReportBatchResponse.

type RouteUsageBucketReportResolution

type RouteUsageBucketReportResolution string

RouteUsageBucketReportResolution defines model for RouteUsageBucketReport.Resolution.

const (
	Hour   RouteUsageBucketReportResolution = "hour"
	Minute RouteUsageBucketReportResolution = "minute"
)

Defines values for RouteUsageBucketReportResolution.

func (RouteUsageBucketReportResolution) Valid

Valid indicates whether the value is a known member of the RouteUsageBucketReportResolution enum.

type ServeMux

type ServeMux interface {
	HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request))
	http.Handler
}

ServeMux is an abstraction of http.ServeMux.

type ServerInterface

type ServerInterface interface {
	// IngestRouteUsageBucketReports Ingest route usage bucket reports
	// (POST /v1/routes/usage-bucket-reports)
	IngestRouteUsageBucketReports(w http.ResponseWriter, r *http.Request)
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandlerFunc   func(w http.ResponseWriter, r *http.Request, err error)
}

ServerInterfaceWrapper converts contexts to parameters.

func (*ServerInterfaceWrapper) IngestRouteUsageBucketReports

func (siw *ServerInterfaceWrapper) IngestRouteUsageBucketReports(w http.ResponseWriter, r *http.Request)

IngestRouteUsageBucketReports operation middleware

type StdHTTPServerOptions

type StdHTTPServerOptions struct {
	BaseURL          string
	BaseRouter       ServeMux
	Middlewares      []MiddlewareFunc
	ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

type TeamID

type TeamID = ResourceID

TeamID defines model for TeamID.

type TooManyValuesForParamError

type TooManyValuesForParamError struct {
	ParamName string
	Count     int
}

func (*TooManyValuesForParamError) Error

type UnescapedCookieParamError

type UnescapedCookieParamError struct {
	ParamName string
	Err       error
}

func (*UnescapedCookieParamError) Error

func (e *UnescapedCookieParamError) Error() string

func (*UnescapedCookieParamError) Unwrap

func (e *UnescapedCookieParamError) Unwrap() error

type UnmarshalingParamError

type UnmarshalingParamError struct {
	ParamName string
	Err       error
}

func (*UnmarshalingParamError) Error

func (e *UnmarshalingParamError) Error() string

func (*UnmarshalingParamError) Unwrap

func (e *UnmarshalingParamError) Unwrap() error

type UnsignedInteger

type UnsignedInteger = string

UnsignedInteger defines model for UnsignedInteger.

Jump to

Keyboard shortcuts

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