Documentation
¶
Index ¶
- Variables
- func AsSecuritySource(security interface{}) func(context.Context) (interface{}, error)
- func CalculateJSONSize(v interface{}) int
- func ConsumeRawBody(res *http.Response) ([]byte, error)
- func Contains(slice []string, item string) bool
- func CountFields(v interface{}) int
- func GenerateURL(_ context.Context, serverURL, path string, pathParams interface{}, ...) (string, error)
- func GetEnv(name, defaultValue string) string
- func MarshalJSON(v interface{}, tag reflect.StructTag, topLevel bool) ([]byte, error)
- func MatchContentType(contentType string, pattern string) bool
- func MatchStatusCodes(expectedCodes []string, statusCode int) bool
- func PopulateHeaders(_ context.Context, req *http.Request, headers interface{}, globals interface{})
- func PopulateQueryParams(_ context.Context, req *http.Request, queryParams interface{}, ...) error
- func PopulateSecurity(ctx context.Context, req *http.Request, ...) error
- func PopulateSecurityFromEnv(security interface{}) bool
- func ReplaceParameters(stringWithParams string, params map[string]string) string
- func Retry(ctx context.Context, r Retries, operation func() (*http.Response, error)) (*http.Response, error)
- func SerializeRequestBody(_ context.Context, request interface{}, nullable, optional bool, ...) (io.Reader, string, error)
- func UnmarshalJSON(b []byte, v interface{}, tag reflect.StructTag, topLevel bool, ...) error
- func UnmarshalJsonFromResponseBody(body io.Reader, out interface{}, tag string) error
- func ValueFromEnvVar(envVar string, field interface{}) interface{}
- type BackoffStrategydeprecated
- type Retries
- type RetryConfigdeprecated
- type Timer
- type UnionCandidate
Constants ¶
This section is empty.
Variables ¶
var (
SerializationMethodToContentType = map[string]string{
"json": "application/json",
"form": "application/x-www-form-urlencoded",
"multipart": "multipart/form-data",
"raw": "application/octet-stream",
"string": "text/plain",
}
)
Functions ¶
func AsSecuritySource ¶
func CalculateJSONSize ¶ added in v0.7.0
func CalculateJSONSize(v interface{}) int
CalculateJSONSize returns the byte size of the JSON representation of a value. This is used to determine which union type variant has the most data.
func CountFields ¶ added in v0.7.0
func CountFields(v interface{}) int
CountFields recursively counts the number of valid (non-nil, non-zero) fields set in a value. This is used as the primary discriminator for union types, with JSON size as a tiebreaker.
func GenerateURL ¶
func GetEnv ¶
GetEnv returns the value of the environment variable named by the key or the defaultValue if the environment variable is not set.
func MarshalJSON ¶
func MatchContentType ¶
func MatchStatusCodes ¶
func PopulateHeaders ¶
func PopulateQueryParams ¶
func PopulateSecurity ¶
func PopulateSecurityFromEnv ¶
func PopulateSecurityFromEnv(security interface{}) bool
func ReplaceParameters ¶
func SerializeRequestBody ¶
func UnmarshalJSON ¶
func ValueFromEnvVar ¶
func ValueFromEnvVar(envVar string, field interface{}) interface{}
Types ¶
type BackoffStrategy
deprecated
type BackoffStrategy = retry.BackoffStrategy
Deprecated: Use retry.BackoffStrategy instead.
type RetryConfig
deprecated
type UnionCandidate ¶ added in v0.7.0
type UnionCandidate struct {
FieldCount int
Size int
Type any // The union type enum value
Value any // The unmarshaled value
}
UnionCandidate represents a candidate type during union deserialization
func PickBestCandidate ¶ added in v0.7.0
func PickBestCandidate(candidates []UnionCandidate) *UnionCandidate
PickBestCandidate selects the best union type candidate using a multi-stage filtering approach: 1. If multiple candidates, filter by field count (keep only those with max field count) 2. If still multiple, filter by JSON size (keep only those with max size) 3. Return the first remaining candidate