# Functions
AddNewRelicInstrumentation adds NewRelic instrumentation to the router.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CoProcessInit creates a new CoProcessDispatcher, it will be called when Tyk starts.
CreateCoProcessMiddleware initializes a new CP middleware, takes hook type (pre, post, etc.), hook name ("my_hook") and driver ("python").
No description provided by the author
No description provided by the author
No description provided by the author
Deprecated: Use Test.CreateSession instead.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EncodeRequestToEvent will write the request out in wire protocol and encode it to base64 and store it in an Event object.
No description provided by the author
EventHandlerByName is a convenience function to get event handler instances from an API Definition.
No description provided by the author
No description provided by the author
No description provided by the author
GetNodeID reads NodeID safely.
No description provided by the author
No description provided by the author
InstrumentationMW will set basic instrumentation events, variables and timers on API jobs.
No description provided by the author
JSONToFormValues if r has header Content-Type set to application/json this will decode request body as json to map[string]string and adds the key/value pairs in r.Form.
No description provided by the author
No description provided by the author
LoadPoliciesFromDashboard will connect and download Policies from a Tyk Dashboard instance.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewGRPCDispatcher wraps all the actions needed for this CP.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ProtoMap is a helper function for maps with string slice values.
ProtoSessionState takes a standard SessionState and outputs a SessionState object compatible with Protocol Buffers.
ProxyHandler Proxies requests through to their final destination, if they make it through the middleware chain.
No description provided by the author
No description provided by the author
No description provided by the author
SetNodeID writes NodeID safely.
SetupNewRelic creates new newrelic.Application instance.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TykNewSingleHostReverseProxy returns a new ReverseProxy that rewrites URLs to the scheme, host, and base path provided in target.
TykOsinNewServer creates a new server instance, but uses an extended interface so we can SetClient() too.
TykSessionState takes a coprocess.SessionState (as returned by the Protocol Buffer binding), and outputs a standard Tyk SessionState.
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
Constant for event system.
No description provided by the author
The name for event handlers as defined in the API Definition JSON/BSON format.
Define the Event Handler name so we can register it.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Register new event types here, the string is the code used to hook at the Api Deifnititon JSON/BSON level.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
No description provided by the author
No description provided by the author
const used by cache middleware.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
No description provided by the author
Accepts any http requests on /, only allows GET on /get, etc.
No description provided by the author
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Statuses of the request, all are false-y except StatusOk and StatusOkAndIgnore.
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Enums representing the various statuses for a VersionInfo Path match during a proxy request.
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
org session memory cache.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
to simulate time ticks for tests that do reloads.
No description provided by the author
No description provided by the author
No description provided by the author
Nonce to use when interacting with the dashboard service.
key session memory cache.
memory cache to store arbitrary items.
# Structs
AccessRightsCheck is a middleware that will check if the key bing used to access the API has permission to access the specific version.
AnalyticsRecord encodes the details of a request.
No description provided by the author
No description provided by the author
APIDefinitionLoader will load an Api definition from a storage system.
APIError is generic error object returned if there is something wrong with the request.
APISpec represents a path specification for an API, to avoid enumerating multiple nested lists, a single flattened URL list is checked for matching paths and then it's status evaluated if found.
KeyExists will check if the key being used to access the API is in the request data, and then if the key is in the storage engine.
BaseExtractor is the base structure for an ID extractor, it implements the IdExtractor interface.
BaseMiddleware wraps up the ApiSpec and Proxy objects to be included in a middleware handler, this can probably be handled better.
BasicAuthKeyIsValid uses a username instead of.
BatchReplyUnit encodes a request suitable for replying to a batch request.
BatchRequestHandler handles batch requests on /tyk/batch for any API Definition that has the feature enabled.
BatchRequestStructure defines a batch request order.
Bundle is the basic bundle data structure, it holds the bundle name and the data.
CertificateCheckMW is used if domain was not detected or multiple APIs bind on the same domain.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CoProcessMiddleware is the basic CP middleware struct.
CoProcessor represents a CoProcess during the request.
No description provided by the author
No description provided by the author
DefaultAuthorisationManager implements AuthorisationHandler, requires a storage.Handler to interact with key store.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DynamicMiddleware is a generic middleware that will execute JS code before continuing.
No description provided by the author
ErrorHandler is invoked whenever there is an issue with a proxied request, most middleware will invoke the ErrorHandler if something is wrong with the request and halt the request processing through the chain.
EventCurcuitBreakerMeta is the event status for a circuit breaker tripping.
No description provided by the author
EventKeyFailureMeta is the metadata structure for any failure related to a key, such as quota or auth failures.
EventMetaDefault is a standard embedded struct to be used with custom event metadata types, gives an interface for easily extending event metadata objects.
No description provided by the author
No description provided by the author
EventVersionFailureMeta is the metadata structure for an auth failure (EventKeyExpired).
No description provided by the author
No description provided by the author
No description provided by the author
GoPluginMiddleware is a generic middleware that will execute Go-plugin code before continuing.
GranularAccessMiddleware will check if a URL is specifically enabled for the key.
GRPCDispatcher implements a coprocess.Dispatcher.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
HMACMiddleware will check if the request has a signature, and if the request is allowed through.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
HTTPBundleGetter is a simple HTTP BundleGetter.
No description provided by the author
No description provided by the author
IPBlackListMiddleware lets you define a list of IPs to block from upstream.
IPWhiteListMiddleware lets you define a list of IPs to allow upstream.
No description provided by the author
No description provided by the author
JSVMEventHandler is a scriptable event handler.
No description provided by the author
No description provided by the author
No description provided by the author
KeyExpired middleware will check if the requesting key is expired or not.
LDAPStorageHandler implements storage.Handler, this is a read-only implementation to access keys from an LDAP service.
No description provided by the author
LogMessageEventHandler is a sample Event Handler.
No description provided by the author
No description provided by the author
MiniRequestObject is marshalled to JSON string and passed into JSON middleware.
No description provided by the author
No description provided by the author
No description provided by the author
NewClientRequest is an outward facing JSON object translated from osin OAuthClients
swagger:model NewClientRequest.
NewOAuthNotification is a notification sent to a web-hook when an access request or a refresh request comes in.
No description provided by the author
Notification is a type that encodes a message published to a pub sub channel (shared between implementations).
Oauth2KeyExists will check if the key being used to access the API is in the request data, and then if the key is in the storage engine.
OAuthClient is a representation within an APISpec of a client.
swagger:model.
OAuthHandlers are the HTTP Handlers that manage the Tyk OAuth flow.
OAuthManager handles and wraps osin OAuth2 functions to handle authorise and access requests.
No description provided by the author
RateLimitAndQuotaCheck will check the incoming request and key whether it is within it's quota and within it's rate limit, it makes use of the SessionLimiter object to do this.
No description provided by the author
No description provided by the author
No description provided by the author
RateLimitAndQuotaCheck will check the incomming request and key whether it is within it's quota and within it's rate limit, it makes use of the SessionLimiter object to do this.
RateLimitAndQuotaCheck will check the incoming request and key whether it is within it's quota and within it's rate limit, it makes use of the SessionLimiter object to do this.
RedisAnalyticsHandler will record analytics data to a redis back end as defined in the Config object.
RedisCacheMiddleware is a caching middleware that will pull data from Redis instead of the upstream proxy.
RedisNotifier will use redis pub/sub channels to send notifications.
TODO: Refactor this to move prefix handling into a checker method, then it can be an unexported setting in the struct.
No description provided by the author
No description provided by the author
No description provided by the author
RequestDefinition defines a batch request.
RequestObject is marshalled to JSON string and passed into JSON middleware.
No description provided by the author
TransformMiddleware is a middleware that will apply a template to a request body to transform it's contents ready for an upstream API.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Lets the user override and return a response from middleware.
ReverseProxy is an HTTP Handler that takes an incoming request and sends it to another server, proxying the response back to the client.
No description provided by the author
No description provided by the author
RPCStorageHandler is a storage manager that uses the redis database.
No description provided by the author
SessionLimiter is the rate limiter for the API, use ForwardMessage() to check if a message should pass through or not.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SuccessHandler represents the final ServeHTTP() request for a proxied API request.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TrackEndpointMiddleware sets context variables to enable or disable whether Tyk should record analytitcs for a specific path.
TransformMiddleware is a middleware that will apply a template to a request body to transform it's contents ready for an upstream API.
No description provided by the author
No description provided by the author
TransformMiddleware is a middleware that will apply a template to a request body to transform it's contents ready for an upstream API.
TransformMiddleware is a middleware that will apply a template to a request body to transform it's contents ready for an upstream API.
No description provided by the author
No description provided by the author
No description provided by the author
TykOsinServer subclasses osin.Server so we can add the SetClient method without wrecking the lbrary.
No description provided by the author
URLRewriteMiddleware Will rewrite an inbund URL to a matching outbound one, it can also handle dynamic variable substitution.
URLSpec represents a flattened specification for URLs, used to check if a proxy URL path is on any of the white, black or ignored lists.
No description provided by the author
No description provided by the author
No description provided by the author
VersionCheck will check whether the version of the requested API the request is accessing has any restrictions on URL endpoints.
DynamicMiddleware is a generic middleware that will execute JS code before continuing.
No description provided by the author
No description provided by the author
WebHookHandler is an event handler that triggers web hooks.
No description provided by the author
No description provided by the author
No description provided by the author
ZipBundleSaver is a BundleSaver for ZIP files.
# Interfaces
AuthorisationHandler is used to validate a session key, implementing KeyAuthorised() to validate if a key exists or is valid in any way (e.g.
BundleGetter is used for downloading bundle data, see HttpBundleGetter for reference.
BundleSaver is an interface used by bundle saver structures.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
IdExtractor is the base interface for an ID extractor.
Purger is an interface that will define how the in-memory store will be purged of analytics data to prevent it growing too large.
No description provided by the author
SessionHandler handles all update/create/access session functions and deals exclusively with user.SessionState objects, not identity.
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
OAuthNotificationType const to reduce risk of collisions.
RequestStatus is a custom type to avoid collisions.
No description provided by the author
URLStatus is a custom enum type to avoid collisions.
No description provided by the author