On Saturday, 6 June 2015 at 22:20:20 UTC, kryszczyniak wrote:
I've created AllUCanGET
I quickly looked at usage of library, for me seems you have no experience in API design. Look:
1. auto httpclient=new AllUCanGET; - here you could pass URL as a parameter for constructor (what is in most cases more than enough)
2. httpclient.referer="http://allucanget.diaboli.pl"; - why you "hardcoded" headers as a properties of httpclient? How many of 'em you support? What about X-* headers? It's bad solution, such things better to keep in 'dictionary' (array with string indexes).
3. httpclient.postdata="postfield1=value1&postfield2=value2"; - Manual escaping for data? Serious?
4. httpclient.allucanget(); - WHAT?! :)))))) Is THAT 'allucanget' a name to make request???
5. writeln(httpclient.response["header"]); - here one more error, opposite to error you did with headers: THIS 'header' element should be done as a property, since HTTP _always_ has header+body! Nobody needs that 'response', people needs data.
I recommend you to delete this approach and rethink how people should use your 'helper'.