library for http protocol handling