1
4
mirror of https://github.com/yunginnanet/HellPot synced 2024-06-30 17:50:53 +00:00

Handler: Make handler configurable

This commit is contained in:
Carl Johnson 2016-12-11 18:18:38 -05:00
parent 6a94b58990
commit b5b634b579
2 changed files with 25 additions and 21 deletions

@ -7,26 +7,30 @@ import (
"sync" "sync"
) )
var pool sync.Pool var DefaultHoneypot = NewHoneypot(DefaultMarkovMap, 100*1<<10)
func getBuffer() []byte { func NewHoneypot(mm MarkovMap, buffsize int) http.HandlerFunc {
var pool sync.Pool
getBuffer := func() []byte {
x := pool.Get() x := pool.Get()
if buf, ok := x.([]byte); ok { if buf, ok := x.([]byte); ok {
return buf return buf
} else { } else {
return make([]byte, 100*1<<10) return make([]byte, buffsize)
}
} }
}
func putBuffer(buf []byte) { putBuffer := func(buf []byte) {
pool.Put(buf) pool.Put(buf)
} }
func Honeypot(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
log.Printf("Started writing: %v", r.URL) log.Printf("Started writing: %v", r.URL)
buf := getBuffer() buf := getBuffer()
defer putBuffer(buf) defer putBuffer(buf)
io.WriteString(w, "<HTML>\n<BODY>\n") io.WriteString(w, "<HTML>\n<BODY>\n")
n, err := io.CopyBuffer(w, DefaultMarkovMap, buf) n, err := io.CopyBuffer(w, DefaultMarkovMap, buf)
log.Printf("Wrote: %d (%v)", n, err) log.Printf("Wrote: %d (%v)", n, err)
}
} }

@ -37,7 +37,7 @@ func main() {
path = "/" path = "/"
} }
http.HandleFunc(path, heff.Honeypot) http.HandleFunc(path, heff.DefaultHoneypot)
log.Fatal(http.ListenAndServe(addr, nil)) log.Fatal(http.ListenAndServe(addr, nil))