Migrate to fasthttp v1.20.0
Signed-off-by: Evgeniy Kulikov <kim@nspcc.ru>
This commit is contained in:
parent
a428a0b1b3
commit
3b8bf3017d
2 changed files with 2 additions and 27 deletions
7
app.go
7
app.go
|
@ -101,13 +101,10 @@ func newApp(ctx context.Context, opt ...Option) App {
|
||||||
|
|
||||||
// FIXME don't work with StreamRequestBody,
|
// FIXME don't work with StreamRequestBody,
|
||||||
// some bugs with readMultipartForm
|
// some bugs with readMultipartForm
|
||||||
|
// https://github.com/valyala/fasthttp/issues/968
|
||||||
// a.web.DisablePreParseMultipartForm = true
|
// a.web.DisablePreParseMultipartForm = true
|
||||||
|
|
||||||
// body streaming
|
a.web.StreamRequestBody = a.cfg.GetBool(cfgWebStreamRequestBody)
|
||||||
// TODO should be replaced in future with
|
|
||||||
//
|
|
||||||
// a.web.StreamRequestBody = v.GetBool(cfgWebStreamRequestBody)
|
|
||||||
checkAndEnableStreaming(a.log, a.cfg, a.web)
|
|
||||||
// -- -- -- -- -- -- -- -- -- --
|
// -- -- -- -- -- -- -- -- -- --
|
||||||
|
|
||||||
connections := make(map[string]float64)
|
connections := make(map[string]float64)
|
||||||
|
|
22
settings.go
22
settings.go
|
@ -4,7 +4,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -13,7 +12,6 @@ import (
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
"github.com/valyala/fasthttp"
|
"github.com/valyala/fasthttp"
|
||||||
"go.uber.org/zap"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type empty int
|
type empty int
|
||||||
|
@ -90,26 +88,6 @@ var ignore = map[string]struct{}{
|
||||||
|
|
||||||
func (empty) Read([]byte) (int, error) { return 0, io.EOF }
|
func (empty) Read([]byte) (int, error) { return 0, io.EOF }
|
||||||
|
|
||||||
// checkAndEnableStreaming is temporary shim, should be used before
|
|
||||||
// `StreamRequestBody` is not merged in fasthttp master
|
|
||||||
// TODO should be removed in future
|
|
||||||
func checkAndEnableStreaming(l *zap.Logger, v *viper.Viper, i interface{}) {
|
|
||||||
vi := reflect.ValueOf(i)
|
|
||||||
|
|
||||||
if vi.Type().Kind() != reflect.Ptr {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
field := vi.Elem().FieldByName("StreamRequestBody")
|
|
||||||
if !field.IsValid() || field.Kind() != reflect.Bool {
|
|
||||||
l.Warn("stream request body not supported")
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
field.SetBool(v.GetBool(cfgWebStreamRequestBody))
|
|
||||||
}
|
|
||||||
|
|
||||||
func settings() *viper.Viper {
|
func settings() *viper.Viper {
|
||||||
v := viper.New()
|
v := viper.New()
|
||||||
v.AutomaticEnv()
|
v.AutomaticEnv()
|
||||||
|
|
Loading…
Reference in a new issue