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
-}
-
-