Skip to content

Commit b6ac203

Browse files
committed
clea(*): clean code and comment debug statements
1 parent 6b45d36 commit b6ac203

File tree

4 files changed

+59
-134
lines changed

4 files changed

+59
-134
lines changed

main.go

+19-57
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@ import (
55
"fmt"
66
"log"
77
"net/http"
8-
"net/url"
98
"os"
109
"strconv"
1110
"time"
1211

1312
"github.com/julien/gogala/lib"
1413
"golang.org/x/net/websocket"
15-
"golang.org/x/tools/playground/socket"
1614
)
1715

1816
const (
@@ -27,7 +25,7 @@ var (
2725
)
2826

2927
func init() {
30-
flag.BoolVar(&verbose, "verbose", true, "Debug mode")
28+
flag.BoolVar(&verbose, "verbose", false, "Debug mode")
3129

3230
if *listenAddr == "" {
3331
*listenAddr = "8080"
@@ -39,21 +37,11 @@ func main() {
3937

4038
debug = lib.Debug(verbose)
4139

42-
u, err := url.Parse("ws://localhost:" + *listenAddr + "/co")
43-
if err != nil {
44-
debug.Printf("Error: %v\n", err)
45-
}
46-
4740
http.Handle("/", indexHandler())
4841
http.Handle("/static/", lib.GZipHandler(lib.CacheHandler(30, staticHandler())))
4942
http.Handle("/ws", websocket.Handler(wsHandler))
5043

51-
ws := socket.NewHandler(u)
52-
53-
http.Handle("/co", ws.Handler)
54-
5544
debug.Printf("Listening on: %s\n", *listenAddr)
56-
5745
log.Fatal(http.ListenAndServe(":"+*listenAddr, nil))
5846
}
5947

@@ -70,36 +58,33 @@ func staticHandler() http.Handler {
7058
}
7159

7260
func wsHandler(ws *websocket.Conn) {
73-
//! Remember: returning here disconnects client
74-
7561
registerClient(ws)
7662

7763
for {
7864
var msg lib.Message
7965
var out lib.Message
8066

8167
if err := websocket.JSON.Receive(ws, &msg); err != nil {
82-
debug.Printf("Error reading message:\n%s\n", err)
68+
debug.Printf("Error reading message: %s\n", err)
8369
unregisterClient(ws)
8470
return
8571
}
8672

87-
debug.Printf("Received message:\n%s\n", msg.Kind)
73+
debug.Printf("Received message: %s\n", msg.Kind)
8874

8975
switch msg.Kind {
9076
case "format":
9177
data, err := lib.Format([]byte(msg.Body))
9278
if err != nil {
93-
94-
debug.Printf("Format Error:\n%s\n", err)
79+
debug.Printf("Format Error: %s\n", err)
9580

9681
out = lib.Message{
9782
Kind: "error",
9883
Body: err.Error(),
9984
}
10085

10186
if err := sendToAll(ws, out); err != nil {
102-
debug.Printf("Error sending message:\n%s\n", err)
87+
debug.Printf("Error sending message: %s\n", err)
10388
}
10489

10590
}
@@ -111,49 +96,42 @@ func wsHandler(ws *websocket.Conn) {
11196
Args: lib.MakeArgs(c.Name),
11297
}
11398
if err := sendToAll(ws, out); err != nil {
114-
debug.Printf("Error sending message:\n%s\n", err)
99+
debug.Printf("Error sending message: %s\n", err)
115100
}
116101
}
117102

118103
case "save":
119104
data, err := lib.CreateGist("GoGist", msg.Body)
120105
if err != nil {
121-
debug.Printf("Error creating gist:\n%v\n", err)
106+
debug.Printf("Error creating gist: %v\n", err)
122107
}
123-
debug.Printf("Created gist:\n%s\n", data)
124108

125-
// Parse Githubs reponse
126109
resp, err := lib.ParseResponse(data)
127110
if err != nil {
128-
debug.Printf("Error parsing Gists response:\n%s\n", err)
111+
debug.Printf("Error parsing Gists response: %s\n", err)
129112
}
130113

131114
s := fmt.Sprintf("%s", resp["html_url"])
132-
debug.Printf("Gist response:\n%s\n", s)
133115

134116
out = lib.Message{
135117
Kind: "gist",
136118
Body: s,
137119
}
138120

139121
if err := sendToAll(ws, out); err != nil {
140-
debug.Printf("Error sending message:\n%s\n", err)
122+
debug.Printf("Error sending message: %s\n", err)
141123
}
142124

143125
case "compile":
144-
debug.Printf("Client wants to compile code:\n%s\n", msg.Body)
145-
146126
data, err := lib.Compile(msg.Body)
147127
if err != nil {
148-
debug.Printf("Error compiling code (remote):\n%s\n", err)
128+
debug.Printf("Error compiling code (remote): %s\n", err)
149129
}
150-
debug.Printf("Compiled code:\n%s\n", string(data))
151130

152131
cr, err := lib.ParseCompileResponse(data)
153132
if err != nil {
154-
debug.Printf("Error parsing compile response:\n%s\n", err)
133+
debug.Printf("Error parsing compile response: %s\n", err)
155134
}
156-
debug.Printf("Compile response:\n%s\n", cr)
157135

158136
// WTF!
159137
if s := cr.Message(); s != nil {
@@ -163,40 +141,31 @@ func wsHandler(ws *websocket.Conn) {
163141
Body: s.(string),
164142
}
165143

166-
if err := sendToAll(ws, out); err != nil {
167-
debug.Printf("Error sending message:\n%s\n", err)
168-
}
144+
sendToAll(ws, out)
169145
}
170146
}
171147

172148
case "chat":
173-
debug.Printf("User message:\n%s\n", msg.Body)
174149
t := time.Now().Format(time.Kitchen)
175150

176151
if c := getClient(ws); c != nil {
177152
out = lib.Message{
178153
Kind: "chat",
179154
Body: lib.AppendString("[", t, "]", c.Name, ": ", msg.Body),
180155
}
181-
if err := sendToAll(ws, out); err != nil {
182-
debug.Printf("Error sending message:\n%s\n", err)
183-
}
156+
sendToAll(ws, out)
184157
}
185158

186159
case "update":
187-
debug.Printf("Text update:\n%v\n", msg.Args)
188-
189160
if c := getClient(ws); c != nil {
190-
debug.Printf("Sending update\n")
191-
192161
out = lib.Message{
193162
Kind: "update",
194163
Body: msg.Body,
195164
Args: lib.MakeArgs(c.Name),
196165
}
197166

198167
if err := sendToOthers(ws, out); err != nil {
199-
debug.Printf("Error sending message:\n%s\n", err)
168+
debug.Printf("Error sending message: %s\n", err)
200169
}
201170
}
202171
}
@@ -219,24 +188,17 @@ func registerClient(ws *websocket.Conn) {
219188
Conn: ws,
220189
}
221190

222-
// If this client is not alone,
223-
// he is a "spectator"
224-
s := true
225-
if n > 0 {
226-
s = false
227-
}
228-
229191
// Send welcome message
230192
var msg lib.Message
231193

232194
msg = lib.Message{
233195
Kind: "info",
234196
Body: lib.AppendString("[", lib.PrintTimeStamp(), "] ", "Welcome, ", clients[u].Name),
235-
Args: lib.MakeArgs(clients[u].Name, s),
197+
Args: lib.MakeArgs(clients[u].Name),
236198
}
237199

238200
if err := sendToClient(ws, msg); err != nil {
239-
debug.Printf("Error sending message:\n%s\n", err)
201+
debug.Printf("Error sending message: %s\n", err)
240202
}
241203

242204
msg = lib.Message{
@@ -245,7 +207,7 @@ func registerClient(ws *websocket.Conn) {
245207
}
246208

247209
if err := sendToOthers(ws, msg); err != nil {
248-
debug.Printf("Error sending mesaage to others:\n%s\n", err)
210+
debug.Printf("Error sending mesaage to others: %s\n", err)
249211
}
250212
}
251213

@@ -304,12 +266,12 @@ func sendToOthers(ws *websocket.Conn, msg lib.Message) error {
304266
func sendToAll(ws *websocket.Conn, msg lib.Message) error {
305267

306268
if err := sendToClient(ws, msg); err != nil {
307-
debug.Printf("Error sending message to client:\n%s\n", err)
269+
debug.Printf("Error sending message to client: %s\n", err)
308270
return err
309271
}
310272

311273
if err := sendToOthers(ws, msg); err != nil {
312-
debug.Printf("Error sending message to others:\n%s\n", err)
274+
debug.Printf("Error sending message to others: %s\n", err)
313275
return err
314276
}
315277

static/assets/main.js

+21-33
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,17 @@
33

44
window.addEventListener('load', init, false);
55

6-
var defaultClientId = 'gopher-gala-2015@julienc';
6+
var defaultClientId = 'gogala';
77
var clientId = null;
8-
// UI
98
var editor = null;
109
var output = document.getElementById('js-output');
11-
var instructionsTpl = document.getElementById('js-instructions-tpl');
10+
var instructions = document.getElementById('js-instructions-tpl');
1211
var gistBtn = document.getElementById('js-btn-gist');
1312
var chatTxt = document.getElementById('js-chat-txt');
1413
var chatInput = document.getElementById('js-chat-input');
15-
16-
// WebSocket
1714
var ws = null;
1815

19-
// Message handling
16+
// "Controllers"
2017
var msgCtrl = {
2118
info: function (data) {
2219
if (data.Args) {
@@ -36,19 +33,19 @@
3633
},
3734

3835
error: function (data) {
39-
setOutput(data.Body, 'error');
36+
setOutput(data.Body);
4037
},
4138

4239
stderr: function (data) {
43-
setOutput(data.Body, 'stderr');
40+
setOutput(data.Body);
4441
},
4542

4643
stdout: function (data) {
47-
setOutput(data.Body, 'success', true);
44+
setOutput(data.Body, true);
4845
},
4946

5047
gist: function (data) {
51-
setOutput('Code saved @ ' + data.Body, 'success');
48+
setOutput('Code saved @ ' + data.Body);
5249
},
5350

5451
chat: function (data) {
@@ -71,25 +68,25 @@
7168
};
7269

7370
// Socket controller
74-
var socketCtrl = {
71+
var wsCtrl = {
7572
connected: false,
7673

7774
open: function () {
78-
if (!socketCtrl.connected) {
79-
socketCtrl.connected = true;
75+
if (!wsCtrl.connected) {
76+
wsCtrl.connected = true;
8077
setChatText('Connected to chat');
8178
}
8279
},
8380

8481
close: function () {
85-
if (socketCtrl.connected) {
86-
setChatText('Disconneced', 'error');
82+
if (wsCtrl.connected) {
83+
setChatText('Disconnected\n(Happens after a few minutes of inactivity');
8784
}
88-
socketCtrl.connected = false;
85+
wsCtrl.connected = false;
8986
},
9087

9188
error: function (e) {
92-
setChatText('Socket error:', 'error');
89+
setChatText('Socket error:');
9390
},
9491

9592
message: function (e) {
@@ -130,7 +127,7 @@
130127
// Hide gutter
131128
editor.renderer.setShowGutter(false);
132129

133-
setText(instructionsTpl.textContent.trim());
130+
setText(instructions.textContent.trim());
134131

135132
editor.focus();
136133

@@ -170,8 +167,8 @@
170167
function socketHandler(e) {
171168
// console.log('WebSocket Event', e.type);
172169

173-
if (typeof socketCtrl[e.type] === 'function') {
174-
socketCtrl[e.type](e);
170+
if (typeof wsCtrl[e.type] === 'function') {
171+
wsCtrl[e.type](e);
175172
}
176173
}
177174

@@ -182,15 +179,15 @@
182179
}
183180

184181
function sendCode(src) {
185-
socketCtrl.send(ws, { Id: defaultClientId, Kind: 'compile', Body: src });
182+
wsCtrl.send(ws, { Id: defaultClientId, Kind: 'compile', Body: src });
186183
}
187184

188185
function saveCode() {
189-
socketCtrl.send(ws, { Id: defaultClientId, Kind: 'save', Body: editor.getValue() });
186+
wsCtrl.send(ws, { Id: defaultClientId, Kind: 'save', Body: editor.getValue() });
190187
}
191188

192189
function sendChatMessage(e) {
193-
if (e.keyCode === 13) {
190+
if (e.keyCode === 13 && e.currentTarget.value) {
194191
var txt = e.currentTarget.value;
195192
e.currentTarget.value = '';
196193
sendMessage('chat', txt);
@@ -212,21 +209,12 @@
212209
editor.setReadOnly(false);
213210
}
214211

215-
function setOutput(txt, cssClasses, empty) {
212+
function setOutput(txt, empty) {
216213
var el = document.createElement('pre');
217214
el.classList.add('text');
218-
219-
if (cssClasses) {
220-
cssClasses = cssClasses.split(' ');
221-
var i = 0, l = cssClasses.length;
222-
for ( ; i < l; i++) {
223-
el.classList.add(cssClasses[i]);
224-
}
225-
}
226215
el.innerHTML += txt;
227216

228217
if (empty) { output.innerHTML = ''; }
229-
230218
output.appendChild(document.createDocumentFragment().appendChild(el));
231219
output.scrollTop = output.scrollHeight - output.offsetHeight;
232220
}

0 commit comments

Comments
 (0)