parent
c19043cd52
commit
280e8218ae
|
@ -1,6 +1,8 @@
|
||||||
|
# do this
|
||||||
|
|
||||||
|
run:
|
||||||
|
go run server.go
|
||||||
|
|
||||||
build:
|
build:
|
||||||
go build
|
go build
|
||||||
./emaild
|
./emaild
|
||||||
|
|
||||||
run:
|
|
||||||
go run *.go
|
|
||||||
|
|
|
@ -219,6 +219,8 @@ func sendProtobuf(conn *websocket.Conn, msg *pb.Event) {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
func eventHandler(w http.ResponseWriter, r *http.Request) {
|
func eventHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Println("Starting http.ListenAndServe() on port 9000")
|
||||||
|
spew.Dump(r)
|
||||||
log.Println("echoHandler() START")
|
log.Println("echoHandler() START")
|
||||||
log.Println("echoHandler() ATTEMPT r.Header.Get", r.Header.Get("User-Agent"))
|
log.Println("echoHandler() ATTEMPT r.Header.Get", r.Header.Get("User-Agent"))
|
||||||
log.Println("echoHandler() ATTEMPT r.Header", r.Header)
|
log.Println("echoHandler() ATTEMPT r.Header", r.Header)
|
||||||
|
@ -256,6 +258,8 @@ func eventHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func serveHome(w http.ResponseWriter, r *http.Request) {
|
func serveHome(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Println("Starting http.ListenAndServe() on port 9000")
|
||||||
|
spew.Dump(r)
|
||||||
if r.URL.Path != "/" {
|
if r.URL.Path != "/" {
|
||||||
http.Error(w, "Not found.", http.StatusNotFound)
|
http.Error(w, "Not found.", http.StatusNotFound)
|
||||||
return
|
return
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
// inspired from:
|
||||||
|
// https://github.com/mactsouk/opensource.com.git
|
||||||
|
// and
|
||||||
|
// https://coderwall.com/p/wohavg/creating-a-simple-tcp-server-in-go
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
// import "fmt"
|
||||||
|
// import "os"
|
||||||
|
|
||||||
|
import "math/rand"
|
||||||
|
import "net"
|
||||||
|
import "time"
|
||||||
|
import "log"
|
||||||
|
|
||||||
|
// will try to get this hosts FQDN
|
||||||
|
// import "github.com/Showmax/go-fqdn"
|
||||||
|
|
||||||
|
// this is the king of dns libraries
|
||||||
|
// import "github.com/miekg/dns"
|
||||||
|
|
||||||
|
// this is awesome for debugging
|
||||||
|
// import "github.com/davecgh/go-spew/spew"
|
||||||
|
|
||||||
|
// this is our dnssec IPv6 socket library
|
||||||
|
import "git.wit.com/jcarr/dnssecsocket"
|
||||||
|
|
||||||
|
const (
|
||||||
|
CONN_HOST = "localhost"
|
||||||
|
CONN_PORT = "3333"
|
||||||
|
CONN_TYPE = "tcp"
|
||||||
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
|
go func(c net.Conn) {
|
||||||
|
defer c.Close()
|
||||||
|
io.Copy(os.Stdout, c)
|
||||||
|
}(conn)
|
||||||
|
*/
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
/*
|
||||||
|
// redirect all this output to systemd
|
||||||
|
dnssecsocket.UseJournalctl()
|
||||||
|
|
||||||
|
hostname := fqdn.Get()
|
||||||
|
log.Println("FQDN hostname is", hostname)
|
||||||
|
|
||||||
|
// lookup the IP address from DNS
|
||||||
|
dnsRR := dnssecsocket.Dnstrace(hostname, "AAAA")
|
||||||
|
spew.Dump(dnsRR)
|
||||||
|
ipaddr := dns.Field(dnsRR, 1)
|
||||||
|
log.Println("ipaddr", ipaddr)
|
||||||
|
*/
|
||||||
|
|
||||||
|
listenstr := "[" + "localhost" + "]:" + CONN_PORT
|
||||||
|
log.Println("listenstr", listenstr)
|
||||||
|
|
||||||
|
myTCPAddr, err := net.ResolveTCPAddr("tcp", listenstr)
|
||||||
|
|
||||||
|
// // Listen for incoming connections on the IPv6 address only
|
||||||
|
l, err := net.ListenTCP("tcp", myTCPAddr)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error listening:", err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close the listener when the application closes.
|
||||||
|
defer l.Close()
|
||||||
|
|
||||||
|
log.Println("Listening on " + listenstr)
|
||||||
|
|
||||||
|
rand.Seed(time.Now().Unix())
|
||||||
|
|
||||||
|
for {
|
||||||
|
// Listen for an incoming connection.
|
||||||
|
conn, err := l.AcceptTCP()
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error accepting: ", err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("Accepted new connection from: " + conn.RemoteAddr().String())
|
||||||
|
|
||||||
|
// Handle connections in a new goroutine.
|
||||||
|
go dnssecsocket.HandleConnection(conn)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue