It doesn't look like `buffer` is ever used here... unless i'm missing something...

Also, if `decoder.end()` _does_ exists, we should probably call that instead.