v3 #197
@ -172,7 +172,7 @@ func (h *Server) HTTPHandlerFunc(handler interface{}) (http.HandlerFunc, error)
|
|||||||
hdlr := shdlr.(*httpHandler)
|
hdlr := shdlr.(*httpHandler)
|
||||||
fh, mp, err := hdlr.handlers.Search(http.MethodPost, "/"+microMethod)
|
fh, mp, err := hdlr.handlers.Search(http.MethodPost, "/"+microMethod)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
match = true
|
// match = true
|
||||||
for k, v := range mp {
|
for k, v := range mp {
|
||||||
matches[k] = v
|
matches[k] = v
|
||||||
}
|
}
|
||||||
@ -278,7 +278,7 @@ func (h *Server) HTTPHandlerFunc(handler interface{}) (http.HandlerFunc, error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// wrap the handler func
|
// wrap the handler func
|
||||||
h.opts.Hooks.EachNext(func(hook options.Hook) {
|
h.opts.Hooks.EachPrev(func(hook options.Hook) {
|
||||||
if h, ok := hook.(server.HookHandler); ok {
|
if h, ok := hook.(server.HookHandler); ok {
|
||||||
fn = h(fn)
|
fn = h(fn)
|
||||||
}
|
}
|
||||||
@ -646,7 +646,7 @@ func (h *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
h.opts.Hooks.EachNext(func(hook options.Hook) {
|
h.opts.Hooks.EachPrev(func(hook options.Hook) {
|
||||||
if h, ok := hook.(server.HookHandler); ok {
|
if h, ok := hook.(server.HookHandler); ok {
|
||||||
fn = h(fn)
|
fn = h(fn)
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package http
|
package http
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
|
||||||
|
|
||||||
"go.unistack.org/micro/v3/codec"
|
"go.unistack.org/micro/v3/codec"
|
||||||
"go.unistack.org/micro/v3/metadata"
|
"go.unistack.org/micro/v3/metadata"
|
||||||
"go.unistack.org/micro/v3/server"
|
"go.unistack.org/micro/v3/server"
|
||||||
@ -14,7 +12,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type rpcRequest struct {
|
type rpcRequest struct {
|
||||||
rw io.ReadWriter
|
// rw io.ReadWriter
|
||||||
payload interface{}
|
payload interface{}
|
||||||
codec codec.Codec
|
codec codec.Codec
|
||||||
header metadata.Metadata
|
header metadata.Metadata
|
||||||
|
@ -152,7 +152,7 @@ func (s *Server) createSubHandler(sb *httpSubscriber, opts server.Options) broke
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
opts.Hooks.EachNext(func(hook options.Hook) {
|
opts.Hooks.EachPrev(func(hook options.Hook) {
|
||||||
if h, ok := hook.(server.HookSubHandler); ok {
|
if h, ok := hook.(server.HookSubHandler); ok {
|
||||||
fn = h(fn)
|
fn = h(fn)
|
||||||
}
|
}
|
||||||
|
41
util_test.go
41
util_test.go
@ -3,9 +3,6 @@ package http
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
|
||||||
"go.unistack.org/micro/v3/options"
|
|
||||||
"go.unistack.org/micro/v3/server"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@ -101,41 +98,3 @@ func TestFillrequest(t *testing.T) {
|
|||||||
t.Fatalf("FillRequest error: %#+v", req)
|
t.Fatalf("FillRequest error: %#+v", req)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_Hook(t *testing.T) {
|
|
||||||
opts := server.Options{}
|
|
||||||
|
|
||||||
var fn server.HandlerFunc = func(fctx context.Context, req server.Request, rsp interface{}) (err error) {
|
|
||||||
fmt.Println("1")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var fn2 server.HandlerWrapper = func(server.HandlerFunc) server.HandlerFunc {
|
|
||||||
return func(ctx context.Context, req server.Request, rsp interface{}) error {
|
|
||||||
fmt.Println("2")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var fn3 server.HandlerWrapper = func(server.HandlerFunc) server.HandlerFunc {
|
|
||||||
return func(ctx context.Context, req server.Request, rsp interface{}) error {
|
|
||||||
fmt.Println("3")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var fn4 server.HandlerWrapper = func(server.HandlerFunc) server.HandlerFunc {
|
|
||||||
return func(ctx context.Context, req server.Request, rsp interface{}) error {
|
|
||||||
fmt.Println("4")
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
opts.Hooks = append(opts.Hooks, fn2, fn3, fn4)
|
|
||||||
|
|
||||||
opts.Hooks.EachNext(func(hook options.Hook) {
|
|
||||||
if h, ok := hook.(server.HandlerWrapper); ok {
|
|
||||||
fn = h(fn)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
fn(nil, nil, nil)
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user