grim/amongchat
Clone
Summary
Browse
Changes
Graph
Initial revision
draft
default
tip
2020-09-23, Gary Kramlich
dead8a9014bd
Initial revision
package
server
import
(
"fmt"
"net/http"
"time"
"github.com/gin-gonic/gin"
"keep.imfreedom.org/grim/amongchat/muxer"
)
type
Server
struct
{
listenAddr
string
muxer
*
muxer
.
Muxer
server
*
http
.
Server
}
func
NewServer
(
listenAddr
string
,
muxer
*
muxer
.
Muxer
)
*
Server
{
return
&
Server
{
listenAddr
:
listenAddr
,
muxer
:
muxer
,
server
:
&
http
.
Server
{
Addr
:
listenAddr
,
ReadTimeout
:
10
*
time
.
Second
,
WriteTimeout
:
10
*
time
.
Second
,
},
}
}
func
(
s
*
Server
)
Listen
()
error
{
gin
.
SetMode
(
gin
.
ReleaseMode
)
router
:=
gin
.
Default
()
router
.
GET
(
"/ws"
,
s
.
wsHandler
)
s
.
server
.
Handler
=
router
fmt
.
Printf
(
"listening on %s\n"
,
s
.
listenAddr
)
return
s
.
server
.
ListenAndServe
()
}
func
(
s
*
Server
)
Close
()
error
{
return
s
.
server
.
Close
()
}