mirror of
https://github.com/caddyserver/caddy.git
synced 2025-12-08 06:09:53 +00:00
Performance testing Load function
This commit is contained in:
parent
86e2d1b0a4
commit
a8dc73b4d9
7 changed files with 132 additions and 12 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package caddyhttp
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
|
|
@ -24,13 +25,15 @@ func init() {
|
|||
|
||||
type httpModuleConfig struct {
|
||||
Servers map[string]httpServerConfig `json:"servers"`
|
||||
|
||||
servers []*http.Server
|
||||
}
|
||||
|
||||
func (hc *httpModuleConfig) Run() error {
|
||||
fmt.Printf("RUNNING: %#v\n", hc)
|
||||
// fmt.Printf("RUNNING: %#v\n", hc)
|
||||
|
||||
for _, srv := range hc.Servers {
|
||||
s := http.Server{
|
||||
s := &http.Server{
|
||||
ReadTimeout: time.Duration(srv.ReadTimeout),
|
||||
ReadHeaderTimeout: time.Duration(srv.ReadHeaderTimeout),
|
||||
}
|
||||
|
|
@ -53,11 +56,21 @@ func (hc *httpModuleConfig) Run() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (hc *httpModuleConfig) Cancel() error {
|
||||
for _, s := range hc.servers {
|
||||
err := s.Shutdown(context.Background()) // TODO
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func parseListenAddr(a string) (proto string, addrs []string, err error) {
|
||||
proto = "tcp"
|
||||
if idx := strings.Index(a, ":::"); idx >= 0 {
|
||||
if idx := strings.Index(a, "/"); idx >= 0 {
|
||||
proto = strings.ToLower(strings.TrimSpace(a[:idx]))
|
||||
a = a[idx+3:]
|
||||
a = a[idx+1:]
|
||||
}
|
||||
var host, port string
|
||||
host, port, err = net.SplitHostPort(a)
|
||||
|
|
|
|||
|
|
@ -28,22 +28,22 @@ func TestParseListenerAddr(t *testing.T) {
|
|||
expectAddrs: []string{":1234"},
|
||||
},
|
||||
{
|
||||
input: "tcp::::1234",
|
||||
input: "tcp/:1234",
|
||||
expectProto: "tcp",
|
||||
expectAddrs: []string{":1234"},
|
||||
},
|
||||
{
|
||||
input: "tcp6::::1234",
|
||||
input: "tcp6/:1234",
|
||||
expectProto: "tcp6",
|
||||
expectAddrs: []string{":1234"},
|
||||
},
|
||||
{
|
||||
input: "tcp4:::localhost:1234",
|
||||
input: "tcp4/localhost:1234",
|
||||
expectProto: "tcp4",
|
||||
expectAddrs: []string{"localhost:1234"},
|
||||
},
|
||||
{
|
||||
input: "unix:::localhost:1234-1236",
|
||||
input: "unix/localhost:1234-1236",
|
||||
expectProto: "unix",
|
||||
expectAddrs: []string{"localhost:1234", "localhost:1235", "localhost:1236"},
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue