mirror of
https://github.com/foomo/keel.git
synced 2025-10-16 12:35:34 +00:00
revert: read / write timeouts
This commit is contained in:
parent
9d38e438ce
commit
d2893ace06
@ -14,6 +14,7 @@ import (
|
|||||||
keelhttp "github.com/foomo/keel/net/http"
|
keelhttp "github.com/foomo/keel/net/http"
|
||||||
"github.com/foomo/keel/net/http/roundtripware"
|
"github.com/foomo/keel/net/http/roundtripware"
|
||||||
"github.com/sony/gobreaker"
|
"github.com/sony/gobreaker"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"go.uber.org/zap/zaptest"
|
"go.uber.org/zap/zaptest"
|
||||||
)
|
)
|
||||||
@ -138,11 +139,9 @@ func TestCircuitBreakerCopyBodies(t *testing.T) {
|
|||||||
// create http server with handler
|
// create http server with handler
|
||||||
svr := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
svr := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
data, err := io.ReadAll(r.Body)
|
data, err := io.ReadAll(r.Body)
|
||||||
require.NoError(t, err)
|
if assert.NoError(t, err) && assert.Equal(t, string(data), requestData) {
|
||||||
require.Equal(t, string(data), requestData)
|
_, err = w.Write([]byte(responseData))
|
||||||
_, err = w.Write([]byte(responseData))
|
assert.NoError(t, err)
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
defer svr.Close()
|
defer svr.Close()
|
||||||
@ -194,11 +193,9 @@ func TestCircuitBreakerReadFromNotCopiedBodies(t *testing.T) {
|
|||||||
// create http server with handler
|
// create http server with handler
|
||||||
svr := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
svr := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
data, err := io.ReadAll(r.Body)
|
data, err := io.ReadAll(r.Body)
|
||||||
require.NoError(t, err)
|
if assert.NoError(t, err) && assert.Equal(t, string(data), requestData) {
|
||||||
require.Equal(t, string(data), requestData)
|
_, err = w.Write([]byte(responseData))
|
||||||
_, err = w.Write([]byte(responseData))
|
assert.NoError(t, err)
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
defer svr.Close()
|
defer svr.Close()
|
||||||
|
|||||||
@ -18,10 +18,10 @@ import (
|
|||||||
|
|
||||||
// HTTP struct
|
// HTTP struct
|
||||||
type HTTP struct {
|
type HTTP struct {
|
||||||
running atomic.Bool
|
|
||||||
server *http.Server
|
|
||||||
name string
|
|
||||||
l *zap.Logger
|
l *zap.Logger
|
||||||
|
name string
|
||||||
|
server *http.Server
|
||||||
|
running atomic.Bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
@ -39,16 +39,14 @@ func NewHTTP(l *zap.Logger, name, addr string, handler http.Handler, middlewares
|
|||||||
)
|
)
|
||||||
|
|
||||||
return &HTTP{
|
return &HTTP{
|
||||||
server: &http.Server{
|
|
||||||
Addr: addr,
|
|
||||||
ErrorLog: zap.NewStdLog(l),
|
|
||||||
IdleTimeout: 5 * time.Second,
|
|
||||||
ReadTimeout: 5 * time.Second,
|
|
||||||
WriteTimeout: 5 * time.Second,
|
|
||||||
Handler: middleware.Compose(l, name, handler, middlewares...),
|
|
||||||
},
|
|
||||||
name: name,
|
|
||||||
l: l,
|
l: l,
|
||||||
|
name: name,
|
||||||
|
server: &http.Server{
|
||||||
|
Addr: addr,
|
||||||
|
Handler: middleware.Compose(l, name, handler, middlewares...),
|
||||||
|
ErrorLog: zap.NewStdLog(l),
|
||||||
|
IdleTimeout: 30 * time.Second,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,6 +58,10 @@ func (s *HTTP) Name() string {
|
|||||||
return s.name
|
return s.name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *HTTP) Server() *http.Server {
|
||||||
|
return s.server
|
||||||
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
// ~ Public methods
|
// ~ Public methods
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user