kong.tools.responses
Kong helper methods to send HTTP responses to clients.
Can be used in the proxy (core/resolver), plugins or Admin API. Most used HTTP status codes and responses are implemented as helper methods.
Usage:
-
local responses = require "kong.tools.responses" -- In an Admin API endpoint handler, or in one of the plugins' phases. -- the `return` keyword is optional since the execution will be stopped -- anyways. It simply improves code readability. return responses.send_HTTP_OK() -- Or: return responses.send_HTTP_NOT_FOUND("No entity for given id") -- Raw send() helper: return responses.send(418, "This is a teapot")
Info:
Functions
send (status_code, body, headers) | Send a response with any status code or body, Not all status codes are available as sugar methods, this function can be used to send any response. |
Tables
status_codes | Define the most common HTTP status codes for sugar methods. |
Functions
-
send
-
Send a response with any status code or body, Not all status codes
are available as sugar methods, this function can be used to send
any response. For
status_code=5xx
thecontent
parameter should be the description of the error that occurred. Forstatus_code=500
the content will be logged by ngx.log as an ERR. Will call ngx.say and ngx.exit, terminating the current context.Parameters:
-
status_code
number HTTP status code to send -
body
A string or table which will be the body of the sent response. If table, the response will be encoded as a JSON object. If string, the response will be a JSON object and the string will be contained in themessage
property. -
headers
table Response headers to send.
Returns:
- ngx.exit (Exit current context)
See also:
-
Tables
-
status_codes
-
Define the most common HTTP status codes for sugar methods. Each of
those status will generate a helper method (sugar) attached to this
exported module prefixed with
send_
. Final signature of those methods will besend_<status_code_key>(message, headers)
. See send for more details on those parameters.Fields:
-
HTTP_OK
200 OK -
HTTP_CREATED
201 Created -
HTTP_NO_CONTENT
204 No Content -
HTTP_BAD_REQUEST
400 Bad Request -
HTTP_UNAUTHORIZED
401 Unauthorized -
HTTP_FORBIDDEN
403 Forbidden -
HTTP_NOT_FOUND
404 Not Found -
HTTP_METHOD_NOT_ALLOWED
405 Method Not Allowed -
HTTP_CONFLICT
409 Conflict -
HTTP_UNSUPPORTED_MEDIA_TYPE
415 Unsupported Media Type -
HTTP_INTERNAL_SERVER_ERROR
Internal Server Error -
HTTP_SERVICE_UNAVAILABLE
503 Service Unavailable
Usage:
-
return responses.send_HTTP_OK()
-
return responses.HTTP_CREATED("Entity created")
-
return responses.HTTP_INTERNAL_SERVER_ERROR()
-