mirror of
https://github.com/gofiber/fiber.git
synced 2025-02-24 23:03:43 +00:00
149 lines
3.8 KiB
Go
149 lines
3.8 KiB
Go
package proxy
|
|
|
|
// // go test -run Test_Proxy_Empty_Host
|
|
// func Test_Proxy_Empty_Host(t *testing.T) {
|
|
// app := fiber.New()
|
|
// app.Use(New(
|
|
// Config{Hosts: ""},
|
|
// ))
|
|
|
|
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode)
|
|
// }
|
|
|
|
// // go test -run Test_Proxy_Next
|
|
// func Test_Proxy_Next(t *testing.T) {
|
|
// app := fiber.New()
|
|
// app.Use(New(Config{
|
|
// Hosts: "next",
|
|
// Next: func(_ *fiber.Ctx) bool {
|
|
// return true
|
|
// },
|
|
// }))
|
|
|
|
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusNotFound, resp.StatusCode)
|
|
// }
|
|
|
|
// // go test -run Test_Proxy
|
|
// func Test_Proxy(t *testing.T) {
|
|
// target := fiber.New(fiber.Config{
|
|
// DisableStartupMessage: true,
|
|
// })
|
|
|
|
// target.Get("/", func(c *fiber.Ctx) error {
|
|
// return c.SendStatus(fiber.StatusTeapot)
|
|
// })
|
|
|
|
// go func() {
|
|
// utils.AssertEqual(t, nil, target.Listen(":3001"))
|
|
// }()
|
|
|
|
// time.Sleep(time.Second)
|
|
|
|
// resp, err := target.Test(httptest.NewRequest("GET", "/", nil), 2000)
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
|
|
|
|
// app := fiber.New()
|
|
|
|
// host := "localhost:3001"
|
|
|
|
// app.Use(New(Config{
|
|
// Hosts: host,
|
|
// }))
|
|
|
|
// req := httptest.NewRequest("GET", "/", nil)
|
|
// req.Host = host
|
|
// resp, err = app.Test(req)
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
|
|
// }
|
|
|
|
// // go test -run Test_Proxy_Before_With_Error
|
|
// func Test_Proxy_Before_With_Error(t *testing.T) {
|
|
// app := fiber.New()
|
|
|
|
// errStr := "error after Before"
|
|
|
|
// app.Use(
|
|
// New(Config{
|
|
// Hosts: "host",
|
|
// Before: func(c *fiber.Ctx) error {
|
|
// return fmt.Errorf(errStr)
|
|
// },
|
|
// }))
|
|
|
|
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode)
|
|
|
|
// b, err := ioutil.ReadAll(resp.Body)
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, errStr, string(b))
|
|
// }
|
|
|
|
// // go test -run Test_Proxy_After_With_Error
|
|
// func Test_Proxy_After_With_Error(t *testing.T) {
|
|
// target := fiber.New(fiber.Config{
|
|
// DisableStartupMessage: true,
|
|
// })
|
|
|
|
// target.Get("/", func(c *fiber.Ctx) error {
|
|
// return c.SendStatus(fiber.StatusTeapot)
|
|
// })
|
|
|
|
// go func() {
|
|
// utils.AssertEqual(t, nil, target.Listen(":3002"))
|
|
// }()
|
|
|
|
// time.Sleep(time.Second)
|
|
|
|
// resp, err := target.Test(httptest.NewRequest("GET", "/", nil), 2000)
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusTeapot, resp.StatusCode)
|
|
|
|
// app := fiber.New()
|
|
|
|
// host := "localhost:3001"
|
|
// errStr := "error after After"
|
|
|
|
// app.Use(New(Config{
|
|
// Hosts: host,
|
|
// After: func(ctx *fiber.Ctx) error {
|
|
// utils.AssertEqual(t, fiber.StatusTeapot, ctx.Response().StatusCode())
|
|
// return fmt.Errorf(errStr)
|
|
// },
|
|
// }))
|
|
|
|
// req := httptest.NewRequest("GET", "/", nil)
|
|
// req.Host = host
|
|
// resp, err = app.Test(req)
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode)
|
|
|
|
// b, err := ioutil.ReadAll(resp.Body)
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, errStr, string(b))
|
|
// }
|
|
|
|
// // go test -run Test_Proxy_Do_With_Error
|
|
// func Test_Proxy_Do_With_Error(t *testing.T) {
|
|
// app := fiber.New()
|
|
|
|
// app.Use(
|
|
// New(Config{
|
|
// Hosts: "localhost:90000",
|
|
// }))
|
|
|
|
// resp, err := app.Test(httptest.NewRequest("GET", "/", nil))
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, fiber.StatusInternalServerError, resp.StatusCode)
|
|
|
|
// b, err := ioutil.ReadAll(resp.Body)
|
|
// utils.AssertEqual(t, nil, err)
|
|
// utils.AssertEqual(t, true, strings.Contains(string(b), "127.0.0.1:90000"))
|
|
// }
|