Curl, how to recieve data.
holo via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Oct 18 14:01:03 PDT 2015
On Sunday, 18 October 2015 at 20:12:42 UTC, sigod wrote:
> On Sunday, 18 October 2015 at 20:05:24 UTC, holo wrote:
>> @sigod
>>
>> Actually im working on ec2 requests. Thank you for help, it
>> is working right now. I don't know why i was trying "+="
>> before instead of "~=". Is it good solution to make it such
>> way?
>
> Not really as it will trigger allocation on every call. Better
> use [`Appender`][0].
>
> [0]: http://dlang.org/phobos/std_array.html#.Appender
I changed it to such code:
...
auto client = HTTP(endpoint ~ "?" ~
canonicalQueryString);
client.method = HTTP.Method.get;
client.addRequestHeader("x-amz-date", xamztime);
client.addRequestHeader("Authorization",
authorizationHeader);
client.onReceive = (ubyte[]
data){receivedData.put(data); return data.length;};
client.perform();
return new Result(receivedData.data);
...
auto receivedData = appender!string();
...
and it is really much more faster than it was - hope it is what
you had on your mind.
More information about the Digitalmars-d-learn
mailing list