feature(main) gzip only when need
refactor(rest) sendResponse -> callback