Guardian Angel is a lightweight middleware for service-oriented architecture.
What is the service-oriented
here ?
big services
: export a http(s) apismall services
- microservices / nanoservices
- serverless / FaaS
We don't want to argument the term, we just want to do right job. :-)
Current Support:
- custom your middleware with golang plugin ( third-party-middleware )
Current Middlewares:
- hello : for example
- jwt : decode JWT (from
Authorization
in HTTP Request Header), and setX-User-Id
header by user id - addauth : manage
access_token
andrefresh_token
, add JWT withAuthorization
in HTTP Request Header auto - openapi : authorize permissions and validate request args with OpenAPI 2.0 Spec Document of the backend service
- debug : print http request data when debug is enable
- openapi-response : check the response for testing
ga 架构示例:
- 支持启动任意数量的 forwarder ,每个 forwarder 可以自由搭配任意数量的 middlewares
- 支持 golang plugin 方式写自定义的 middleware 。 可以查看示例: hello