From 4c1ddcff10b359baf5728b334acb60cc3e1b1123 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Fri, 6 Jul 2018 06:07:09 -0700 Subject: MM-10703 Adding blank request context to plugin hooks for future use. (#9043) * Adding blank request context to plugin hooks for future use. * Rename RequestContext to Context * Adding context to ServeHTTP and ExecuteCommand * Fixing import cycle in test. --- plugin/client_rpc.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'plugin/client_rpc.go') diff --git a/plugin/client_rpc.go b/plugin/client_rpc.go index f58bbd22b..39d91a3e7 100644 --- a/plugin/client_rpc.go +++ b/plugin/client_rpc.go @@ -226,10 +226,11 @@ func init() { type ServeHTTPArgs struct { ResponseWriterStream uint32 Request *http.Request + Context *Context RequestBodyStream uint32 } -func (g *HooksRPCClient) ServeHTTP(w http.ResponseWriter, r *http.Request) { +func (g *HooksRPCClient) ServeHTTP(c *Context, w http.ResponseWriter, r *http.Request) { if !g.implemented[ServeHTTPId] { http.NotFound(w, r) return @@ -282,6 +283,7 @@ func (g *HooksRPCClient) ServeHTTP(w http.ResponseWriter, r *http.Request) { } if err := g.client.Call("Plugin.ServeHTTP", ServeHTTPArgs{ + Context: c, ResponseWriterStream: serveHTTPStreamId, Request: forwardedRequest, RequestBodyStream: requestBodyStreamId, @@ -314,8 +316,10 @@ func (s *HooksRPCServer) ServeHTTP(args *ServeHTTPArgs, returns *struct{}) error } defer r.Body.Close() - if hook, ok := s.impl.(http.Handler); ok { - hook.ServeHTTP(w, r) + if hook, ok := s.impl.(interface { + ServeHTTP(c *Context, w http.ResponseWriter, r *http.Request) + }); ok { + hook.ServeHTTP(args.Context, w, r) } else { http.NotFound(w, r) } -- cgit v1.2.3-1-g7c22