mirror of
https://github.com/yunginnanet/HellPot
synced 2024-06-28 08:40:48 +00:00
#gottem
This commit is contained in:
parent
a45440c2dc
commit
374858ce93
@ -49,7 +49,10 @@ func (h *Heffalump) putBuffer(buf []byte) {
|
||||
|
||||
// WriteHell writes markov chain heffalump hell to the provided io.Writer
|
||||
// https://github.com/carlmjohnson/heffalump
|
||||
func (h *Heffalump) WriteHell(bw *bufio.Writer) int64 {
|
||||
func (h *Heffalump) WriteHell(bw *bufio.Writer) (int64, error) {
|
||||
var n int64
|
||||
var err error
|
||||
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
log.Error().Interface("caller", r).Msg("panic recovered!")
|
||||
@ -59,15 +62,13 @@ func (h *Heffalump) WriteHell(bw *bufio.Writer) int64 {
|
||||
buf := h.getBuffer()
|
||||
defer h.putBuffer(buf)
|
||||
|
||||
if _, err := io.WriteString(bw, "<HTML>\n<BODY>\n"); err != nil {
|
||||
log.Debug().Caller().Err(err).Msg("WriteString_fail")
|
||||
if _, err = io.WriteString(bw, "<HTML>\n<BODY>\n"); err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
||||
var n int64
|
||||
var err error
|
||||
if n, err = io.CopyBuffer(bw, h.mm, buf); err != nil {
|
||||
log.Debug().Caller().Err(err).Msg("CopyBuffer_fail")
|
||||
return n, nil
|
||||
}
|
||||
|
||||
return n
|
||||
return n, nil
|
||||
}
|
||||
|
@ -35,20 +35,28 @@ func hellPot(ctx *fasthttp.RequestCtx) {
|
||||
slog.Info().Msg("NEW")
|
||||
|
||||
s := time.Now()
|
||||
|
||||
var n int64
|
||||
|
||||
ctx.SetBodyStreamWriter(func(bw *bufio.Writer) {
|
||||
n = heffalump.DefaultHeffalump.WriteHell(bw)
|
||||
})
|
||||
var err error
|
||||
var wn int64
|
||||
|
||||
for {
|
||||
wn, err = heffalump.DefaultHeffalump.WriteHell(bw)
|
||||
n += wn
|
||||
if err != nil {
|
||||
slog.Debug().Err(err).Msg("END_ON_ERR")
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
slog.Info().
|
||||
Int64("BYTES", n).
|
||||
Dur("DURATION", time.Since(s)).
|
||||
Msg("FINISH")
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
func listenOnUnixSocket(addr string, r *router.Router) error {
|
||||
var err error
|
||||
@ -98,13 +106,9 @@ func getSrv(r *router.Router) fasthttp.Server {
|
||||
|
||||
CloseOnShutdown: true,
|
||||
|
||||
|
||||
|
||||
// No need to keepalive, our response is a sort of keep-alive ;)
|
||||
DisableKeepalive: true,
|
||||
|
||||
|
||||
|
||||
Handler: r.Handler,
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user