+/* reliable-chat - multipath chat
+ * Copyright (C) 2012 Scott Worley <sworley@chkno.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
package main
import "container/list"
var port = flag.Int("port", 21059, "Port to listen on")
+var frame_count = expvar.NewInt("frame_count")
var speak_count = expvar.NewInt("speak_count")
var fetch_count = expvar.NewInt("fetch_count")
var fetch_wait_count = expvar.NewInt("fetch_wait_count")
<head>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var since;
+ window.parent.postMessage('[{"Time":"2000-01-01T00:00:00.000000-00:00","ID":"/frame deprecation warning","Text":"*** You are using an old version of the client. Please upgrade."}]', "*");
function go() {
var delay = 10000;
var xhr = new XMLHttpRequest();
</html>
`
+const robots_txt = `User-agent: *
+Disallow: /
+`
+
func start_server(store Store) {
http.HandleFunc("/fetch", func(w http.ResponseWriter, r *http.Request) {
var since time.Time
return
}
w.Header().Add("Content-Type", "application/json")
+ w.Header().Add("Access-Control-Allow-Origin", "*")
w.Write(json_encoded)
})
})
http.HandleFunc("/frame", func(w http.ResponseWriter, r *http.Request) {
+ frame_count.Add(1)
w.Write([]byte(frame_html));
})
+ http.HandleFunc("/robots.txt", func(w http.ResponseWriter, r *http.Request) {
+ w.Write([]byte(robots_txt));
+ })
+
log.Fatal(http.ListenAndServe(":"+strconv.Itoa(*port), nil))
}
func main() {
+ flag.Parse()
store := start_store()
start_server(store)
}