kong.service
kong.service
The service module contains a set of functions to manipulate the connection aspect of the request to the Service, such as connecting to a given host, IP address/port, or choosing a given Upstream entity for load-balancing and healthchecking.
kong.service.set_upstream(host)
Sets the desired Upstream entity to handle the load-balancing step for
this request. Using this method is equivalent to creating a Service with a
host
property equal to that of an Upstream entity (in which case, the
request would be proxied to one of the Targets associated with that
Upstream).
The host
argument should receive a string equal to that of one of the
Upstream entities currently configured.
Phases
- access
Parameters
- host (string):
Returns
-
boolean|nil
true
on success, ornil
if no upstream entities where found -
string|nil
An error message describing the error if there was one.
Usage
local ok, err = kong.service.set_upstream("service.prod")
if not ok then
kong.log.err(err)
return
end
kong.service.set_target(host, port)
Sets the host and port on which to connect to for proxying the request. Using this method is equivalent to ask Kong to not run the load-balancing phase for this request, and consider it manually overridden. Load-balancing components such as retries and health-checks will also be ignored for this request.
The host
argument expects a string containing the IP address of the
upstream server (IPv4/IPv6), and the port
argument must contain a number
representing the port on which to connect to.
Phases
- access
Parameters
- host (string):
- port (number):
Usage
kong.service.set_target("service.local", 443)
kong.service.set_target("192.168.130.1", 80)