Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stone-payments/kong-plugin-url-rewrite
Kong API Gateway plugin for url-rewrite purposes
https://github.com/stone-payments/kong-plugin-url-rewrite
api-gateway kong kong-plugin satisfacao-do-cliente
Last synced: 3 months ago
JSON representation
Kong API Gateway plugin for url-rewrite purposes
- Host: GitHub
- URL: https://github.com/stone-payments/kong-plugin-url-rewrite
- Owner: stone-payments
- License: apache-2.0
- Created: 2018-04-17T22:11:57.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-06-14T15:23:28.000Z (5 months ago)
- Last Synced: 2024-06-22T23:51:04.987Z (5 months ago)
- Topics: api-gateway, kong, kong-plugin, satisfacao-do-cliente
- Language: Lua
- Homepage:
- Size: 109 KB
- Stars: 47
- Watchers: 38
- Forks: 25
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/stone-payments/kong-plugin-url-rewrite.svg?branch=master)](https://travis-ci.org/stone-payments/kong-plugin-url-rewrite)
# Kong-plugin-url-rewrite
Kong API Gateway plugin for url-rewrite purposes. This plugin has been tested to work along with kong >= 2.6.x, for a legacy version of this plugin, please check [this link](https://github.com/stone-payments/kong-plugin-url-rewrite/tree/legacy/v0).
## The Problem
When using Kong, you can create routes that proxy to an upstream. The problem lies when the upstream has an url that is not very friendly to your clients, or restful, or even pretty. When you [add a Route in Kong](https://docs.konghq.com/0.14.x/admin-api/#add-route), you have a [somewhat limited](https://docs.konghq.com/0.14.x/proxy/#routes-and-matching-capabilities) url rewrite capability. This plugin simply throws away the url set in Kong route and uses the url set in it's configuration to proxy to the upstream. This gives you full freedom as to how to write your url's in Kong and inner services as well.
## Project Structure
The plugin folder should contain at least a `schema.lua` and a `handler.lua`, alongside with a `spec` folder and a `.rockspec` file specifying the current version of the package.
## Rockspec Format
The `.rockspec` file should follow [LuaRocks' conventions](https://github.com/luarocks/luarocks/wiki/Rockspec-format)
## Configuration
### Enabling the plugin on a Route
Configure this plugin on a Route with:
```bash
curl -X POST http://kong:8001/routes/{route_id}/plugins \
--data "name=kong-plugin-url-rewrite" \
--data "config.url=http://new-url.com"
```- route_id: the id of the Route that this plugin configuration will target.
- config.url: the url where you want kong to execute the request.## Developing
### In docker
```bash
docker build . -t kong-plugin-url-rewrite-dev
docker run -it -v ${PWD}/url-rewrite:/url-rewrite kong-plugin-url-rewrite-dev bash
```## Credits
made with :heart: by Stone Payments