Parse and use extra HTTP headers when downloading the payload.

Android OTA backend requires to pass an Authorization HTTP header in
order to download some payload. This patch allows to specify such
header when initiating a payload download from Android.

Bug: 27047110
TEST=Added unittests to check the headers sent.

(cherry picked from commit fdd6dec9c4be2fbd667cf874c4cc6f4ffecaeef9)

Change-Id: I59d38d79a7b7a8975d105c611c692522b6c33707
11 files changed
tree: fbadd6266c6ae84e28016a7c65d96c035b1ef2a7
  1. binder_bindings/
  2. client_library/
  3. common/
  4. dbus_bindings/
  5. include/
  6. init/
  7. payload_consumer/
  8. payload_generator/
  9. sample_images/
  10. scripts/
  11. update_manager/
  12. update_payload_key/
  13. weaved/
  14. .gitignore
  15. Android.mk
  16. binder_service_android.cc
  17. binder_service_android.h
  18. binder_service_brillo.cc
  19. binder_service_brillo.h
  20. boot_control_android.cc
  21. boot_control_android.h
  22. boot_control_chromeos.cc
  23. boot_control_chromeos.h
  24. boot_control_chromeos_unittest.cc
  25. chrome_browser_proxy_resolver.cc
  26. chrome_browser_proxy_resolver.h
  27. chrome_browser_proxy_resolver_unittest.cc
  28. common_service.cc
  29. common_service.h
  30. common_service_unittest.cc
  31. connection_manager.cc
  32. connection_manager.h
  33. connection_manager_interface.h
  34. connection_manager_unittest.cc
  35. daemon.cc
  36. daemon.h
  37. daemon_state_android.cc
  38. daemon_state_android.h
  39. daemon_state_interface.h
  40. dbus_service.cc
  41. dbus_service.h
  42. dbus_test_utils.h
  43. fake_file_writer.h
  44. fake_p2p_manager.h
  45. fake_p2p_manager_configuration.h
  46. fake_shill_proxy.cc
  47. fake_shill_proxy.h
  48. fake_system_state.cc
  49. fake_system_state.h
  50. generate_pc_file.sh
  51. hardware_android.cc
  52. hardware_android.h
  53. hardware_chromeos.cc
  54. hardware_chromeos.h
  55. image_properties.h
  56. image_properties_android.cc
  57. image_properties_chromeos.cc
  58. libcros_proxy.cc
  59. libcros_proxy.h
  60. libupdate_engine-client-test.pc.in
  61. libupdate_engine-client.pc.in
  62. local_coverage_rate
  63. main.cc
  64. metrics.cc
  65. metrics.h
  66. metrics_utils.cc
  67. metrics_utils.h
  68. metrics_utils_unittest.cc
  69. mock_action.h
  70. mock_action_processor.h
  71. mock_connection_manager.h
  72. mock_file_writer.h
  73. mock_omaha_request_params.h
  74. mock_p2p_manager.h
  75. mock_payload_state.h
  76. mock_update_attempter.h
  77. MODULE_LICENSE_APACHE2
  78. NOTICE
  79. omaha_request_action.cc
  80. omaha_request_action.h
  81. omaha_request_action_unittest.cc
  82. omaha_request_params.cc
  83. omaha_request_params.h
  84. omaha_request_params_unittest.cc
  85. omaha_response.h
  86. omaha_response_handler_action.cc
  87. omaha_response_handler_action.h
  88. omaha_response_handler_action_unittest.cc
  89. OWNERS
  90. p2p_manager.cc
  91. p2p_manager.h
  92. p2p_manager_unittest.cc
  93. parcelable_update_engine_status.cc
  94. parcelable_update_engine_status.h
  95. payload_state.cc
  96. payload_state.h
  97. payload_state_interface.h
  98. payload_state_unittest.cc
  99. PRESUBMIT.cfg
  100. proxy_resolver.cc
  101. proxy_resolver.h
  102. real_system_state.cc
  103. real_system_state.h
  104. run_unittests
  105. sample_omaha_v3_response.xml
  106. service_delegate_android_interface.h
  107. service_observer_interface.h
  108. shill_proxy.cc
  109. shill_proxy.h
  110. shill_proxy_interface.h
  111. system_state.h
  112. tar_bunzip2.gypi
  113. test_http_server.cc
  114. testrunner.cc
  115. unittest_key.pem
  116. unittest_key2.pem
  117. update_attempter.cc
  118. update_attempter.h
  119. update_attempter_android.cc
  120. update_attempter_android.h
  121. update_attempter_unittest.cc
  122. update_engine-client.gyp
  123. update_engine.conf
  124. update_engine.gyp
  125. update_engine.rc
  126. update_engine_client.cc
  127. update_engine_client_android.cc
  128. update_metadata.proto
  129. update_status_utils.cc
  130. update_status_utils.h
  131. UpdateEngine.conf
  132. WATCHLISTS
  133. weave_service.cc
  134. weave_service.h
  135. weave_service_factory.cc
  136. weave_service_factory.h
  137. weave_service_interface.h