Mercurial > hg > orthanc
comparison OrthancServer/Plugins/Engine/OrthancPlugins.cpp @ 4650:9804d6490872
Reduced memory consumption of HTTP/REST plugins calls on POST/PUT if chunked transfer is disabled
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 04 May 2021 10:57:42 +0200 |
parents | 5fabef29c4ff |
children | f0038043fb97 94616af363ec |
comparison
equal
deleted
inserted
replaced
4649:e915102093de | 4650:9804d6490872 |
---|---|
3330 client.SetMethod(HttpMethod_Get); | 3330 client.SetMethod(HttpMethod_Get); |
3331 break; | 3331 break; |
3332 | 3332 |
3333 case OrthancPluginHttpMethod_Post: | 3333 case OrthancPluginHttpMethod_Post: |
3334 client.SetMethod(HttpMethod_Post); | 3334 client.SetMethod(HttpMethod_Post); |
3335 client.GetBody().assign(reinterpret_cast<const char*>(parameters.body), parameters.bodySize); | 3335 client.SetExternalBody(parameters.body, parameters.bodySize); |
3336 break; | 3336 break; |
3337 | 3337 |
3338 case OrthancPluginHttpMethod_Put: | 3338 case OrthancPluginHttpMethod_Put: |
3339 client.SetMethod(HttpMethod_Put); | 3339 client.SetMethod(HttpMethod_Put); |
3340 client.GetBody().assign(reinterpret_cast<const char*>(parameters.body), parameters.bodySize); | 3340 client.SetExternalBody(parameters.body, parameters.bodySize); |
3341 break; | 3341 break; |
3342 | 3342 |
3343 case OrthancPluginHttpMethod_Delete: | 3343 case OrthancPluginHttpMethod_Delete: |
3344 client.SetMethod(HttpMethod_Delete); | 3344 client.SetMethod(HttpMethod_Delete); |
3345 break; | 3345 break; |
3444 HttpClient client; | 3444 HttpClient client; |
3445 | 3445 |
3446 if (p.method == OrthancPluginHttpMethod_Post || | 3446 if (p.method == OrthancPluginHttpMethod_Post || |
3447 p.method == OrthancPluginHttpMethod_Put) | 3447 p.method == OrthancPluginHttpMethod_Put) |
3448 { | 3448 { |
3449 client.GetBody().assign(reinterpret_cast<const char*>(p.body), p.bodySize); | 3449 client.SetExternalBody(p.body, p.bodySize); |
3450 } | 3450 } |
3451 | 3451 |
3452 SetupHttpClient(client, p); | 3452 SetupHttpClient(client, p); |
3453 ExecuteHttpClientWithoutChunkedBody(*p.httpStatus, p.answerBody, p.answerHeaders, client); | 3453 ExecuteHttpClientWithoutChunkedBody(*p.httpStatus, p.answerBody, p.answerHeaders, client); |
3454 } | 3454 } |
3643 client.SetMethod(HttpMethod_Get); | 3643 client.SetMethod(HttpMethod_Get); |
3644 break; | 3644 break; |
3645 | 3645 |
3646 case OrthancPluginHttpMethod_Post: | 3646 case OrthancPluginHttpMethod_Post: |
3647 client.SetMethod(HttpMethod_Post); | 3647 client.SetMethod(HttpMethod_Post); |
3648 client.GetBody().assign(reinterpret_cast<const char*>(p.body), p.bodySize); | 3648 client.SetExternalBody(p.body, p.bodySize); |
3649 break; | 3649 break; |
3650 | 3650 |
3651 case OrthancPluginHttpMethod_Put: | 3651 case OrthancPluginHttpMethod_Put: |
3652 client.SetMethod(HttpMethod_Put); | 3652 client.SetMethod(HttpMethod_Put); |
3653 client.GetBody().assign(reinterpret_cast<const char*>(p.body), p.bodySize); | 3653 client.SetExternalBody(p.body, p.bodySize); |
3654 break; | 3654 break; |
3655 | 3655 |
3656 case OrthancPluginHttpMethod_Delete: | 3656 case OrthancPluginHttpMethod_Delete: |
3657 client.SetMethod(HttpMethod_Delete); | 3657 client.SetMethod(HttpMethod_Delete); |
3658 break; | 3658 break; |