| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/proximity_auth/cryptauth/cryptauth_api_call_flow.h" | 5 #include "components/proximity_auth/cryptauth/cryptauth_api_call_flow.h" |
| 6 | 6 |
| 7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
| 8 #include "net/url_request/url_fetcher.h" | 8 #include "net/url_request/url_fetcher.h" |
| 9 | 9 |
| 10 namespace proximity_auth { | 10 namespace proximity_auth { |
| 11 | 11 |
| 12 namespace { | 12 namespace { |
| 13 | 13 |
| 14 const char kNoResponseBodyError[] = "No response body"; | 14 const char kResponseBodyError[] = "Failed to get response body"; |
| 15 const char kRequestFailedError[] = "Request failed"; | 15 const char kRequestFailedError[] = "Request failed"; |
| 16 const char kHttpStatusErrorPrefix[] = "HTTP status: "; | 16 const char kHttpStatusErrorPrefix[] = "HTTP status: "; |
| 17 | 17 |
| 18 } // namespace | 18 } // namespace |
| 19 | 19 |
| 20 CryptAuthApiCallFlow::CryptAuthApiCallFlow(const GURL& request_url) | 20 CryptAuthApiCallFlow::CryptAuthApiCallFlow(const GURL& request_url) |
| 21 : request_url_(request_url) { | 21 : request_url_(request_url) { |
| 22 } | 22 } |
| 23 | 23 |
| 24 CryptAuthApiCallFlow::~CryptAuthApiCallFlow() { | 24 CryptAuthApiCallFlow::~CryptAuthApiCallFlow() { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 43 return serialized_request_; | 43 return serialized_request_; |
| 44 } | 44 } |
| 45 | 45 |
| 46 std::string CryptAuthApiCallFlow::CreateApiCallBodyContentType() { | 46 std::string CryptAuthApiCallFlow::CreateApiCallBodyContentType() { |
| 47 return "application/x-protobuf"; | 47 return "application/x-protobuf"; |
| 48 } | 48 } |
| 49 | 49 |
| 50 void CryptAuthApiCallFlow::ProcessApiCallSuccess( | 50 void CryptAuthApiCallFlow::ProcessApiCallSuccess( |
| 51 const net::URLFetcher* source) { | 51 const net::URLFetcher* source) { |
| 52 std::string serialized_response; | 52 std::string serialized_response; |
| 53 if (!source->GetResponseAsString(&serialized_response) || | 53 if (!source->GetResponseAsString(&serialized_response)) { |
| 54 serialized_response.empty()) { | 54 error_callback_.Run(kResponseBodyError); |
| 55 error_callback_.Run(kNoResponseBodyError); | |
| 56 return; | 55 return; |
| 57 } | 56 } |
| 58 result_callback_.Run(serialized_response); | 57 result_callback_.Run(serialized_response); |
| 59 } | 58 } |
| 60 | 59 |
| 61 void CryptAuthApiCallFlow::ProcessApiCallFailure( | 60 void CryptAuthApiCallFlow::ProcessApiCallFailure( |
| 62 const net::URLFetcher* source) { | 61 const net::URLFetcher* source) { |
| 63 std::string error_message; | 62 std::string error_message; |
| 64 if (source->GetStatus().status() == net::URLRequestStatus::SUCCESS) { | 63 if (source->GetStatus().status() == net::URLRequestStatus::SUCCESS) { |
| 65 error_message = | 64 error_message = |
| 66 kHttpStatusErrorPrefix + base::IntToString(source->GetResponseCode()); | 65 kHttpStatusErrorPrefix + base::IntToString(source->GetResponseCode()); |
| 67 } else { | 66 } else { |
| 68 error_message = kRequestFailedError; | 67 error_message = kRequestFailedError; |
| 69 } | 68 } |
| 70 error_callback_.Run(error_message); | 69 error_callback_.Run(error_message); |
| 71 } | 70 } |
| 72 | 71 |
| 73 } // proximity_auth | 72 } // proximity_auth |
| OLD | NEW |