summaryrefslogtreecommitdiffstats
path: root/plugin/http.go
diff options
context:
space:
mode:
authorJesse Hallam <jesse.hallam@gmail.com>2018-07-13 10:29:50 -0400
committerGitHub <noreply@github.com>2018-07-13 10:29:50 -0400
commit17f211c393772f30922bac595592e3fe60c2ef25 (patch)
tree4f8dfbe7949022d5da2de2db6d7b762e74fb4582 /plugin/http.go
parent5ddb08dcb47f938c9ac3a3e6338d9b3cc61c20a7 (diff)
downloadchat-17f211c393772f30922bac595592e3fe60c2ef25.tar.gz
chat-17f211c393772f30922bac595592e3fe60c2ef25.tar.bz2
chat-17f211c393772f30922bac595592e3fe60c2ef25.zip
MM-11292: clean up plugins GoDoc (#9109)
* clean up plugins GoDoc: - eliminate plugin.NewBlankContext() as unnecessary - export ValidIdRegex as a string vs. the less readable var - add/update various documentation strings - hide everything by default, except where used by client plugins or the mattermost-server. The exception to this rule are the `*(Args|Returns)` structs which must be public for go-plugin, but are now prefixed with `Z_` with a warning not to use. - include a top-level example to get plugin authors started This is not a breaking change for existing plugins compiled against plugins-v2. * remove commented out ServeHTTPResponseWriter * update examples to match developer docs * add missing plugin/doc.go license header
Diffstat (limited to 'plugin/http.go')
-rw-r--r--plugin/http.go34
1 files changed, 13 insertions, 21 deletions
diff --git a/plugin/http.go b/plugin/http.go
index 5faf8f08a..7d1650369 100644
--- a/plugin/http.go
+++ b/plugin/http.go
@@ -9,26 +9,26 @@ import (
"net/rpc"
)
-type HTTPResponseWriterRPCServer struct {
+type httpResponseWriterRPCServer struct {
w http.ResponseWriter
}
-func (w *HTTPResponseWriterRPCServer) Header(args struct{}, reply *http.Header) error {
+func (w *httpResponseWriterRPCServer) Header(args struct{}, reply *http.Header) error {
*reply = w.w.Header()
return nil
}
-func (w *HTTPResponseWriterRPCServer) Write(args []byte, reply *struct{}) error {
+func (w *httpResponseWriterRPCServer) Write(args []byte, reply *struct{}) error {
_, err := w.w.Write(args)
return err
}
-func (w *HTTPResponseWriterRPCServer) WriteHeader(args int, reply *struct{}) error {
+func (w *httpResponseWriterRPCServer) WriteHeader(args int, reply *struct{}) error {
w.w.WriteHeader(args)
return nil
}
-func (w *HTTPResponseWriterRPCServer) SyncHeader(args http.Header, reply *struct{}) error {
+func (w *httpResponseWriterRPCServer) SyncHeader(args http.Header, reply *struct{}) error {
dest := w.w.Header()
for k := range dest {
if _, ok := args[k]; !ok {
@@ -41,29 +41,21 @@ func (w *HTTPResponseWriterRPCServer) SyncHeader(args http.Header, reply *struct
return nil
}
-func ServeHTTPResponseWriter(w http.ResponseWriter, conn io.ReadWriteCloser) {
- server := rpc.NewServer()
- server.Register(&HTTPResponseWriterRPCServer{
- w: w,
- })
- server.ServeConn(conn)
-}
-
-type HTTPResponseWriterRPCClient struct {
+type httpResponseWriterRPCClient struct {
client *rpc.Client
header http.Header
}
-var _ http.ResponseWriter = (*HTTPResponseWriterRPCClient)(nil)
+var _ http.ResponseWriter = (*httpResponseWriterRPCClient)(nil)
-func (w *HTTPResponseWriterRPCClient) Header() http.Header {
+func (w *httpResponseWriterRPCClient) Header() http.Header {
if w.header == nil {
w.client.Call("Plugin.Header", struct{}{}, &w.header)
}
return w.header
}
-func (w *HTTPResponseWriterRPCClient) Write(b []byte) (int, error) {
+func (w *httpResponseWriterRPCClient) Write(b []byte) (int, error) {
if err := w.client.Call("Plugin.SyncHeader", w.header, nil); err != nil {
return 0, err
}
@@ -73,19 +65,19 @@ func (w *HTTPResponseWriterRPCClient) Write(b []byte) (int, error) {
return len(b), nil
}
-func (w *HTTPResponseWriterRPCClient) WriteHeader(statusCode int) {
+func (w *httpResponseWriterRPCClient) WriteHeader(statusCode int) {
if err := w.client.Call("Plugin.SyncHeader", w.header, nil); err != nil {
return
}
w.client.Call("Plugin.WriteHeader", statusCode, nil)
}
-func (h *HTTPResponseWriterRPCClient) Close() error {
+func (h *httpResponseWriterRPCClient) Close() error {
return h.client.Close()
}
-func ConnectHTTPResponseWriter(conn io.ReadWriteCloser) *HTTPResponseWriterRPCClient {
- return &HTTPResponseWriterRPCClient{
+func connectHTTPResponseWriter(conn io.ReadWriteCloser) *httpResponseWriterRPCClient {
+ return &httpResponseWriterRPCClient{
client: rpc.NewClient(conn),
}
}