Test_App_OptionsAsterisk() — fiber Function Reference
Architecture documentation for the Test_App_OptionsAsterisk() function in app_test.go from the fiber codebase.
Entity Profile
Dependency Diagram
graph TD 5c7f3c86_fac0_9ee1_c6a6_14b26ccfc806["Test_App_OptionsAsterisk()"] e728fdd2_242f_706b_c1d2_041b3d6badb5["app_test.go"] 5c7f3c86_fac0_9ee1_c6a6_14b26ccfc806 -->|defined in| e728fdd2_242f_706b_c1d2_041b3d6badb5 style 5c7f3c86_fac0_9ee1_c6a6_14b26ccfc806 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
app_test.go lines 1542–1612
func Test_App_OptionsAsterisk(t *testing.T) {
t.Parallel()
app := New()
app.Options("/resource", func(c Ctx) error {
c.Set(HeaderAllow, "GET")
c.Status(StatusNoContent)
return nil
})
app.Options("*", func(c Ctx) error {
c.Set(HeaderAllow, "GET, POST")
c.Status(StatusOK)
return nil
})
ln := fasthttputil.NewInmemoryListener()
errCh := make(chan error, 1)
serverReady := make(chan struct{})
go func() {
serverReady <- struct{}{}
errCh <- app.Listener(ln)
}()
<-serverReady
t.Cleanup(func() {
require.NoError(t, app.Shutdown())
require.NoError(t, <-errCh)
})
writeRequest := func(conn net.Conn, raw string) {
t.Helper()
_, err := conn.Write([]byte(raw))
require.NoError(t, err)
}
conn, err := ln.Dial()
require.NoError(t, err)
writeRequest(conn, "OPTIONS * HTTP/1.1\r\nHost: example.com\r\n\r\n")
resp, err := http.ReadResponse(bufio.NewReader(conn), &http.Request{Method: http.MethodOptions})
require.NoError(t, err)
require.Equal(t, StatusOK, resp.StatusCode)
require.Equal(t, "GET, POST", resp.Header.Get(HeaderAllow))
require.Zero(t, resp.ContentLength)
body, err := io.ReadAll(resp.Body)
require.NoError(t, err)
require.Empty(t, body)
require.NoError(t, resp.Body.Close())
require.NoError(t, conn.Close())
controlConn, err := ln.Dial()
require.NoError(t, err)
writeRequest(controlConn, "OPTIONS /resource HTTP/1.1\r\nHost: example.com\r\n\r\n")
controlResp, err := http.ReadResponse(bufio.NewReader(controlConn), &http.Request{Method: http.MethodOptions})
require.NoError(t, err)
require.Equal(t, StatusNoContent, controlResp.StatusCode)
require.Equal(t, "GET", controlResp.Header.Get(HeaderAllow))
require.Zero(t, controlResp.ContentLength)
controlBody, err := io.ReadAll(controlResp.Body)
require.NoError(t, err)
require.Empty(t, controlBody)
require.NoError(t, controlResp.Body.Close())
require.NoError(t, controlConn.Close())
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does Test_App_OptionsAsterisk() do?
Test_App_OptionsAsterisk() is a function in the fiber codebase, defined in app_test.go.
Where is Test_App_OptionsAsterisk() defined?
Test_App_OptionsAsterisk() is defined in app_test.go at line 1542.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free