use shared_ptr in HTTP server