buffet: Serialize longs as strings. As per Apiary recommendations. BUG=chromium:434767 TEST=cros_workon_make --test buffet Change-Id: I1df2a767f1a783ebd64c03f74d2992767c54f708 Reviewed-on: https://chromium-review.googlesource.com/231332 Tested-by: Anton Muhin <antonm@chromium.org> Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/device_registration_info.cc b/buffet/device_registration_info.cc index 25c6ee1..cd3cd2b 100644 --- a/buffet/device_registration_info.cc +++ b/buffet/device_registration_info.cc
@@ -797,9 +797,8 @@ std::unique_ptr<base::ListValue> patches{new base::ListValue}; for (const auto& state_change : state_changes) { std::unique_ptr<base::DictionaryValue> patch{new base::DictionaryValue}; - // TODO(antonm): Weird part: API requires long here while there is no - // such thing like long in JSON. Also, ToJavaTime produces int64. - patch->SetInteger("timeMs", state_change.timestamp.ToJavaTime()); + patch->SetString("timeMs", + std::to_string(state_change.timestamp.ToJavaTime())); std::unique_ptr<base::DictionaryValue> changes{new base::DictionaryValue}; for (const auto& pair : state_change.changed_properties) { @@ -815,7 +814,8 @@ } base::DictionaryValue body; - body.SetInteger("requestTimeMs", base::Time::Now().ToJavaTime()); + body.SetString("requestTimeMs", + std::to_string(base::Time::Now().ToJavaTime())); body.Set("patches", patches.release()); DoCloudRequest(