Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Side by Side Diff: chrome/service/cloud_print/cloud_print_connector.cc

Issue 1547593002: Introducing a net::GenerateMimeMultipartBoundary helper. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Self-review. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/service/cloud_print/cloud_print_connector.h" 5 #include "chrome/service/cloud_print/cloud_print_connector.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/md5.h" 10 #include "base/md5.h"
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 next_response_handler_ = handler; 353 next_response_handler_ = handler;
354 request_ = CloudPrintURLFetcher::Create(); 354 request_ = CloudPrintURLFetcher::Create();
355 request_->StartPostRequest( 355 request_->StartPostRequest(
356 type, url, this, max_retries, mime_type, post_data, std::string()); 356 type, url, this, max_retries, mime_type, post_data, std::string());
357 } 357 }
358 358
359 void CloudPrintConnector::ReportUserMessage(const std::string& message_id, 359 void CloudPrintConnector::ReportUserMessage(const std::string& message_id,
360 const std::string& failure_msg) { 360 const std::string& failure_msg) {
361 // This is a fire and forget type of function. 361 // This is a fire and forget type of function.
362 // Result of this request will be ignored. 362 // Result of this request will be ignored.
363 std::string mime_boundary; 363 std::string mime_boundary = net::GenerateMimeMultipartBoundary();
364 CreateMimeBoundaryForUpload(&mime_boundary);
365 GURL url = GetUrlForUserMessage(settings_.server_url(), message_id); 364 GURL url = GetUrlForUserMessage(settings_.server_url(), message_id);
366 std::string post_data; 365 std::string post_data;
367 net::AddMultipartValueForUpload(kMessageTextValue, failure_msg, mime_boundary, 366 net::AddMultipartValueForUpload(kMessageTextValue, failure_msg, mime_boundary,
368 std::string(), &post_data); 367 std::string(), &post_data);
369 net::AddMultipartFinalDelimiterForUpload(mime_boundary, &post_data); 368 net::AddMultipartFinalDelimiterForUpload(mime_boundary, &post_data);
370 std::string mime_type("multipart/form-data; boundary="); 369 std::string mime_type("multipart/form-data; boundary=");
371 mime_type += mime_boundary; 370 mime_type += mime_boundary;
372 user_message_request_ = CloudPrintURLFetcher::Create(); 371 user_message_request_ = CloudPrintURLFetcher::Create();
373 user_message_request_->StartPostRequest( 372 user_message_request_->StartPostRequest(
374 CloudPrintURLFetcher::REQUEST_USER_MESSAGE, url, this, 1, mime_type, 373 CloudPrintURLFetcher::REQUEST_USER_MESSAGE, url, this, 1, mime_type,
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT)); 599 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT));
601 ReportUserMessage(kGetPrinterCapsFailedMessageId, status_message); 600 ReportUserMessage(kGetPrinterCapsFailedMessageId, status_message);
602 601
603 ContinuePendingTaskProcessing(); // Skip this printer registration. 602 ContinuePendingTaskProcessing(); // Skip this printer registration.
604 return; 603 return;
605 } 604 }
606 605
607 const printing::PrinterBasicInfo& info = pending_tasks_.front().printer_info; 606 const printing::PrinterBasicInfo& info = pending_tasks_.front().printer_info;
608 DCHECK(IsSamePrinter(info.printer_name, printer_name)); 607 DCHECK(IsSamePrinter(info.printer_name, printer_name));
609 608
610 std::string mime_boundary; 609 std::string mime_boundary = net::GenerateMimeMultipartBoundary();
611 CreateMimeBoundaryForUpload(&mime_boundary);
612 std::string post_data; 610 std::string post_data;
613 611
614 net::AddMultipartValueForUpload(kProxyIdValue, 612 net::AddMultipartValueForUpload(kProxyIdValue,
615 settings_.proxy_id(), mime_boundary, std::string(), &post_data); 613 settings_.proxy_id(), mime_boundary, std::string(), &post_data);
616 net::AddMultipartValueForUpload(kPrinterNameValue, 614 net::AddMultipartValueForUpload(kPrinterNameValue,
617 info.printer_name, mime_boundary, std::string(), &post_data); 615 info.printer_name, mime_boundary, std::string(), &post_data);
618 net::AddMultipartValueForUpload(kPrinterDescValue, 616 net::AddMultipartValueForUpload(kPrinterDescValue,
619 info.printer_description, mime_boundary, std::string(), &post_data); 617 info.printer_description, mime_boundary, std::string(), &post_data);
620 net::AddMultipartValueForUpload(kPrinterStatusValue, 618 net::AddMultipartValueForUpload(kPrinterStatusValue,
621 base::IntToString(info.printer_status), 619 base::IntToString(info.printer_status),
(...skipping 28 matching lines...) Expand all
650 kCloudPrintAPIMaxRetryCount, mime_type, post_data, 648 kCloudPrintAPIMaxRetryCount, mime_type, post_data,
651 &CloudPrintConnector::HandleRegisterPrinterResponse); 649 &CloudPrintConnector::HandleRegisterPrinterResponse);
652 } 650 }
653 651
654 bool CloudPrintConnector::IsSamePrinter(const std::string& name1, 652 bool CloudPrintConnector::IsSamePrinter(const std::string& name1,
655 const std::string& name2) const { 653 const std::string& name2) const {
656 return base::EqualsCaseInsensitiveASCII(name1, name2); 654 return base::EqualsCaseInsensitiveASCII(name1, name2);
657 } 655 }
658 656
659 } // namespace cloud_print 657 } // namespace cloud_print
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698