Documentation ¶
Overview ¶
Package servicedef contains definitions for the REST protocol that test services must implement. See the top-level README.md for more details.
The package is used by the test harness, but can also be imported by any test service code that is Go-based.
Index ¶
- Constants
- type AttributeDefinition
- type BigSegmentStoreStatusResponse
- type CommandParams
- type ContextBuildParams
- type ContextBuildResponse
- type ContextBuildSingleParams
- type ContextComparisonPairParams
- type ContextComparisonParams
- type ContextComparisonResponse
- type ContextComparisonSingleParams
- type ContextConvertParams
- type CreateInstanceParams
- type CustomEventParams
- type EvaluateAllFlagsParams
- type EvaluateAllFlagsResponse
- type EvaluateFlagParams
- type EvaluateFlagResponse
- type EvaluationSeriesContext
- type HookExecutionPayload
- type HookStage
- type IdentifyEventParams
- type MigrationOperationParams
- type MigrationOperationResponse
- type MigrationVariationParams
- type MigrationVariationResponse
- type PrivateAttribute
- type SDKConfigBigSegmentsParams
- type SDKConfigClientSideParams
- type SDKConfigEvaluationHookData
- type SDKConfigEventParams
- type SDKConfigHookInstance
- type SDKConfigHooksParams
- type SDKConfigParams
- type SDKConfigPersistentCache
- type SDKConfigPersistentDataStoreParams
- type SDKConfigPersistentMode
- type SDKConfigPersistentStore
- type SDKConfigPersistentType
- type SDKConfigPollingParams
- type SDKConfigServiceEndpointsParams
- type SDKConfigStreamingParams
- type SDKConfigTLSParams
- type SDKConfigTagsParams
- type SDKConfigWrapper
- type SecureModeHashParams
- type SecureModeHashResponse
- type StatusRep
- type ValueType
Constants ¶
View Source
const ( CommandEvaluateFlag = "evaluate" CommandEvaluateAllFlags = "evaluateAll" CommandIdentifyEvent = "identifyEvent" CommandCustomEvent = "customEvent" CommandAliasEvent = "aliasEvent" CommandFlushEvents = "flushEvents" CommandGetBigSegmentStoreStatus = "getBigSegmentStoreStatus" CommandContextBuild = "contextBuild" CommandContextConvert = "contextConvert" CommandContextComparison = "contextComparison" CommandSecureModeHash = "secureModeHash" CommandMigrationVariation = "migrationVariation" CommandMigrationOperation = "migrationOperation" )
View Source
const ( ValueTypeBool = "bool" ValueTypeInt = "int" ValueTypeDouble = "double" ValueTypeString = "string" ValueTypeAny = "any" )
View Source
const ( Redis = SDKConfigPersistentType("redis") DynamoDB = SDKConfigPersistentType("dynamodb") Consul = SDKConfigPersistentType("consul") )
View Source
const ( CacheModeOff = SDKConfigPersistentMode("off") CacheModeTTL = SDKConfigPersistentMode("ttl") CacheModeInfinite = SDKConfigPersistentMode("infinite") )
View Source
const ( CapabilityClientSide = "client-side" CapabilityServerSide = "server-side" CapabilityStronglyTyped = "strongly-typed" CapabilityMobile = "mobile" CapabilityPHP = "php" CapabilityRoku = "roku" CapabilitySingleton = "singleton" CapabilityClientIndependence = "client-independence" CapabilityAllFlagsWithReasons = "all-flags-with-reasons" CapabilityAllFlagsClientSideOnly = "all-flags-client-side-only" CapabilityAllFlagsDetailsOnlyForTrackedFlags = "all-flags-details-only-for-tracked-flags" CapabilityBigSegments = "big-segments" CapabilityContextType = "context-type" CapabilityContextComparison = "context-comparison" CapabilitySecureModeHash = "secure-mode-hash" CapabilityServerSidePolling = "server-side-polling" CapabilityServiceEndpoints = "service-endpoints" CapabilityTags = "tags" CapabilityUserType = "user-type" CapabilityFiltering = "filtering" CapabilityFilteringStrict = "filtering-strict" CapabilityAutoEnvAttributes = "auto-env-attributes" CapabilityMigrations = "migrations" CapabilityEventSampling = "event-sampling" CapabilityEventGzip = "event-gzip" CapabilityOptionalEventGzip = "optional-event-gzip" CapabilityETagCaching = "etag-caching" CapabilityInlineContext = "inline-context" CapabilityAnonymousRedaction = "anonymous-redaction" CapabilityPollingGzip = "polling-gzip" CapabilityEvaluationHooks = "evaluation-hooks" CapabilityClientPrereqEvents = "client-prereq-events" CapabilityPersistentDataStoreRedis = "persistent-data-store-redis" CapabilityPersistentDataStoreConsul = "persistent-data-store-consul" CapabilityPersistentDataStoreDynamoDB = "persistent-data-store-dynamodb" // CapabilityTLSVerifyPeer means the SDK is capable of establishing a TLS session and verifying // its peer. This is generally a standard capability of all SDKs. // However, the additional tests this enables may cause the suite to run slower than normal and may cause // unexpected behavior. Therefore, it should be manually tested first. CapabilityTLSVerifyPeer = "tls:verify-peer" // CapabilityTLSSkipVerifyPeer means the SDK is capable of establishing a TLS session but can be configured to // skip the peer verification step. This allows the SDK to establish a connection with the test harness using // a self-signed certificate without a CA. Not all SDKs have this capability. CapabilityTLSSkipVerifyPeer = "tls:skip-verify-peer" // CapabilityTLSCustomCA means the SDK is capable of establishing a TLS session and configuring peer verification // to use a custom CA certificate. The path to this CA cert is provided to the SDK. The SDK should then configure this // path as the only CA cert in its trust store (rather than adding it to an existing trust store.) CapabilityTLSCustomCA = "tls:custom-ca" CapabilityOmitAnonymousContexts = "omit-anonymous-contexts" // CapabilityWrapper indicates that the SDK supports setting wrapper name and version and including them in request // headers. CapabilityWrapper = "wrapper" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttributeDefinition ¶ added in v2.3.0
type CommandParams ¶
type CommandParams struct { Command string `json:"command"` Evaluate o.Maybe[EvaluateFlagParams] `json:"evaluate,omitempty"` EvaluateAll o.Maybe[EvaluateAllFlagsParams] `json:"evaluateAll,omitempty"` CustomEvent o.Maybe[CustomEventParams] `json:"customEvent,omitempty"` IdentifyEvent o.Maybe[IdentifyEventParams] `json:"identifyEvent,omitempty"` ContextBuild o.Maybe[ContextBuildParams] `json:"contextBuild,omitempty"` ContextConvert o.Maybe[ContextConvertParams] `json:"contextConvert,omitempty"` ContextComparison o.Maybe[ContextComparisonPairParams] `json:"contextComparison,omitempty"` SecureModeHash o.Maybe[SecureModeHashParams] `json:"secureModeHash,omitempty"` MigrationVariation o.Maybe[MigrationVariationParams] `json:"migrationVariation,omitempty"` MigrationOperation o.Maybe[MigrationOperationParams] `json:"migrationOperation,omitempty"` }
type ContextBuildParams ¶
type ContextBuildParams struct { Single *ContextBuildSingleParams `json:"single,omitempty"` Multi []ContextBuildSingleParams `json:"multi,omitempty"` }
type ContextBuildResponse ¶
type ContextComparisonPairParams ¶ added in v2.3.0
type ContextComparisonPairParams struct { Context1 ContextComparisonParams `json:"context1"` Context2 ContextComparisonParams `json:"context2"` }
type ContextComparisonParams ¶ added in v2.3.0
type ContextComparisonParams struct { Single *ContextComparisonSingleParams `json:"single,omitempty"` Multi []ContextComparisonSingleParams `json:"multi,omitempty"` }
type ContextComparisonResponse ¶ added in v2.3.0
type ContextComparisonResponse struct {
Equals bool `json:"equals"`
}
type ContextComparisonSingleParams ¶ added in v2.3.0
type ContextComparisonSingleParams struct { Kind string `json:"kind"` Key string `json:"key"` Attributes []AttributeDefinition `json:"attributes,omitempty"` PrivateAttributes []PrivateAttribute `json:"privateAttributes:omitempty"` }
type ContextConvertParams ¶
type ContextConvertParams struct {
Input string `json:"input"`
}
type CreateInstanceParams ¶
type CreateInstanceParams struct { Configuration SDKConfigParams `json:"configuration"` Tag string `json:"tag"` }
type CustomEventParams ¶
type CustomEventParams struct { EventKey string `json:"eventKey"` Context o.Maybe[ldcontext.Context] `json:"context,omitempty"` User json.RawMessage `json:"user,omitempty"` Data ldvalue.Value `json:"data,omitempty"` OmitNullData bool `json:"omitNullData"` MetricValue o.Maybe[float64] `json:"metricValue,omitempty"` }
type EvaluateAllFlagsParams ¶
type EvaluateFlagParams ¶
type EvaluateFlagResponse ¶
type EvaluationSeriesContext ¶ added in v2.9.0
type HookExecutionPayload ¶ added in v2.9.0
type HookExecutionPayload struct { EvaluationSeriesContext o.Maybe[EvaluationSeriesContext] `json:"evaluationSeriesContext"` EvaluationSeriesData o.Maybe[map[string]ldvalue.Value] `json:"evaluationSeriesData"` EvaluationDetail o.Maybe[EvaluateFlagResponse] `json:"evaluationDetail"` Stage o.Maybe[HookStage] `json:"stage"` }
type IdentifyEventParams ¶
type MigrationOperationParams ¶ added in v2.2.0
type MigrationOperationParams struct { Key string `json:"key"` Context ldcontext.Context `json:"context"` DefaultStage ldmigration.Stage `json:"defaultStage"` ReadExecutionOrder ldmigration.ExecutionOrder `json:"readExecutionOrder"` Operation ldmigration.Operation `json:"operation"` OldEndpoint string `json:"oldEndpoint"` NewEndpoint string `json:"newEndpoint"` Payload o.Maybe[string] `json:"payload,omitempty"` TrackLatency bool `json:"trackLatency"` TrackErrors bool `json:"trackErrors"` TrackConsistency bool `json:"trackConsistency"` }
type MigrationOperationResponse ¶ added in v2.2.0
type MigrationOperationResponse struct {
Result string `json:"result"`
}
type MigrationVariationParams ¶ added in v2.2.0
type MigrationVariationParams struct { Key string `json:"key"` Context ldcontext.Context `json:"context"` DefaultStage ldmigration.Stage `json:"defaultStage"` }
type MigrationVariationResponse ¶ added in v2.2.0
type MigrationVariationResponse struct {
Result string `json:"result"`
}
type PrivateAttribute ¶ added in v2.3.0
type SDKConfigBigSegmentsParams ¶
type SDKConfigBigSegmentsParams struct { CallbackURI string `json:"callbackUri"` UserCacheSize o.Maybe[int] `json:"userCacheSize,omitempty"` UserCacheTimeMS o.Maybe[ldtime.UnixMillisecondTime] `json:"userCacheTimeMs,omitempty"` StatusPollIntervalMS o.Maybe[ldtime.UnixMillisecondTime] `json:"statusPollIntervalMs,omitempty"` StaleAfterMS o.Maybe[ldtime.UnixMillisecondTime] `json:"staleAfterMs,omitempty"` }
type SDKConfigClientSideParams ¶
type SDKConfigClientSideParams struct { InitialContext o.Maybe[ldcontext.Context] `json:"initialContext,omitempty"` InitialUser json.RawMessage `json:"initialUser,omitempty"` EvaluationReasons o.Maybe[bool] `json:"evaluationReasons,omitempty"` UseReport o.Maybe[bool] `json:"useReport,omitempty"` IncludeEnvironmentAttributes o.Maybe[bool] `json:"includeEnvironmentAttributes,omitempty"` }
type SDKConfigEvaluationHookData ¶ added in v2.9.0
type SDKConfigEventParams ¶
type SDKConfigEventParams struct { BaseURI string `json:"baseUri,omitempty"` Capacity o.Maybe[int] `json:"capacity,omitempty"` EnableDiagnostics bool `json:"enableDiagnostics"` AllAttributesPrivate bool `json:"allAttributesPrivate,omitempty"` GlobalPrivateAttributes []string `json:"globalPrivateAttributes,omitempty"` FlushIntervalMS o.Maybe[ldtime.UnixMillisecondTime] `json:"flushIntervalMs,omitempty"` OmitAnonymousContexts bool `json:"omitAnonymousContexts,omitempty"` EnableGzip o.Maybe[bool] `json:"enableGzip,omitempty"` }
type SDKConfigHookInstance ¶ added in v2.9.0
type SDKConfigHooksParams ¶ added in v2.9.0
type SDKConfigHooksParams struct {
Hooks []SDKConfigHookInstance `json:"hooks"`
}
type SDKConfigParams ¶
type SDKConfigParams struct { Credential string `json:"credential"` StartWaitTimeMS o.Maybe[ldtime.UnixMillisecondTime] `json:"startWaitTimeMs,omitempty"` InitCanFail bool `json:"initCanFail,omitempty"` ServiceEndpoints o.Maybe[SDKConfigServiceEndpointsParams] `json:"serviceEndpoints,omitempty"` TLS o.Maybe[SDKConfigTLSParams] `json:"tls,omitempty"` Streaming o.Maybe[SDKConfigStreamingParams] `json:"streaming,omitempty"` Polling o.Maybe[SDKConfigPollingParams] `json:"polling,omitempty"` Events o.Maybe[SDKConfigEventParams] `json:"events,omitempty"` BigSegments o.Maybe[SDKConfigBigSegmentsParams] `json:"bigSegments,omitempty"` Tags o.Maybe[SDKConfigTagsParams] `json:"tags,omitempty"` ClientSide o.Maybe[SDKConfigClientSideParams] `json:"clientSide,omitempty"` Hooks o.Maybe[SDKConfigHooksParams] `json:"hooks,omitempty"` Wrapper o.Maybe[SDKConfigWrapper] `json:"wrapper,omitempty"` PersistentDataStore o.Maybe[SDKConfigPersistentDataStoreParams] `json:"persistentDataStore,omitempty"` }
type SDKConfigPersistentCache ¶ added in v2.25.0
type SDKConfigPersistentCache struct { Mode SDKConfigPersistentMode `json:"mode"` // This value is only valid when the Mode is set to TTL. It must be a positive integer. TTL o.Maybe[int] `json:"ttl,omitempty"` }
type SDKConfigPersistentDataStoreParams ¶
type SDKConfigPersistentDataStoreParams struct { Store SDKConfigPersistentStore `json:"store"` Cache SDKConfigPersistentCache `json:"cache"` }
type SDKConfigPersistentMode ¶ added in v2.25.0
type SDKConfigPersistentMode string
type SDKConfigPersistentStore ¶ added in v2.25.0
type SDKConfigPersistentStore struct { Type SDKConfigPersistentType `json:"type"` Prefix o.Maybe[string] `json:"prefix,omitempty"` DSN string `json:"dsn"` }
type SDKConfigPersistentType ¶ added in v2.25.0
type SDKConfigPersistentType string
type SDKConfigPollingParams ¶
type SDKConfigTLSParams ¶ added in v2.13.0
type SDKConfigTagsParams ¶
type SDKConfigWrapper ¶ added in v2.18.0
type SecureModeHashParams ¶
type SecureModeHashResponse ¶
type SecureModeHashResponse struct {
Result string `json:"result"`
}
type StatusRep ¶
type StatusRep struct { serviceinfo.TestServiceInfo ClientVersion string `json:"clientVersion"` }
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package callbackfixtures contains definitions for the REST protocol that test services must implement, specifically for callback requests from the test service to the test harness.
|
Package callbackfixtures contains definitions for the REST protocol that test services must implement, specifically for callback requests from the test service to the test harness. |
Click to show internal directories.
Click to hide internal directories.