TestEngineHandleContextPreventsMiddlewareReEntry() — gin Function Reference
Architecture documentation for the TestEngineHandleContextPreventsMiddlewareReEntry() function in gin_test.go from the gin codebase.
Entity Profile
Dependency Diagram
graph TD a3b58137_df33_e54d_9e24_6d6bd6e335aa["TestEngineHandleContextPreventsMiddlewareReEntry()"] 5d6e7276_feeb_b8e2_30e8_0ae0827740a5["gin_test.go"] a3b58137_df33_e54d_9e24_6d6bd6e335aa -->|defined in| 5d6e7276_feeb_b8e2_30e8_0ae0827740a5 style a3b58137_df33_e54d_9e24_6d6bd6e335aa fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
gin_test.go lines 708–744
func TestEngineHandleContextPreventsMiddlewareReEntry(t *testing.T) {
// given
var handlerCounterV1, handlerCounterV2, middlewareCounterV1 int64
r := New()
v1 := r.Group("/v1")
{
v1.Use(func(c *Context) {
atomic.AddInt64(&middlewareCounterV1, 1)
})
v1.GET("/test", func(c *Context) {
atomic.AddInt64(&handlerCounterV1, 1)
c.Status(http.StatusOK)
})
}
v2 := r.Group("/v2")
{
v2.GET("/test", func(c *Context) {
c.Request.URL.Path = "/v1/test"
r.HandleContext(c)
}, func(c *Context) {
atomic.AddInt64(&handlerCounterV2, 1)
})
}
// when
responseV1 := PerformRequest(r, "GET", "/v1/test")
responseV2 := PerformRequest(r, "GET", "/v2/test")
// then
assert.Equal(t, 200, responseV1.Code)
assert.Equal(t, 200, responseV2.Code)
assert.Equal(t, int64(2), handlerCounterV1)
assert.Equal(t, int64(2), middlewareCounterV1)
assert.Equal(t, int64(1), handlerCounterV2)
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does TestEngineHandleContextPreventsMiddlewareReEntry() do?
TestEngineHandleContextPreventsMiddlewareReEntry() is a function in the gin codebase, defined in gin_test.go.
Where is TestEngineHandleContextPreventsMiddlewareReEntry() defined?
TestEngineHandleContextPreventsMiddlewareReEntry() is defined in gin_test.go at line 708.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free