Embedding: abstract HTTP client