fix #56 show server yml config file.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
parent
880d34d213
commit
158ab729d2
|
@ -20,6 +20,7 @@ A push notification server using [Gin](https://github.com/gin-gonic/gin) framewo
|
|||
* Support [HTTP/2](https://http2.github.io/) or HTTP/1.1 protocol.
|
||||
* Support notification queue and multiple workers.
|
||||
* Support `/api/stat/app` show notification success and failure counts.
|
||||
* Support `/api/config` show your yml config.
|
||||
|
||||
See the [YAML config example](config/config.yml):
|
||||
|
||||
|
@ -38,6 +39,7 @@ api:
|
|||
push_uri: "/api/push"
|
||||
stat_go_uri: "/api/stat/go"
|
||||
stat_app_uri: "/api/stat/app"
|
||||
config_uri: "/api/config"
|
||||
|
||||
android:
|
||||
enabled: true
|
||||
|
@ -115,6 +117,7 @@ Gorush support the following API.
|
|||
|
||||
* **GET** `/api/stat/go` Golang cpu, memory, gc, etc information. Thanks for [golang-stats-api-handler](https://github.com/fukata/golang-stats-api-handler).
|
||||
* **GET** `/api/stat/app` show notification success and failure counts.
|
||||
* **GET** `/api/config` show server yml config file.
|
||||
* **POST** `/api/push` push ios and android notifications.
|
||||
|
||||
### GET /api/stat/go
|
||||
|
|
|
@ -12,6 +12,7 @@ api:
|
|||
push_uri: "/api/push"
|
||||
stat_go_uri: "/api/stat/go"
|
||||
stat_app_uri: "/api/stat/app"
|
||||
config_uri: "/api/config"
|
||||
|
||||
android:
|
||||
enabled: true
|
||||
|
|
|
@ -32,6 +32,7 @@ type SectionAPI struct {
|
|||
PushURI string `yaml:"push_uri"`
|
||||
StatGoURI string `yaml:"stat_go_uri"`
|
||||
StatAppURI string `yaml:"stat_app_uri"`
|
||||
ConfigURI string `yaml:"config_uri"`
|
||||
}
|
||||
|
||||
// SectionAndroid is sub seciont of config.
|
||||
|
@ -75,6 +76,7 @@ func BuildDefaultPushConf() ConfYaml {
|
|||
conf.API.PushURI = "/api/push"
|
||||
conf.API.StatGoURI = "/api/stat/go"
|
||||
conf.API.StatAppURI = "/api/stat/app"
|
||||
conf.API.ConfigURI = "/api/config"
|
||||
|
||||
// Android
|
||||
conf.Android.Enabled = false
|
||||
|
|
|
@ -2,7 +2,7 @@ package gorush
|
|||
|
||||
const (
|
||||
// Version is gorush server version.
|
||||
Version = "1.0.0"
|
||||
Version = "1.1.0"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -55,6 +55,10 @@ func pushHandler(c *gin.Context) {
|
|||
})
|
||||
}
|
||||
|
||||
func configHandler(c *gin.Context) {
|
||||
c.YAML(http.StatusCreated, PushConf)
|
||||
}
|
||||
|
||||
func routerEngine() *gin.Engine {
|
||||
// set server mode
|
||||
gin.SetMode(PushConf.Core.Mode)
|
||||
|
@ -69,6 +73,7 @@ func routerEngine() *gin.Engine {
|
|||
|
||||
r.GET(PushConf.API.StatGoURI, api.StatusHandler)
|
||||
r.GET(PushConf.API.StatAppURI, appStatusHandler)
|
||||
r.GET(PushConf.API.ConfigURI, configHandler)
|
||||
r.POST(PushConf.API.PushURI, pushHandler)
|
||||
r.GET("/", rootHandler)
|
||||
|
||||
|
|
|
@ -103,6 +103,17 @@ func TestAPIStatusAppHandler(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func TestAPIConfigHandler(t *testing.T) {
|
||||
initTest()
|
||||
|
||||
r := gofight.New()
|
||||
|
||||
r.GET("/api/config").
|
||||
Run(routerEngine(), func(r gofight.HTTPResponse, rq gofight.HTTPRequest) {
|
||||
assert.Equal(t, http.StatusCreated, r.Code)
|
||||
})
|
||||
}
|
||||
|
||||
func TestMissingNotificationsParameter(t *testing.T) {
|
||||
initTest()
|
||||
|
||||
|
|
Loading…
Reference in New Issue