@@ -23,33 +23,33 @@ func (v html) Renderable(_ context.Context) (Renderable, error) {
2323}
2424
2525func HTML (renderable RequestRenderable ) http.Handler {
26- return RequestHandlerFunc (func (r * http.Request ) (AsRenderable , error ) {
27- v , err := renderable .RequestRenderable (r )
26+ return RequestHandlerFunc (func (r * http.Request ) (AsRenderable , http. Handler , error ) {
27+ v , next , err := renderable .RequestRenderable (r )
2828 if err != nil {
29- return nil , err
29+ return nil , next , err
3030 }
3131
32- return html {Body : v }, nil
32+ return html {Body : v }, next , nil
3333 })
3434}
3535
3636func TestRequestRequestHandler (t * testing.T ) {
37- var empty = RequestRenderableFunc (func (r * http.Request ) (AsRenderable , error ) {
38- return nil , nil
37+ var empty = RequestRenderableFunc (func (r * http.Request ) (AsRenderable , http. Handler , error ) {
38+ return nil , nil , nil
3939 })
4040
4141 mux := http .NewServeMux ()
4242
43- mux .Handle ("/empty" , RequestHandlerFunc (empty ))
43+ mux .Handle ("/empty" , RequestHandler (empty ))
4444 mux .Handle ("/html/empty" , HTML (empty ))
4545
46- mux .Handle ("/person" , RequestHandlerFunc (func (r * http.Request ) (AsRenderable , error ) {
46+ mux .Handle ("/person" , RequestHandlerFunc (func (r * http.Request ) (AsRenderable , http. Handler , error ) {
4747 name := r .URL .Query ().Get ("name" )
4848 if name == "" {
49- return nil , fmt .Errorf ("missing name" )
49+ return nil , nil , fmt .Errorf ("missing name" )
5050 }
5151
52- return PersonView (Person {Name : name }), nil
52+ return PersonView (Person {Name : name }), nil , nil
5353 }))
5454
5555 server := httptest .NewServer (mux )
0 commit comments