Tags: totoval/framework
Tags
* Feat: Websocket support
* Feat: Name route support
* Feat: Make Totoval more compatible with multi port serve
* Feat: Add Totoval monitor
* Feat: Change request.Context from struct to interface
* Fix: move RequestUser from controller to Context
* Fix: An User getter issue in controller which may cause each request's data cross using by different request.
* Fix: A bug of view binding
Migration:
1. `func (d *Dashboard) Index(c *request.Context) {` -> `func (d *Dashboard) Index(c request.Context) {`
2. middleware
```go
func BasicAuth(accounts map[string]string) request.HandlerFunc {
return func(c request.Context) {
gin.BasicAuth(accounts)(c.Context)
}
}
```
|
v
```go
func BasicAuth(accounts map[string]string) request.HandlerFunc {
return func(c request.Context) {
gin.BasicAuth(accounts)(c.GinContext())
}
}
```
3. `func(c request.Context) {`:`c.Request.` -> `c.Request().`
4. `func(c request.Context) {`:`c.Params` -> `c.Params()`
5. set `c.Writer`, use `c.SetWriter()`
6. set `c.Request`, use `c.SetRequest()`
7. replace `.Scan(c)` in controller, user `c.ScanUserWithJSON()`, `c` is the `Context`
8. replace `.User().Value()` in controller, use `c.User().Value()`, `c` is the `Context`
1. Add Totoval monitor 2. Move RequestUser from controller to Context Migration: 7. replace `.Scan(c)` in controller, user `c.ScanUserWithJSON()`, `c` is the `Context` 8. replace `.User().Value()` in controller, use `c.User().Value()`, `c` is the `Context`
PreviousNext