i thought about that, but was afraid it would break other people code... that's up to @fiatjaf... what do you think?
Looking good! If you’re open to a small suggestion, and if fiatjaf doesn’t mind introducing some early-stage backwards-incompatible changes to khatru's Blossom’s API, I think you could simplify things by changing the return type here https://github.com/fiatjaf/khatru/blob/76ecf4f7914a93b7ec4f0cc0c823304a7402adab/blossom/server.go#L18 to `io.ReadSeeker`. This would allow you to eliminate the `io.Copy` fallback code and the `Content-Type` handling, as `http.ServeContent` also takes care of that for you. It even handles ETags and cache-related headers, so I’d expect your patch to significantly improve things for all clients—not just iOS. Well done!
Discussion
If you break other people’s code with backwards incompatible things, kindly start a tracker here:
If it helps, it use to return `[]byte` and khatru Blossom's API own example was broken until a couple of weeks ago. It's ultimately Fiatjaf's decision of course, but, from my perspective, feel free go for it.
i'll submit a pull request as it is now (without the debug prints), and then try the non backward compatible change and see how it goes.