stream-adventure solution 8: http client