@haitch The program works! It does what it's supposed to do. It just leaks memory while doing it.
I think the sync.Pool approach might not be working well. What I need is to allocate a fixed number of ImageOps objects and then use them from the handler in a thread-safe way. I don't know how to do that in Go, however.
What also gives me pause is how the bytes of the image are passed around. I feel like there might be more efficient methods of doing it
@Gargron Taking another look.