Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "bytes"
- "strings"
- "github.com/tidwall/evio"
- )
- func main() {
- const content = "HTTP/1.1 200 Ok\r\nContent-Length: 11\r\n\r\nHello World"
- var builder strings.Builder
- for i := 0; i < 512; i++ { builder.WriteString(content) }
- response := []byte(builder.String())
- var events evio.Events
- events.NumLoops = -1
- events.Data = func(c evio.Conn, in []byte) (out []byte, action evio.Action) {
- if in == nil { return }
- requests := 0
- for {
- offset := bytes.Index(in, []byte("\r\n\r\n"))
- if offset == -1 { break }
- in = in[(offset + 4):]
- requests++
- }
- out = response[:(len(content) * requests)]
- return
- }
- if err := evio.Serve(events, "tcp://localhost:12345"); err != nil {
- panic(err.Error())
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement