github.com/adacta-ru/mattermost-server/v6@v6.0.0/app/plugin_api_tests/manual.test_http_hijack_plugin/main.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package main 5 6 import ( 7 "net/http" 8 9 "github.com/adacta-ru/mattermost-server/v6/plugin" 10 ) 11 12 type Plugin struct { 13 plugin.MattermostPlugin 14 } 15 16 func (p *Plugin) ServeHTTP(c *plugin.Context, w http.ResponseWriter, r *http.Request) { 17 hj, ok := w.(http.Hijacker) 18 if !ok { 19 w.WriteHeader(http.StatusInternalServerError) 20 return 21 } 22 23 conn, brw, err := hj.Hijack() 24 if conn == nil || brw == nil || err != nil { 25 w.WriteHeader(http.StatusInternalServerError) 26 return 27 } 28 29 conn.Write([]byte("HTTP/1.1 200\n\nOK")) 30 conn.Close() 31 } 32 33 func main() { 34 plugin.ClientMain(&Plugin{}) 35 }