completed http client exercise