tmpchat

commit 3229c8c3f64a8cbe5ffe91155a54975cbca81201

tree

parent:
3797ec25a55762f2aa49e7f479d306cef67a6882

nmyk <nick@nmyk.io>

2022-12-11T11:22:46-05:00

removes turnstile, simplifies

diff --git a/cmd/frontend/main.go b/cmd/frontend/main.go
index 1e352126ce14e8eacdee1a8097b9498983b059c9..b8cb7d2e4a1f4759367333cad9eb3adf829484d8 100644
--- a/cmd/frontend/main.go
+++ b/cmd/frontend/main.go
@@ -2,12 +2,13 @@ package main
 
 import (
 	"fmt"
-	"github.com/google/uuid"
-	"github.com/ianschenck/envflag"
 	"html/template"
 	"io/ioutil"
 	"log"
 	"net/http"
+
+	"github.com/google/uuid"
+	"github.com/ianschenck/envflag"
 )
 
 func getTemplate(desc string, funcMap template.FuncMap) *template.Template {
@@ -17,7 +18,7 @@ 	)
 	return template.Must(template.New(desc).Funcs(funcMap).Parse(string(t)))
 }
 
-type tmpchatHandler struct{
+type tmpchatHandler struct {
 	signalingURL string
 }
 
@@ -33,10 +34,6 @@ 	} else {
 		tmpl = getTemplate("tmpchat-channel", fm)
 	}
 	userID := uuid.New().String()
-	// if ok := tmpchat.Turnstile.Register(userID); !ok {
-	//	w.WriteHeader(http.StatusNoContent)
-	//	return
-	// }
 	d := tmpchatPageData{
 		channelName,
 		userID,
@@ -53,9 +50,8 @@ }
 
 func main() {
 	var signalingURL string
-	envflag.StringVar(&signalingURL, "TMPCHAT_SIGNALING_URL", "ws://localhost:5050", "URL for tmpchat signaling server")
+	envflag.StringVar(&signalingURL, "TMPCHAT_SIGNALING_URL", "ws://signaling:5050", "URL for tmpchat signaling server")
 	envflag.Parse()
 	http.Handle("/", tmpchatHandler{signalingURL})
 	log.Fatal(http.ListenAndServe(":8080", nil))
 }
-
diff --git a/cmd/signaling/main.go b/cmd/signaling/main.go
index daab31e8decead6d0dc8d561ea534c9c555b273e..c84880464a2a8ab6a8f6b4fd873e23a75915e8a3 100644
--- a/cmd/signaling/main.go
+++ b/cmd/signaling/main.go
@@ -2,21 +2,20 @@ package main
 
 import (
 	"encoding/json"
-	"github.com/gorilla/websocket"
-	"github.com/ianschenck/envflag"
 	"log"
 	"net/http"
 	"net/url"
 	"tmpchat"
+
+	"github.com/gorilla/websocket"
+	"github.com/ianschenck/envflag"
 )
 
 var chat = &tmpchat.Chat{
 	Channels: make(map[string]*tmpchat.Channel),
 }
 
-var turnstile = &tmpchat.Turnstile{}
-
-type signalingHandler struct{
+type signalingHandler struct {
 	frontendURL string
 }
 
@@ -29,10 +28,6 @@ 	}
 	if vals, ok := params["userID"]; ok {
 		userID = vals[0]
 	}
-	// if ok := turnstile.Admit(userID); !ok {
-	//	w.WriteHeader(http.StatusForbidden)
-	//	return
-	//}
 	upgrader := websocket.Upgrader{
 		CheckOrigin: func(*http.Request) bool {
 			var origin string
@@ -71,7 +66,7 @@ }
 
 func main() {
 	var frontendURL string
-	envflag.StringVar(&frontendURL, "TMPCHAT_SIGNALING_URL", "http://localhost:8080", "")
+	envflag.StringVar(&frontendURL, "TMPCHAT_URL", "http://frontend:8080", "")
 	envflag.Parse()
 	http.Handle("/", signalingHandler{frontendURL})
 	log.Fatal(http.ListenAndServe(":5050", nil))
diff --git a/tmpchat.go b/tmpchat.go
index 95e63f001dc6b91cfb0ea4d06a6ef72964e89aeb..a76ff638ff91fbba8e0aa09a97dce36820ffba6a 100644
--- a/tmpchat.go
+++ b/tmpchat.go
@@ -16,9 +16,8 @@ )
 
 type Chat struct {
 	sync.RWMutex
-	Channels  map[string]*Channel
+	Channels map[string]*Channel
 }
-
 
 func (ch *Chat) Get(channelName string) (*Channel, bool) {
 	ch.RLock()
@@ -192,36 +191,3 @@ 		}
 		return true
 	})
 }
-
-type Turnstile struct {
-	sync.RWMutex
-	m map[string]struct{}
-}
-
-func (t *Turnstile) Register(userID string) bool {
-	t.RLock()
-	_, ok := t.m[userID]
-	t.RUnlock()
-	if ok {
-		return false
-	}
-	t.Lock()
-	t.m[userID] = struct{}{}
-	t.Unlock()
-	return true
-}
-
-func (t *Turnstile) Admit(userID string) bool {
-	t.RLock()
-	_, ok := t.m[userID]
-	t.RUnlock()
-	if ok {
-		t.Lock()
-		delete(t.m, userID)
-		t.Unlock()
-		return true
-	}
-	return false
-}
-
-