comparison Plugins/Engine/PluginsHttpHandler.cpp @ 1113:ba5c0908600c

Refactoring of HttpOutput ("Content-Length" header is now always sent)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 02 Sep 2014 15:51:20 +0200
parents a91b4900f06a
children da56a7916e8a
comparison
equal deleted inserted replaced
1112:a119f9ae3640 1113:ba5c0908600c
351 { 351 {
352 const _OrthancPluginAnswerBuffer& p = 352 const _OrthancPluginAnswerBuffer& p =
353 *reinterpret_cast<const _OrthancPluginAnswerBuffer*>(parameters); 353 *reinterpret_cast<const _OrthancPluginAnswerBuffer*>(parameters);
354 354
355 HttpOutput* translatedOutput = reinterpret_cast<HttpOutput*>(p.output); 355 HttpOutput* translatedOutput = reinterpret_cast<HttpOutput*>(p.output);
356 translatedOutput->AnswerBufferWithContentType(p.answer, p.answerSize, p.mimeType); 356 translatedOutput->SetContentType(p.mimeType);
357 translatedOutput->SendBody(p.answer, p.answerSize);
357 } 358 }
358 359
359 360
360 void PluginsHttpHandler::Redirect(const void* parameters) 361 void PluginsHttpHandler::Redirect(const void* parameters)
361 { 362 {
371 { 372 {
372 const _OrthancPluginSendHttpStatusCode& p = 373 const _OrthancPluginSendHttpStatusCode& p =
373 *reinterpret_cast<const _OrthancPluginSendHttpStatusCode*>(parameters); 374 *reinterpret_cast<const _OrthancPluginSendHttpStatusCode*>(parameters);
374 375
375 HttpOutput* translatedOutput = reinterpret_cast<HttpOutput*>(p.output); 376 HttpOutput* translatedOutput = reinterpret_cast<HttpOutput*>(p.output);
376 translatedOutput->SendHeader(static_cast<HttpStatus>(p.status)); 377 translatedOutput->SendStatus(static_cast<HttpStatus>(p.status));
377 } 378 }
378 379
379 380
380 void PluginsHttpHandler::SendUnauthorized(const void* parameters) 381 void PluginsHttpHandler::SendUnauthorized(const void* parameters)
381 { 382 {
446 447
447 PngWriter writer; 448 PngWriter writer;
448 std::string png; 449 std::string png;
449 writer.WriteToMemory(png, accessor); 450 writer.WriteToMemory(png, accessor);
450 451
451 translatedOutput->AnswerBufferWithContentType(png, "image/png"); 452 translatedOutput->SetContentType("image/png");
453 translatedOutput->SendBody(png);
452 } 454 }
453 455
454 456
455 void PluginsHttpHandler::GetDicomForInstance(const void* parameters) 457 void PluginsHttpHandler::GetDicomForInstance(const void* parameters)
456 { 458 {