Documentation ¶
Index ¶
- Constants
- Variables
- type APIDefinition
- type AuthConfig
- type AuthProviderCode
- type AuthProviderMeta
- type AuthTypeEnum
- type BundleManifest
- type CacheMeta
- type CacheOptions
- type CheckCommand
- type CircuitBreakerMeta
- type DefRequest
- type EndPointMeta
- type EndpointMethodAction
- type EndpointMethodMeta
- type EventHandlerMetaConfig
- type EventHandlerTriggerConfig
- type ExtendedPathsSet
- type GlobalRateLimit
- type GroupKeySpaceRequest
- type GroupLoginRequest
- type HardTimeoutMeta
- type HeaderInjectionMeta
- type HostCheckObject
- type HostList
- type IdExtractorSource
- type IdExtractorType
- type InboundData
- type InternalMeta
- type KeysValuesPair
- type MethodTransformMeta
- type MiddlewareDefinition
- type MiddlewareDriver
- type MiddlewareIdExtractor
- type MiddlewareSection
- type NotificationsManager
- type OIDProviderConfig
- type OpenIDOptions
- type RequestInputType
- type RequestSigningMeta
- type RequestSizeMeta
- type ResponseProcessor
- type RoutingTrigger
- type RoutingTriggerOnType
- type RoutingTriggerOptions
- type ServiceDiscoveryConfiguration
- type SessionProviderCode
- type SessionProviderMeta
- type SignatureConfig
- type StorageEngineCode
- type StringRegexMap
- type TemplateData
- type TemplateMeta
- type TemplateMode
- type TrackEndpointMeta
- type TransformJQMeta
- type TykEvent
- type TykEventHandlerName
- type URLRewriteMeta
- type ValidatePathMeta
- type VersionInfo
- type VirtualMeta
Constants ¶
View Source
const ( NoAction EndpointMethodAction = "no_action" Reply EndpointMethodAction = "reply" UseBlob TemplateMode = "blob" UseFile TemplateMode = "file" RequestXML RequestInputType = "xml" RequestJSON RequestInputType = "json" OttoDriver MiddlewareDriver = "otto" PythonDriver MiddlewareDriver = "python" LuaDriver MiddlewareDriver = "lua" GrpcDriver MiddlewareDriver = "grpc" GoPluginDriver MiddlewareDriver = "goplugin" BodySource IdExtractorSource = "body" HeaderSource IdExtractorSource = "header" QuerystringSource IdExtractorSource = "querystring" FormSource IdExtractorSource = "form" ValueExtractor IdExtractorType = "value" XPathExtractor IdExtractorType = "xpath" RegexExtractor IdExtractorType = "regex" // For multi-type auth AuthToken AuthTypeEnum = "auth_token" HMACKey AuthTypeEnum = "hmac_key" BasicAuthUser AuthTypeEnum = "basic_auth_user" JWTClaim AuthTypeEnum = "jwt_claim" OIDCUser AuthTypeEnum = "oidc_user" OAuthKey AuthTypeEnum = "oauth_key" UnsetAuth AuthTypeEnum = "" // For routing triggers All RoutingTriggerOnType = "all" Any RoutingTriggerOnType = "any" Ignore RoutingTriggerOnType = "" )
View Source
const Schema = `` /* 13105-byte string literal not displayed */
Variables ¶
View Source
var Template = template.New("").Funcs(map[string]interface{}{ "jsonMarshal": func(v interface{}) (string, error) { bs, err := json.Marshal(v) return string(bs), err }, "xmlMarshal": func(v interface{}) (string, error) { var err error var xmlValue []byte mv, ok := v.(mxj.Map) if ok { mxj.XMLEscapeChars(true) xmlValue, err = mv.Xml() } else { res, ok := v.(map[string]interface{}) if ok { mxj.XMLEscapeChars(true) xmlValue, err = mxj.Map(res).Xml() } else { xmlValue, err = xml.MarshalIndent(v, "", " ") } } return string(xmlValue), err }, })
Functions ¶
This section is empty.
Types ¶
type APIDefinition ¶
type APIDefinition struct { Id bson.ObjectId `bson:"_id,omitempty" json:"id,omitempty"` Name string `bson:"name" json:"name"` Slug string `bson:"slug" json:"slug"` ListenPort int `bson:"listen_port" json:"listen_port"` Protocol string `bson:"protocol" json:"protocol"` EnableProxyProtocol bool `bson:"enable_proxy_protocol" json:"enable_proxy_protocol"` APIID string `bson:"api_id" json:"api_id"` OrgID string `bson:"org_id" json:"org_id"` UseKeylessAccess bool `bson:"use_keyless" json:"use_keyless"` UseOauth2 bool `bson:"use_oauth2" json:"use_oauth2"` UseOpenID bool `bson:"use_openid" json:"use_openid"` OpenIDOptions OpenIDOptions `bson:"openid_options" json:"openid_options"` Oauth2Meta struct { AllowedAccessTypes []osin.AccessRequestType `bson:"allowed_access_types" json:"allowed_access_types"` AllowedAuthorizeTypes []osin.AuthorizeRequestType `bson:"allowed_authorize_types" json:"allowed_authorize_types"` AuthorizeLoginRedirect string `bson:"auth_login_redirect" json:"auth_login_redirect"` } `bson:"oauth_meta" json:"oauth_meta"` Auth AuthConfig `bson:"auth" json:"auth"` // Deprecated: Use AuthConfigs instead. AuthConfigs map[string]AuthConfig `bson:"auth_configs" json:"auth_configs"` UseBasicAuth bool `bson:"use_basic_auth" json:"use_basic_auth"` BasicAuth struct { DisableCaching bool `bson:"disable_caching" json:"disable_caching"` CacheTTL int `bson:"cache_ttl" json:"cache_ttl"` ExtractFromBody bool `bson:"extract_from_body" json:"extract_from_body"` BodyUserRegexp string `bson:"body_user_regexp" json:"body_user_regexp"` BodyPasswordRegexp string `bson:"body_password_regexp" json:"body_password_regexp"` } `bson:"basic_auth" json:"basic_auth"` UseMutualTLSAuth bool `bson:"use_mutual_tls_auth" json:"use_mutual_tls_auth"` ClientCertificates []string `bson:"client_certificates" json:"client_certificates"` UpstreamCertificates map[string]string `bson:"upstream_certificates" json:"upstream_certificates"` PinnedPublicKeys map[string]string `bson:"pinned_public_keys" json:"pinned_public_keys"` EnableJWT bool `bson:"enable_jwt" json:"enable_jwt"` UseStandardAuth bool `bson:"use_standard_auth" json:"use_standard_auth"` UseGoPluginAuth bool `bson:"use_go_plugin_auth" json:"use_go_plugin_auth"` EnableCoProcessAuth bool `bson:"enable_coprocess_auth" json:"enable_coprocess_auth"` JWTSigningMethod string `bson:"jwt_signing_method" json:"jwt_signing_method"` JWTSource string `bson:"jwt_source" json:"jwt_source"` JWTIdentityBaseField string `bson:"jwt_identit_base_field" json:"jwt_identity_base_field"` JWTClientIDBaseField string `bson:"jwt_client_base_field" json:"jwt_client_base_field"` JWTPolicyFieldName string `bson:"jwt_policy_field_name" json:"jwt_policy_field_name"` JWTDefaultPolicies []string `bson:"jwt_default_policies" json:"jwt_default_policies"` JWTIssuedAtValidationSkew uint64 `bson:"jwt_issued_at_validation_skew" json:"jwt_issued_at_validation_skew"` JWTExpiresAtValidationSkew uint64 `bson:"jwt_expires_at_validation_skew" json:"jwt_expires_at_validation_skew"` JWTNotBeforeValidationSkew uint64 `bson:"jwt_not_before_validation_skew" json:"jwt_not_before_validation_skew"` JWTSkipKid bool `bson:"jwt_skip_kid" json:"jwt_skip_kid"` JWTScopeToPolicyMapping map[string]string `bson:"jwt_scope_to_policy_mapping" json:"jwt_scope_to_policy_mapping"` JWTScopeClaimName string `bson:"jwt_scope_claim_name" json:"jwt_scope_claim_name"` NotificationsDetails NotificationsManager `bson:"notifications" json:"notifications"` EnableSignatureChecking bool `bson:"enable_signature_checking" json:"enable_signature_checking"` HmacAllowedClockSkew float64 `bson:"hmac_allowed_clock_skew" json:"hmac_allowed_clock_skew"` HmacAllowedAlgorithms []string `bson:"hmac_allowed_algorithms" json:"hmac_allowed_algorithms"` RequestSigning RequestSigningMeta `bson:"request_signing" json:"request_signing"` BaseIdentityProvidedBy AuthTypeEnum `bson:"base_identity_provided_by" json:"base_identity_provided_by"` VersionDefinition struct { Location string `bson:"location" json:"location"` Key string `bson:"key" json:"key"` StripPath bool `bson:"strip_path" json:"strip_path"` } `bson:"definition" json:"definition"` VersionData struct { NotVersioned bool `bson:"not_versioned" json:"not_versioned"` DefaultVersion string `bson:"default_version" json:"default_version"` Versions map[string]VersionInfo `bson:"versions" json:"versions"` } `bson:"version_data" json:"version_data"` UptimeTests struct { CheckList []HostCheckObject `bson:"check_list" json:"check_list"` Config struct { ExpireUptimeAnalyticsAfter int64 `bson:"expire_utime_after" json:"expire_utime_after"` // must have an expireAt TTL index set (http://docs.mongodb.org/manual/tutorial/expire-data/) ServiceDiscovery ServiceDiscoveryConfiguration `bson:"service_discovery" json:"service_discovery"` RecheckWait int `bson:"recheck_wait" json:"recheck_wait"` } `bson:"config" json:"config"` } `bson:"uptime_tests" json:"uptime_tests"` Proxy struct { PreserveHostHeader bool `bson:"preserve_host_header" json:"preserve_host_header"` ListenPath string `bson:"listen_path" json:"listen_path"` TargetURL string `bson:"target_url" json:"target_url"` DisableStripSlash bool `bson:"disable_strip_slash" json:"disable_strip_slash"` StripListenPath bool `bson:"strip_listen_path" json:"strip_listen_path"` EnableLoadBalancing bool `bson:"enable_load_balancing" json:"enable_load_balancing"` Targets []string `bson:"target_list" json:"target_list"` StructuredTargetList *HostList `bson:"-" json:"-"` CheckHostAgainstUptimeTests bool `bson:"check_host_against_uptime_tests" json:"check_host_against_uptime_tests"` ServiceDiscovery ServiceDiscoveryConfiguration `bson:"service_discovery" json:"service_discovery"` Transport struct { SSLInsecureSkipVerify bool `bson:"ssl_insecure_skip_verify" json:"ssl_insecure_skip_verify"` SSLCipherSuites []string `bson:"ssl_ciphers" json:"ssl_ciphers"` SSLMinVersion uint16 `bson:"ssl_min_version" json:"ssl_min_version"` SSLForceCommonNameCheck bool `json:"ssl_force_common_name_check"` ProxyURL string `bson:"proxy_url" json:"proxy_url"` } `bson:"transport" json:"transport"` } `bson:"proxy" json:"proxy"` DisableRateLimit bool `bson:"disable_rate_limit" json:"disable_rate_limit"` DisableQuota bool `bson:"disable_quota" json:"disable_quota"` CustomMiddleware MiddlewareSection `bson:"custom_middleware" json:"custom_middleware"` CustomMiddlewareBundle string `bson:"custom_middleware_bundle" json:"custom_middleware_bundle"` CacheOptions CacheOptions `bson:"cache_options" json:"cache_options"` SessionLifetime int64 `bson:"session_lifetime" json:"session_lifetime"` Active bool `bson:"active" json:"active"` Internal bool `bson:"internal" json:"internal"` AuthProvider AuthProviderMeta `bson:"auth_provider" json:"auth_provider"` SessionProvider SessionProviderMeta `bson:"session_provider" json:"session_provider"` EventHandlers EventHandlerMetaConfig `bson:"event_handlers" json:"event_handlers"` EnableBatchRequestSupport bool `bson:"enable_batch_request_support" json:"enable_batch_request_support"` EnableIpWhiteListing bool `mapstructure:"enable_ip_whitelisting" bson:"enable_ip_whitelisting" json:"enable_ip_whitelisting"` AllowedIPs []string `mapstructure:"allowed_ips" bson:"allowed_ips" json:"allowed_ips"` EnableIpBlacklisting bool `mapstructure:"enable_ip_blacklisting" bson:"enable_ip_blacklisting" json:"enable_ip_blacklisting"` BlacklistedIPs []string `mapstructure:"blacklisted_ips" bson:"blacklisted_ips" json:"blacklisted_ips"` DontSetQuotasOnCreate bool `mapstructure:"dont_set_quota_on_create" bson:"dont_set_quota_on_create" json:"dont_set_quota_on_create"` ExpireAnalyticsAfter int64 `mapstructure:"expire_analytics_after" bson:"expire_analytics_after" json:"expire_analytics_after"` // must have an expireAt TTL index set (http://docs.mongodb.org/manual/tutorial/expire-data/) ResponseProcessors []ResponseProcessor `bson:"response_processors" json:"response_processors"` CORS struct { Enable bool `bson:"enable" json:"enable"` AllowedOrigins []string `bson:"allowed_origins" json:"allowed_origins"` AllowedMethods []string `bson:"allowed_methods" json:"allowed_methods"` AllowedHeaders []string `bson:"allowed_headers" json:"allowed_headers"` ExposedHeaders []string `bson:"exposed_headers" json:"exposed_headers"` AllowCredentials bool `bson:"allow_credentials" json:"allow_credentials"` MaxAge int `bson:"max_age" json:"max_age"` OptionsPassthrough bool `bson:"options_passthrough" json:"options_passthrough"` Debug bool `bson:"debug" json:"debug"` } `bson:"CORS" json:"CORS"` Domain string `bson:"domain" json:"domain"` Certificates []string `bson:"certificates" json:"certificates"` DoNotTrack bool `bson:"do_not_track" json:"do_not_track"` Tags []string `bson:"tags" json:"tags"` EnableContextVars bool `bson:"enable_context_vars" json:"enable_context_vars"` ConfigData map[string]interface{} `bson:"config_data" json:"config_data"` TagHeaders []string `bson:"tag_headers" json:"tag_headers"` GlobalRateLimit GlobalRateLimit `bson:"global_rate_limit" json:"global_rate_limit"` StripAuthData bool `bson:"strip_auth_data" json:"strip_auth_data"` EnableDetailedRecording bool `bson:"enable_detailed_recording" json:"enable_detailed_recording"` }
APIDefinition represents the configuration for a single proxied API and it's versions.
swagger:model
func DummyAPI ¶
func DummyAPI() APIDefinition
func (*APIDefinition) DecodeFromDB ¶
func (a *APIDefinition) DecodeFromDB()
func (*APIDefinition) EncodeForDB ¶
func (a *APIDefinition) EncodeForDB()
Clean will URL encode map[string]struct variables for saving
type AuthConfig ¶
type AuthConfig struct { UseParam bool `mapstructure:"use_param" bson:"use_param" json:"use_param"` ParamName string `mapstructure:"param_name" bson:"param_name" json:"param_name"` UseCookie bool `mapstructure:"use_cookie" bson:"use_cookie" json:"use_cookie"` CookieName string `mapstructure:"cookie_name" bson:"cookie_name" json:"cookie_name"` AuthHeaderName string `mapstructure:"auth_header_name" bson:"auth_header_name" json:"auth_header_name"` UseCertificate bool `mapstructure:"use_certificate" bson:"use_certificate" json:"use_certificate"` ValidateSignature bool `mapstructure:"validate_signature" bson:"validate_signature" json:"validate_signature"` Signature SignatureConfig `mapstructure:"signature" bson:"signature" json:"signature,omitempty"` }
type AuthProviderCode ¶
type AuthProviderCode string
type AuthProviderMeta ¶
type AuthProviderMeta struct { Name AuthProviderCode `bson:"name" json:"name"` StorageEngine StorageEngineCode `bson:"storage_engine" json:"storage_engine"` Meta map[string]interface{} `bson:"meta" json:"meta"` }
type AuthTypeEnum ¶
type AuthTypeEnum string
type BundleManifest ¶
type BundleManifest struct { FileList []string `bson:"file_list" json:"file_list"` CustomMiddleware MiddlewareSection `bson:"custom_middleware" json:"custom_middleware"` Checksum string `bson:"checksum" json:"checksum"` Signature string `bson:"signature" json:"signature"` }
type CacheOptions ¶
type CacheOptions struct { CacheTimeout int64 `bson:"cache_timeout" json:"cache_timeout"` EnableCache bool `bson:"enable_cache" json:"enable_cache"` CacheAllSafeRequests bool `bson:"cache_all_safe_requests" json:"cache_all_safe_requests"` CacheOnlyResponseCodes []int `bson:"cache_response_codes" json:"cache_response_codes"` EnableUpstreamCacheControl bool `bson:"enable_upstream_cache_control" json:"enable_upstream_cache_control"` CacheControlTTLHeader string `bson:"cache_control_ttl_header" json:"cache_control_ttl_header"` CacheByHeaders []string `bson:"cache_by_headers" json:"cache_by_headers"` }
type CheckCommand ¶
type CircuitBreakerMeta ¶
type CircuitBreakerMeta struct { Path string `bson:"path" json:"path"` Method string `bson:"method" json:"method"` ThresholdPercent float64 `bson:"threshold_percent" json:"threshold_percent"` Samples int64 `bson:"samples" json:"samples"` ReturnToServiceAfter int `bson:"return_to_service_after" json:"return_to_service_after"` DisableHalfOpenState bool `bson:"disable_half_open_state" json:"disable_half_open_state"` }
type DefRequest ¶
type EndPointMeta ¶
type EndPointMeta struct { Path string `bson:"path" json:"path"` IgnoreCase bool `bson:"ignore_case" json:"ignore_case"` MethodActions map[string]EndpointMethodMeta `bson:"method_actions" json:"method_actions"` }
type EndpointMethodAction ¶
type EndpointMethodAction string
type EndpointMethodMeta ¶
type EndpointMethodMeta struct { Action EndpointMethodAction `bson:"action" json:"action"` Code int `bson:"code" json:"code"` Data string `bson:"data" json:"data"` Headers map[string]string `bson:"headers" json:"headers"` }
type EventHandlerMetaConfig ¶
type EventHandlerMetaConfig struct {
Events map[TykEvent][]EventHandlerTriggerConfig `bson:"events" json:"events"`
}
type EventHandlerTriggerConfig ¶
type EventHandlerTriggerConfig struct { Handler TykEventHandlerName `bson:"handler_name" json:"handler_name"` HandlerMeta map[string]interface{} `bson:"handler_meta" json:"handler_meta"` }
type ExtendedPathsSet ¶
type ExtendedPathsSet struct { Ignored []EndPointMeta `bson:"ignored" json:"ignored,omitempty"` WhiteList []EndPointMeta `bson:"white_list" json:"white_list,omitempty"` BlackList []EndPointMeta `bson:"black_list" json:"black_list,omitempty"` Cached []string `bson:"cache" json:"cache,omitempty"` AdvanceCacheConfig []CacheMeta `bson:"advance_cache_config" json:"advance_cache_config,omitempty"` Transform []TemplateMeta `bson:"transform" json:"transform,omitempty"` TransformResponse []TemplateMeta `bson:"transform_response" json:"transform_response,omitempty"` TransformJQ []TransformJQMeta `bson:"transform_jq" json:"transform_jq,omitempty"` TransformJQResponse []TransformJQMeta `bson:"transform_jq_response" json:"transform_jq_response,omitempty"` TransformHeader []HeaderInjectionMeta `bson:"transform_headers" json:"transform_headers,omitempty"` TransformResponseHeader []HeaderInjectionMeta `bson:"transform_response_headers" json:"transform_response_headers,omitempty"` HardTimeouts []HardTimeoutMeta `bson:"hard_timeouts" json:"hard_timeouts,omitempty"` CircuitBreaker []CircuitBreakerMeta `bson:"circuit_breakers" json:"circuit_breakers,omitempty"` URLRewrite []URLRewriteMeta `bson:"url_rewrites" json:"url_rewrites,omitempty"` Virtual []VirtualMeta `bson:"virtual" json:"virtual,omitempty"` SizeLimit []RequestSizeMeta `bson:"size_limits" json:"size_limits,omitempty"` MethodTransforms []MethodTransformMeta `bson:"method_transforms" json:"method_transforms,omitempty"` TrackEndpoints []TrackEndpointMeta `bson:"track_endpoints" json:"track_endpoints,omitempty"` DoNotTrackEndpoints []TrackEndpointMeta `bson:"do_not_track_endpoints" json:"do_not_track_endpoints,omitempty"` ValidateJSON []ValidatePathMeta `bson:"validate_json" json:"validate_json,omitempty"` Internal []InternalMeta `bson:"internal" json:"internal,omitempty"` }
type GlobalRateLimit ¶
type GroupKeySpaceRequest ¶
type GroupLoginRequest ¶
type HardTimeoutMeta ¶
type HeaderInjectionMeta ¶
type HeaderInjectionMeta struct { DeleteHeaders []string `bson:"delete_headers" json:"delete_headers"` AddHeaders map[string]string `bson:"add_headers" json:"add_headers"` Path string `bson:"path" json:"path"` Method string `bson:"method" json:"method"` ActOnResponse bool `bson:"act_on" json:"act_on"` }
type HostCheckObject ¶
type HostCheckObject struct { CheckURL string `bson:"url" json:"url"` Protocol string `bson:"protocol" json:"protocol"` Timeout time.Duration `bson:"timeout" json:"timeout"` EnableProxyProtocol bool `bson:"enable_proxy_protocol" json:"enable_proxy_protocol"` Commands []CheckCommand `bson:"commands" json:"commands"` Method string `bson:"method" json:"method"` Headers map[string]string `bson:"headers" json:"headers"` Body string `bson:"body" json:"body"` }
type HostList ¶
type HostList struct {
// contains filtered or unexported fields
}
func NewHostList ¶
func NewHostList() *HostList
func NewHostListFromList ¶
type IdExtractorSource ¶
type IdExtractorSource string
type IdExtractorType ¶
type IdExtractorType string
type InboundData ¶
type InternalMeta ¶
type KeysValuesPair ¶
type MethodTransformMeta ¶
type MiddlewareDefinition ¶
type MiddlewareDriver ¶
type MiddlewareDriver string
type MiddlewareIdExtractor ¶
type MiddlewareIdExtractor struct { ExtractFrom IdExtractorSource `bson:"extract_from" json:"extract_from"` ExtractWith IdExtractorType `bson:"extract_with" json:"extract_with"` ExtractorConfig map[string]interface{} `bson:"extractor_config" json:"extractor_config"` Extractor interface{} `bson:"-" json:"-"` }
type MiddlewareSection ¶
type MiddlewareSection struct { Pre []MiddlewareDefinition `bson:"pre" json:"pre"` Post []MiddlewareDefinition `bson:"post" json:"post"` PostKeyAuth []MiddlewareDefinition `bson:"post_key_auth" json:"post_key_auth"` AuthCheck MiddlewareDefinition `bson:"auth_check" json:"auth_check"` Response []MiddlewareDefinition `bson:"response" json:"response"` Driver MiddlewareDriver `bson:"driver" json:"driver"` IdExtractor MiddlewareIdExtractor `bson:"id_extractor" json:"id_extractor"` }
type NotificationsManager ¶
type NotificationsManager struct { OAuthKeyChangeURL string `bson:"oauth_on_keychange_url" json:"oauth_on_keychange_url"` }
NotificationsManager handles sending notifications to OAuth endpoints to notify the provider of key changes. TODO: Make this more generic
func (NotificationsManager) SendRequest ¶
func (n NotificationsManager) SendRequest(wait bool, count int, notification interface{})
SendRequest sends the requested package (as a POST) to the defined
type OIDProviderConfig ¶
type OpenIDOptions ¶
type OpenIDOptions struct { Providers []OIDProviderConfig `bson:"providers" json:"providers"` SegregateByClient bool `bson:"segregate_by_client" json:"segregate_by_client"` }
type RequestInputType ¶
type RequestInputType string
type RequestSigningMeta ¶
type RequestSigningMeta struct { IsEnabled bool `bson:"is_enabled" json:"is_enabled"` Secret string `bson:"secret" json:"secret"` KeyId string `bson:"key_id" json:"key_id"` Algorithm string `bson:"algorithm" json:"algorithm"` HeaderList []string `bson:"header_list" json:"header_list"` CertificateId string `bson:"certificate_id" json:"certificate_id"` SignatureHeader string `bson:"signature_header" json:"signature_header"` }
type RequestSizeMeta ¶
type ResponseProcessor ¶
type ResponseProcessor struct { Name string `bson:"name" json:"name"` Options interface{} `bson:"options" json:"options"` }
type RoutingTrigger ¶
type RoutingTrigger struct { On RoutingTriggerOnType `bson:"on" json:"on"` Options RoutingTriggerOptions `bson:"options" json:"options"` RewriteTo string `bson:"rewrite_to" json:"rewrite_to"` }
type RoutingTriggerOnType ¶
type RoutingTriggerOnType string
type RoutingTriggerOptions ¶
type RoutingTriggerOptions struct { HeaderMatches map[string]StringRegexMap `bson:"header_matches" json:"header_matches"` QueryValMatches map[string]StringRegexMap `bson:"query_val_matches" json:"query_val_matches"` PathPartMatches map[string]StringRegexMap `bson:"path_part_matches" json:"path_part_matches"` SessionMetaMatches map[string]StringRegexMap `bson:"session_meta_matches" json:"session_meta_matches"` RequestContextMatches map[string]StringRegexMap `bson:"request_context_matches" json:"request_context_matches"` PayloadMatches StringRegexMap `bson:"payload_matches" json:"payload_matches"` }
type ServiceDiscoveryConfiguration ¶
type ServiceDiscoveryConfiguration struct { UseDiscoveryService bool `bson:"use_discovery_service" json:"use_discovery_service"` QueryEndpoint string `bson:"query_endpoint" json:"query_endpoint"` UseNestedQuery bool `bson:"use_nested_query" json:"use_nested_query"` ParentDataPath string `bson:"parent_data_path" json:"parent_data_path"` DataPath string `bson:"data_path" json:"data_path"` PortDataPath string `bson:"port_data_path" json:"port_data_path"` TargetPath string `bson:"target_path" json:"target_path"` UseTargetList bool `bson:"use_target_list" json:"use_target_list"` CacheTimeout int64 `bson:"cache_timeout" json:"cache_timeout"` EndpointReturnsList bool `bson:"endpoint_returns_list" json:"endpoint_returns_list"` }
type SessionProviderCode ¶
type SessionProviderCode string
type SessionProviderMeta ¶
type SessionProviderMeta struct { Name SessionProviderCode `bson:"name" json:"name"` StorageEngine StorageEngineCode `bson:"storage_engine" json:"storage_engine"` Meta map[string]interface{} `bson:"meta" json:"meta"` }
type SignatureConfig ¶
type SignatureConfig struct { Algorithm string `mapstructure:"algorithm" bson:"algorithm" json:"algorithm"` Header string `mapstructure:"header" bson:"header" json:"header"` Secret string `mapstructure:"secret" bson:"secret" json:"secret"` AllowedClockSkew int64 `mapstructure:"allowed_clock_skew" bson:"allowed_clock_skew" json:"allowed_clock_skew"` ErrorCode int `mapstructure:"error_code" bson:"error_code" json:"error_code"` ErrorMessage string `mapstructure:"error_message" bson:"error_message" json:"error_message"` }
type StorageEngineCode ¶
type StorageEngineCode string
type StringRegexMap ¶
type StringRegexMap struct { MatchPattern string `bson:"match_rx" json:"match_rx"` Reverse bool `bson:"reverse" json:"reverse"` // contains filtered or unexported fields }
func (*StringRegexMap) Check ¶
func (s *StringRegexMap) Check(value string) (match string)
func (*StringRegexMap) FindAllStringSubmatch ¶
func (s *StringRegexMap) FindAllStringSubmatch(value string, n int) (matched bool, matches [][]string)
func (*StringRegexMap) FindStringSubmatch ¶
func (s *StringRegexMap) FindStringSubmatch(value string) (matched bool, match []string)
func (*StringRegexMap) Init ¶
func (s *StringRegexMap) Init() error
type TemplateData ¶
type TemplateData struct { Input RequestInputType `bson:"input_type" json:"input_type"` Mode TemplateMode `bson:"template_mode" json:"template_mode"` EnableSession bool `bson:"enable_session" json:"enable_session"` TemplateSource string `bson:"template_source" json:"template_source"` }
type TemplateMeta ¶
type TemplateMeta struct { TemplateData TemplateData `bson:"template_data" json:"template_data"` Path string `bson:"path" json:"path"` Method string `bson:"method" json:"method"` }
type TemplateMode ¶
type TemplateMode string
type TrackEndpointMeta ¶
type TransformJQMeta ¶
type TykEvent ¶
type TykEvent string // A type so we can ENUM event types easily, e.g. EventQuotaExceeded
type TykEventHandlerName ¶
type TykEventHandlerName string // A type for handler codes in API definitions
type URLRewriteMeta ¶
type URLRewriteMeta struct { Path string `bson:"path" json:"path"` Method string `bson:"method" json:"method"` MatchPattern string `bson:"match_pattern" json:"match_pattern"` RewriteTo string `bson:"rewrite_to" json:"rewrite_to"` Triggers []RoutingTrigger `bson:"triggers" json:"triggers"` MatchRegexp *regexp.Regexp `json:"-"` }
type ValidatePathMeta ¶
type ValidatePathMeta struct { Path string `bson:"path" json:"path"` Method string `bson:"method" json:"method"` Schema map[string]interface{} `bson:"schema" json:"schema"` SchemaB64 string `bson:"schema_b64" json:"schema_b64,omitempty"` SchemaCache gojsonschema.JSONLoader `bson:"-" json:"-"` // Allows override of default 422 Unprocessible Entity response code for validation errors. ErrorResponseCode int `bson:"error_response_code" json:"error_response_code"` }
type VersionInfo ¶
type VersionInfo struct { Name string `bson:"name" json:"name"` Expires string `bson:"expires" json:"expires"` ExpiresTs time.Time `bson:"-" json:"-"` Paths struct { Ignored []string `bson:"ignored" json:"ignored"` WhiteList []string `bson:"white_list" json:"white_list"` BlackList []string `bson:"black_list" json:"black_list"` } `bson:"paths" json:"paths"` UseExtendedPaths bool `bson:"use_extended_paths" json:"use_extended_paths"` ExtendedPaths ExtendedPathsSet `bson:"extended_paths" json:"extended_paths"` GlobalHeaders map[string]string `bson:"global_headers" json:"global_headers"` GlobalHeadersRemove []string `bson:"global_headers_remove" json:"global_headers_remove"` IgnoreEndpointCase bool `bson:"ignore_endpoint_case" json:"ignore_endpoint_case"` GlobalSizeLimit int64 `bson:"global_size_limit" json:"global_size_limit"` OverrideTarget string `bson:"override_target" json:"override_target"` }
type VirtualMeta ¶
type VirtualMeta struct { ResponseFunctionName string `bson:"response_function_name" json:"response_function_name"` FunctionSourceType string `bson:"function_source_type" json:"function_source_type"` FunctionSourceURI string `bson:"function_source_uri" json:"function_source_uri"` Path string `bson:"path" json:"path"` Method string `bson:"method" json:"method"` UseSession bool `bson:"use_session" json:"use_session"` ProxyOnError bool `bson:"proxy_on_error" json:"proxy_on_error"` }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.