complete http client exercise