mirror of
https://github.com/lkmio/lkm.git
synced 2025-09-27 03:26:01 +08:00
44 lines
736 B
Go
44 lines
736 B
Go
package stream
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestHookServer(t *testing.T) {
|
|
//模拟各种多个情况对推拉流的影响
|
|
random := false
|
|
i := 1
|
|
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
|
|
println(fmt.Sprintf("接收到请求 path:%s", request.URL.Path))
|
|
if !random {
|
|
writer.WriteHeader(http.StatusOK)
|
|
return
|
|
}
|
|
|
|
switch i {
|
|
case 1:
|
|
writer.WriteHeader(http.StatusOK)
|
|
break
|
|
case 2:
|
|
writer.WriteHeader(http.StatusNonAuthoritativeInfo)
|
|
break
|
|
case 3:
|
|
time.Sleep(5 * time.Second)
|
|
break
|
|
case 4:
|
|
time.Sleep(20 * time.Second)
|
|
break
|
|
}
|
|
|
|
i = i%5 + 1
|
|
})
|
|
|
|
err := http.ListenAndServe(":8082", nil)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|