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 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
- 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 v1.6.1
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 v1.6.1
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 ReplaceParameters ¶
func SerializeRequestBody ¶
func UnmarshalJSON ¶
Types ¶
type BackoffStrategy
deprecated
type BackoffStrategy = retry.BackoffStrategy
Deprecated: Use retry.BackoffStrategy instead.
type RetryConfig
deprecated
type UnionCandidate ¶ added in v1.6.1
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 v1.6.1
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