client

package
v0.43.0 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2024 License: Apache-2.0 Imports: 12 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildListPayload

func BuildListPayload(artifactListLimit string, artifactListPage string, artifactListFilter string, artifactListOrderBy string, artifactListOrderDesc string, artifactListAtTime string, artifactListJWT string) (*artifact.ListPayload, error)

BuildListPayload builds the payload for the artifact list endpoint from CLI flags.

func BuildReadPayload

func BuildReadPayload(artifactReadID string, artifactReadJWT string) (*artifact.ReadPayload, error)

BuildReadPayload builds the payload for the artifact read endpoint from CLI flags.

func BuildUploadPayload

func BuildUploadPayload(artifactUploadJWT string, artifactUploadContentType string, artifactUploadContentEncoding string, artifactUploadContentLength string, artifactUploadName string, artifactUploadCollection string, artifactUploadPolicy string, artifactUploadXContentType string, artifactUploadXContentLength string, artifactUploadUploadLength string, artifactUploadTusResumable string) (*artifact.UploadPayload, error)

BuildUploadPayload builds the payload for the artifact upload endpoint from CLI flags.

func BuildUploadStreamPayload

func BuildUploadStreamPayload(payload any, fpath string) (*artifact.UploadRequestData, error)

// BuildUploadStreamPayload creates a streaming endpoint request payload from the method payload and the path to the file to be streamed

func DecodeListResponse

func DecodeListResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeListResponse returns a decoder for responses returned by the artifact list endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeListResponse may return the following errors:

  • "bad-request" (type *artifact.BadRequestT): http.StatusBadRequest
  • "invalid-parameter" (type *artifact.InvalidParameterT): http.StatusUnprocessableEntity
  • "invalid-scopes" (type *artifact.InvalidScopesT): http.StatusForbidden
  • "not-implemented" (type *artifact.NotImplementedT): http.StatusNotImplemented
  • "not-available" (type *artifact.ServiceNotAvailableT): http.StatusServiceUnavailable
  • "not-authorized" (type *artifact.UnauthorizedT): http.StatusUnauthorized
  • error: internal error

func DecodeReadResponse

func DecodeReadResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeReadResponse returns a decoder for responses returned by the artifact read endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeReadResponse may return the following errors:

  • "bad-request" (type *artifact.BadRequestT): http.StatusBadRequest
  • "invalid-scopes" (type *artifact.InvalidScopesT): http.StatusForbidden
  • "not-implemented" (type *artifact.NotImplementedT): http.StatusNotImplemented
  • "not-found" (type *artifact.ResourceNotFoundT): http.StatusNotFound
  • "not-available" (type *artifact.ServiceNotAvailableT): http.StatusServiceUnavailable
  • "not-authorized" (type *artifact.UnauthorizedT): http.StatusUnauthorized
  • error: internal error

func DecodeUploadResponse

func DecodeUploadResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeUploadResponse returns a decoder for responses returned by the artifact upload endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeUploadResponse may return the following errors:

  • "bad-request" (type *artifact.BadRequestT): http.StatusBadRequest
  • "invalid-scopes" (type *artifact.InvalidScopesT): http.StatusForbidden
  • "not-implemented" (type *artifact.NotImplementedT): http.StatusNotImplemented
  • "not-available" (type *artifact.ServiceNotAvailableT): http.StatusServiceUnavailable
  • "not-authorized" (type *artifact.UnauthorizedT): http.StatusUnauthorized
  • error: internal error

func EncodeListRequest

func EncodeListRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeListRequest returns an encoder for requests sent to the artifact list server.

func EncodeReadRequest

func EncodeReadRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeReadRequest returns an encoder for requests sent to the artifact read server.

func EncodeUploadRequest

func EncodeUploadRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeUploadRequest returns an encoder for requests sent to the artifact upload server.

func ListArtifactPath

func ListArtifactPath() string

ListArtifactPath returns the URL path to the artifact service list HTTP endpoint.

func NewListArtifactListRTOK

func NewListArtifactListRTOK(body *ListResponseBody) *artifact.ArtifactListRT

NewListArtifactListRTOK builds a "artifact" service "list" endpoint result from a HTTP "OK" response.

func NewListBadRequest

func NewListBadRequest(body *ListBadRequestResponseBody) *artifact.BadRequestT

NewListBadRequest builds a artifact service list endpoint bad-request error.

func NewListInvalidParameter

func NewListInvalidParameter(body *ListInvalidParameterResponseBody) *artifact.InvalidParameterT

NewListInvalidParameter builds a artifact service list endpoint invalid-parameter error.

func NewListInvalidScopes

func NewListInvalidScopes(body *ListInvalidScopesResponseBody) *artifact.InvalidScopesT

NewListInvalidScopes builds a artifact service list endpoint invalid-scopes error.

func NewListNotAuthorized

func NewListNotAuthorized() *artifact.UnauthorizedT

NewListNotAuthorized builds a artifact service list endpoint not-authorized error.

func NewListNotAvailable added in v0.39.0

func NewListNotAvailable() *artifact.ServiceNotAvailableT

NewListNotAvailable builds a artifact service list endpoint not-available error.

func NewListNotImplemented

func NewListNotImplemented(body *ListNotImplementedResponseBody) *artifact.NotImplementedT

NewListNotImplemented builds a artifact service list endpoint not-implemented error.

func NewReadArtifactStatusRTCreated added in v0.42.1

func NewReadArtifactStatusRTCreated(body *ReadResponseBody) *artifact.ArtifactStatusRT

NewReadArtifactStatusRTCreated builds a "artifact" service "read" endpoint result from a HTTP "Created" response.

func NewReadBadRequest

func NewReadBadRequest(body *ReadBadRequestResponseBody) *artifact.BadRequestT

NewReadBadRequest builds a artifact service read endpoint bad-request error.

func NewReadInvalidScopes

func NewReadInvalidScopes(body *ReadInvalidScopesResponseBody) *artifact.InvalidScopesT

NewReadInvalidScopes builds a artifact service read endpoint invalid-scopes error.

func NewReadNotAuthorized

func NewReadNotAuthorized() *artifact.UnauthorizedT

NewReadNotAuthorized builds a artifact service read endpoint not-authorized error.

func NewReadNotAvailable added in v0.39.0

func NewReadNotAvailable() *artifact.ServiceNotAvailableT

NewReadNotAvailable builds a artifact service read endpoint not-available error.

func NewReadNotFound

func NewReadNotFound(body *ReadNotFoundResponseBody) *artifact.ResourceNotFoundT

NewReadNotFound builds a artifact service read endpoint not-found error.

func NewReadNotImplemented

func NewReadNotImplemented(body *ReadNotImplementedResponseBody) *artifact.NotImplementedT

NewReadNotImplemented builds a artifact service read endpoint not-implemented error.

func NewUploadArtifactUploadRTCreated added in v0.30.0

func NewUploadArtifactUploadRTCreated(body *UploadResponseBody, location string, tusResumable *string, tusOffset *int64) *artifact.ArtifactUploadRT

NewUploadArtifactUploadRTCreated builds a "artifact" service "upload" endpoint result from a HTTP "Created" response.

func NewUploadBadRequest

func NewUploadBadRequest(body *UploadBadRequestResponseBody) *artifact.BadRequestT

NewUploadBadRequest builds a artifact service upload endpoint bad-request error.

func NewUploadInvalidScopes

func NewUploadInvalidScopes(body *UploadInvalidScopesResponseBody) *artifact.InvalidScopesT

NewUploadInvalidScopes builds a artifact service upload endpoint invalid-scopes error.

func NewUploadNotAuthorized

func NewUploadNotAuthorized() *artifact.UnauthorizedT

NewUploadNotAuthorized builds a artifact service upload endpoint not-authorized error.

func NewUploadNotAvailable added in v0.39.0

func NewUploadNotAvailable() *artifact.ServiceNotAvailableT

NewUploadNotAvailable builds a artifact service upload endpoint not-available error.

func NewUploadNotImplemented

func NewUploadNotImplemented(body *UploadNotImplementedResponseBody) *artifact.NotImplementedT

NewUploadNotImplemented builds a artifact service upload endpoint not-implemented error.

func ReadArtifactPath

func ReadArtifactPath(id string) string

ReadArtifactPath returns the URL path to the artifact service read HTTP endpoint.

func UploadArtifactPath

func UploadArtifactPath() string

UploadArtifactPath returns the URL path to the artifact service upload HTTP endpoint.

func ValidateArtifactListItemResponseBody

func ValidateArtifactListItemResponseBody(body *ArtifactListItemResponseBody) (err error)

ValidateArtifactListItemResponseBody runs the validations defined on ArtifactListItemResponseBody

func ValidateLinkTResponseBody added in v0.30.0

func ValidateLinkTResponseBody(body *LinkTResponseBody) (err error)

ValidateLinkTResponseBody runs the validations defined on LinkTResponseBody

func ValidateListBadRequestResponseBody

func ValidateListBadRequestResponseBody(body *ListBadRequestResponseBody) (err error)

ValidateListBadRequestResponseBody runs the validations defined on list_bad-request_response_body

func ValidateListInvalidParameterResponseBody

func ValidateListInvalidParameterResponseBody(body *ListInvalidParameterResponseBody) (err error)

ValidateListInvalidParameterResponseBody runs the validations defined on list_invalid-parameter_response_body

func ValidateListInvalidScopesResponseBody

func ValidateListInvalidScopesResponseBody(body *ListInvalidScopesResponseBody) (err error)

ValidateListInvalidScopesResponseBody runs the validations defined on list_invalid-scopes_response_body

func ValidateListNotImplementedResponseBody

func ValidateListNotImplementedResponseBody(body *ListNotImplementedResponseBody) (err error)

ValidateListNotImplementedResponseBody runs the validations defined on list_not-implemented_response_body

func ValidateListResponseBody added in v0.30.0

func ValidateListResponseBody(body *ListResponseBody) (err error)

ValidateListResponseBody runs the validations defined on ListResponseBody

func ValidateReadBadRequestResponseBody

func ValidateReadBadRequestResponseBody(body *ReadBadRequestResponseBody) (err error)

ValidateReadBadRequestResponseBody runs the validations defined on read_bad-request_response_body

func ValidateReadInvalidScopesResponseBody

func ValidateReadInvalidScopesResponseBody(body *ReadInvalidScopesResponseBody) (err error)

ValidateReadInvalidScopesResponseBody runs the validations defined on read_invalid-scopes_response_body

func ValidateReadNotFoundResponseBody

func ValidateReadNotFoundResponseBody(body *ReadNotFoundResponseBody) (err error)

ValidateReadNotFoundResponseBody runs the validations defined on read_not-found_response_body

func ValidateReadNotImplementedResponseBody

func ValidateReadNotImplementedResponseBody(body *ReadNotImplementedResponseBody) (err error)

ValidateReadNotImplementedResponseBody runs the validations defined on read_not-implemented_response_body

func ValidateReadResponseBody added in v0.30.0

func ValidateReadResponseBody(body *ReadResponseBody) (err error)

ValidateReadResponseBody runs the validations defined on ReadResponseBody

func ValidateUploadBadRequestResponseBody

func ValidateUploadBadRequestResponseBody(body *UploadBadRequestResponseBody) (err error)

ValidateUploadBadRequestResponseBody runs the validations defined on upload_bad-request_response_body

func ValidateUploadInvalidScopesResponseBody

func ValidateUploadInvalidScopesResponseBody(body *UploadInvalidScopesResponseBody) (err error)

ValidateUploadInvalidScopesResponseBody runs the validations defined on upload_invalid-scopes_response_body

func ValidateUploadNotImplementedResponseBody

func ValidateUploadNotImplementedResponseBody(body *UploadNotImplementedResponseBody) (err error)

ValidateUploadNotImplementedResponseBody runs the validations defined on upload_not-implemented_response_body

func ValidateUploadResponseBody added in v0.30.0

func ValidateUploadResponseBody(body *UploadResponseBody) (err error)

ValidateUploadResponseBody runs the validations defined on UploadResponseBody

Types

type ArtifactListItemResponseBody

type ArtifactListItemResponseBody struct {
	// ID
	ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
	// Optional name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Artifact status
	Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
	// Size of artifact in bytes
	Size *int64 `form:"size,omitempty" json:"size,omitempty" xml:"size,omitempty"`
	// Mime (content) type of artifact
	MimeType *string `form:"mime-type,omitempty" json:"mime-type,omitempty" xml:"mime-type,omitempty"`
	// time this artifact was created
	CreatedAt *string `form:"created-at,omitempty" json:"created-at,omitempty" xml:"created-at,omitempty"`
	Href      *string `json:"href,omitempty"`
}

ArtifactListItemResponseBody is used to define fields on response body types.

type Client

type Client struct {
	// List Doer is the HTTP client used to make requests to the list endpoint.
	ListDoer goahttp.Doer

	// Read Doer is the HTTP client used to make requests to the read endpoint.
	ReadDoer goahttp.Doer

	// Upload Doer is the HTTP client used to make requests to the upload endpoint.
	UploadDoer goahttp.Doer

	// CORS Doer is the HTTP client used to make requests to the  endpoint.
	CORSDoer goahttp.Doer

	// RestoreResponseBody controls whether the response bodies are reset after
	// decoding so they can be read again.
	RestoreResponseBody bool
	// contains filtered or unexported fields
}

Client lists the artifact service endpoint HTTP clients.

func NewClient

func NewClient(
	scheme string,
	host string,
	doer goahttp.Doer,
	enc func(*http.Request) goahttp.Encoder,
	dec func(*http.Response) goahttp.Decoder,
	restoreBody bool,
) *Client

NewClient instantiates HTTP clients for all the artifact service servers.

func (*Client) BuildListRequest

func (c *Client) BuildListRequest(ctx context.Context, v any) (*http.Request, error)

BuildListRequest instantiates a HTTP request object with method and path set to call the "artifact" service "list" endpoint

func (*Client) BuildReadRequest

func (c *Client) BuildReadRequest(ctx context.Context, v any) (*http.Request, error)

BuildReadRequest instantiates a HTTP request object with method and path set to call the "artifact" service "read" endpoint

func (*Client) BuildUploadRequest

func (c *Client) BuildUploadRequest(ctx context.Context, v any) (*http.Request, error)

BuildUploadRequest instantiates a HTTP request object with method and path set to call the "artifact" service "upload" endpoint

func (*Client) List

func (c *Client) List() goa.Endpoint

List returns an endpoint that makes HTTP requests to the artifact service list server.

func (*Client) Read

func (c *Client) Read() goa.Endpoint

Read returns an endpoint that makes HTTP requests to the artifact service read server.

func (*Client) Upload

func (c *Client) Upload() goa.Endpoint

Upload returns an endpoint that makes HTTP requests to the artifact service upload server.

type LinkTResponseBody added in v0.30.0

type LinkTResponseBody struct {
	// relation type
	Rel *string `form:"rel,omitempty" json:"rel,omitempty" xml:"rel,omitempty"`
	// mime type
	Type *string `form:"type,omitempty" json:"type,omitempty" xml:"type,omitempty"`
	// web link
	Href *string `form:"href,omitempty" json:"href,omitempty" xml:"href,omitempty"`
}

LinkTResponseBody is used to define fields on response body types.

type ListBadRequestResponseBody

type ListBadRequestResponseBody struct {
	// Information message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

ListBadRequestResponseBody is the type of the "artifact" service "list" endpoint HTTP response body for the "bad-request" error.

type ListInvalidParameterResponseBody

type ListInvalidParameterResponseBody struct {
	// message describing expected type or pattern.
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
	// name of parameter.
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// provided parameter value.
	Value *string `form:"value,omitempty" json:"value,omitempty" xml:"value,omitempty"`
}

ListInvalidParameterResponseBody is the type of the "artifact" service "list" endpoint HTTP response body for the "invalid-parameter" error.

type ListInvalidScopesResponseBody

type ListInvalidScopesResponseBody struct {
	// ID of involved resource
	ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
	// Message of error
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

ListInvalidScopesResponseBody is the type of the "artifact" service "list" endpoint HTTP response body for the "invalid-scopes" error.

type ListNotImplementedResponseBody

type ListNotImplementedResponseBody struct {
	// Information message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

ListNotImplementedResponseBody is the type of the "artifact" service "list" endpoint HTTP response body for the "not-implemented" error.

type ListResponseBody

type ListResponseBody struct {
	// Artifacts
	Items []*ArtifactListItemResponseBody `form:"items,omitempty" json:"items,omitempty" xml:"items,omitempty"`
	// Time at which this list was valid
	AtTime *string              `form:"at-time,omitempty" json:"at-time,omitempty" xml:"at-time,omitempty"`
	Links  []*LinkTResponseBody `form:"links,omitempty" json:"links,omitempty" xml:"links,omitempty"`
}

ListResponseBody is the type of the "artifact" service "list" endpoint HTTP response body.

type ReadBadRequestResponseBody

type ReadBadRequestResponseBody struct {
	// Information message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

ReadBadRequestResponseBody is the type of the "artifact" service "read" endpoint HTTP response body for the "bad-request" error.

type ReadInvalidScopesResponseBody

type ReadInvalidScopesResponseBody struct {
	// ID of involved resource
	ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
	// Message of error
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

ReadInvalidScopesResponseBody is the type of the "artifact" service "read" endpoint HTTP response body for the "invalid-scopes" error.

type ReadNotFoundResponseBody

type ReadNotFoundResponseBody struct {
	// ID of missing resource
	ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
	// Message of error
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

ReadNotFoundResponseBody is the type of the "artifact" service "read" endpoint HTTP response body for the "not-found" error.

type ReadNotImplementedResponseBody

type ReadNotImplementedResponseBody struct {
	// Information message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

ReadNotImplementedResponseBody is the type of the "artifact" service "read" endpoint HTTP response body for the "not-implemented" error.

type ReadResponseBody

type ReadResponseBody struct {
	// Artifact ID
	ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
	// Optional name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Artifact status
	Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
	// Mime-type of data
	MimeType *string `form:"mime-type,omitempty" json:"mime-type,omitempty" xml:"mime-type,omitempty"`
	// Size of data
	Size *int64 `form:"size,omitempty" json:"size,omitempty" xml:"size,omitempty"`
	// URL of object this artifact is caching
	CacheOf *string `form:"cache-of,omitempty" json:"cache-of,omitempty" xml:"cache-of,omitempty"`
	// ETAG of artifact
	Etag *string `form:"etag,omitempty" json:"etag,omitempty" xml:"etag,omitempty"`
	// DateTime artifact was created
	CreatedAt *string `form:"created-at,omitempty" json:"created-at,omitempty" xml:"created-at,omitempty"`
	// DateTime artifact was last modified
	LastModifiedAt *string `form:"last-modified-at,omitempty" json:"last-modified-at,omitempty" xml:"last-modified-at,omitempty"`
	// Reference to policy used
	Policy *string `form:"policy,omitempty" json:"policy,omitempty" xml:"policy,omitempty"`
	// Reference to billable account
	Account  *string              `form:"account,omitempty" json:"account,omitempty" xml:"account,omitempty"`
	DataHref *string              `form:"data-href,omitempty" json:"data-href,omitempty" xml:"data-href,omitempty"`
	Links    []*LinkTResponseBody `form:"links,omitempty" json:"links,omitempty" xml:"links,omitempty"`
}

ReadResponseBody is the type of the "artifact" service "read" endpoint HTTP response body.

type UploadBadRequestResponseBody

type UploadBadRequestResponseBody struct {
	// Information message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

UploadBadRequestResponseBody is the type of the "artifact" service "upload" endpoint HTTP response body for the "bad-request" error.

type UploadInvalidScopesResponseBody

type UploadInvalidScopesResponseBody struct {
	// ID of involved resource
	ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
	// Message of error
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

UploadInvalidScopesResponseBody is the type of the "artifact" service "upload" endpoint HTTP response body for the "invalid-scopes" error.

type UploadNotImplementedResponseBody

type UploadNotImplementedResponseBody struct {
	// Information message
	Message *string `form:"message,omitempty" json:"message,omitempty" xml:"message,omitempty"`
}

UploadNotImplementedResponseBody is the type of the "artifact" service "upload" endpoint HTTP response body for the "not-implemented" error.

type UploadResponseBody

type UploadResponseBody struct {
	// Artifact ID
	ID *string `form:"id,omitempty" json:"id,omitempty" xml:"id,omitempty"`
	// Optional name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Artifact status
	Status *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
	// Mime-type of data
	MimeType *string `form:"mime-type,omitempty" json:"mime-type,omitempty" xml:"mime-type,omitempty"`
	// Size of data
	Size *int64 `form:"size,omitempty" json:"size,omitempty" xml:"size,omitempty"`
	// URL of object this artifact is caching
	CacheOf *string `form:"cache-of,omitempty" json:"cache-of,omitempty" xml:"cache-of,omitempty"`
	// ETAG of artifact
	Etag *string `form:"etag,omitempty" json:"etag,omitempty" xml:"etag,omitempty"`
	// DateTime artifact was created
	CreatedAt *string `form:"created-at,omitempty" json:"created-at,omitempty" xml:"created-at,omitempty"`
	// DateTime artifact was last modified
	LastModifiedAt *string `form:"last-modified-at,omitempty" json:"last-modified-at,omitempty" xml:"last-modified-at,omitempty"`
	// Reference to policy used
	Policy *string `form:"policy,omitempty" json:"policy,omitempty" xml:"policy,omitempty"`
	// Reference to billable account
	Account  *string              `form:"account,omitempty" json:"account,omitempty" xml:"account,omitempty"`
	DataHref *string              `form:"data-href,omitempty" json:"data-href,omitempty" xml:"data-href,omitempty"`
	Links    []*LinkTResponseBody `form:"links,omitempty" json:"links,omitempty" xml:"links,omitempty"`
}

UploadResponseBody is the type of the "artifact" service "upload" endpoint HTTP response body.

Jump to

Keyboard shortcuts

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