Logo

0x5a.live

for different kinds of informations and explorations.

GitHub - miolini/datacounter: Golang counters for readers/writers

Golang counters for readers/writers. Contribute to miolini/datacounter development by creating an account on GitHub.

Visit SiteGitHub - miolini/datacounter: Golang counters for readers/writers

GitHub - miolini/datacounter: Golang counters for readers/writers

Golang counters for readers/writers. Contribute to miolini/datacounter development by creating an account on GitHub.

Powered by 0x5a.live ๐Ÿ’—

Datacounter

Golang counters for readers/writers.

Build Status GoDoc

Examples

ReaderCounter

buf := bytes.Buffer{}
buf.Write(data)
counter := datacounter.NewReaderCounter(&buf)

io.Copy(ioutil.Discard, counter)
if counter.Count() != dataLen {
	t.Fatalf("count mismatch len of test data: %d != %d", counter.Count(), len(data))
}

WriterCounter

buf := bytes.Buffer{}
counter := datacounter.NewWriterCounter(&buf)

counter.Write(data)
if counter.Count() != dataLen {
	t.Fatalf("count mismatch len of test data: %d != %d", counter.Count(), len(data))
}

http.ResponseWriter Counter

handler := func(w http.ResponseWriter, r *http.Request) {
	w.Write(data)
}

req, err := http.NewRequest("GET", "http://example.com/foo", nil)
if err != nil {
	t.Fatal(err)
}

w := httptest.NewRecorder()
counter := datacounter.NewResponseWriterCounter(w)

handler(counter, req)
if counter.Count() != dataLen {
	t.Fatalf("count mismatch len of test data: %d != %d", counter.Count(), len(data))
}

GoLang Resources

are all listed below.

Resources

listed to get explored on!!

Made with โค๏ธ

to provide different kinds of informations and resources.