diff options
Diffstat (limited to 'vendor/github.com/gorilla/websocket/examples/command')
3 files changed, 32 insertions, 35 deletions
diff --git a/vendor/github.com/gorilla/websocket/examples/command/README.md b/vendor/github.com/gorilla/websocket/examples/command/README.md index ed6f78684..c30d3979a 100644 --- a/vendor/github.com/gorilla/websocket/examples/command/README.md +++ b/vendor/github.com/gorilla/websocket/examples/command/README.md @@ -2,7 +2,7 @@ This example connects a websocket connection to stdin and stdout of a command. Received messages are written to stdin followed by a `\n`. Each line read from -standard out is sent as a message to the client. +from standard out is sent as a message to the client. $ go get github.com/gorilla/websocket $ cd `go list -f '{{.Dir}}' github.com/gorilla/websocket/examples/command` diff --git a/vendor/github.com/gorilla/websocket/examples/command/home.html b/vendor/github.com/gorilla/websocket/examples/command/home.html index 19c46128a..72fd02b2a 100644 --- a/vendor/github.com/gorilla/websocket/examples/command/home.html +++ b/vendor/github.com/gorilla/websocket/examples/command/home.html @@ -2,53 +2,47 @@ <html lang="en"> <head> <title>Command Example</title> +<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <script type="text/javascript"> -window.onload = function () { + $(function() { + var conn; - var msg = document.getElementById("msg"); - var log = document.getElementById("log"); + var msg = $("#msg"); + var log = $("#log"); - function appendLog(item) { - var doScroll = log.scrollTop > log.scrollHeight - log.clientHeight - 1; - log.appendChild(item); + function appendLog(msg) { + var d = log[0] + var doScroll = d.scrollTop == d.scrollHeight - d.clientHeight; + msg.appendTo(log) if (doScroll) { - log.scrollTop = log.scrollHeight - log.clientHeight; + d.scrollTop = d.scrollHeight - d.clientHeight; } } - document.getElementById("form").onsubmit = function () { + $("#form").submit(function() { if (!conn) { return false; } - if (!msg.value) { + if (!msg.val()) { return false; } - conn.send(msg.value); - msg.value = ""; - return false; - }; + conn.send(msg.val()); + msg.val(""); + return false + }); if (window["WebSocket"]) { - conn = new WebSocket("ws://" + document.location.host + "/ws"); - conn.onclose = function (evt) { - var item = document.createElement("div"); - item.innerHTML = "<b>Connection closed.</b>"; - appendLog(item); - }; - conn.onmessage = function (evt) { - var messages = evt.data.split('\n'); - for (var i = 0; i < messages.length; i++) { - var item = document.createElement("div"); - item.innerText = messages[i]; - appendLog(item); - } - }; + conn = new WebSocket("ws://{{$}}/ws"); + conn.onclose = function(evt) { + appendLog($("<div><b>Connection closed.</b></div>")) + } + conn.onmessage = function(evt) { + appendLog($("<pre/>").text(evt.data)) + } } else { - var item = document.createElement("div"); - item.innerHTML = "<b>Your browser does not support WebSockets.</b>"; - appendLog(item); + appendLog($("<div><b>Your browser does not support WebSockets.</b></div>")) } -}; + }); </script> <style type="text/css"> html { diff --git a/vendor/github.com/gorilla/websocket/examples/command/main.go b/vendor/github.com/gorilla/websocket/examples/command/main.go index 239c5c85c..438fb8328 100644 --- a/vendor/github.com/gorilla/websocket/examples/command/main.go +++ b/vendor/github.com/gorilla/websocket/examples/command/main.go @@ -12,14 +12,16 @@ import ( "net/http" "os" "os/exec" + "text/template" "time" "github.com/gorilla/websocket" ) var ( - addr = flag.String("addr", "127.0.0.1:8080", "http service address") - cmdPath string + addr = flag.String("addr", "127.0.0.1:8080", "http service address") + cmdPath string + homeTempl = template.Must(template.ParseFiles("home.html")) ) const ( @@ -174,7 +176,8 @@ func serveHome(w http.ResponseWriter, r *http.Request) { http.Error(w, "Method not allowed", 405) return } - http.ServeFile(w, r, "home.html") + w.Header().Set("Content-Type", "text/html; charset=utf-8") + homeTempl.Execute(w, r.Host) } func main() { |