use builder to create HttpResponse objects and avoid code duplication
use NIO2 to read images from disk asynchronously