BackWPup – WordPress Backup Plugin - Version 3.5.1

Version Description

Download this release

Release Info

Developer cocreation
Plugin Icon 128x128 BackWPup – WordPress Backup Plugin
Version 3.5.1
Comparing to
See all releases

Code changes from version 3.5.0 to 3.5.1

Files changed (158) hide show
  1. backwpup.php +1 -1
  2. inc/class-cron.php +89 -71
  3. inc/class-destination-ftp.php +2 -1
  4. inc/class-jobtype-wpexp.php +0 -1
  5. readme.txt +11 -4
  6. vendor/aws/aws-sdk-php/LICENSE.md +0 -141
  7. vendor/aws/aws-sdk-php/NOTICE.md +0 -112
  8. vendor/aws/aws-sdk-php/composer.json +0 -42
  9. vendor/christian-riesen/base32/.gitignore +0 -3
  10. vendor/christian-riesen/base32/.travis.yml +0 -19
  11. vendor/christian-riesen/base32/LICENSE +0 -19
  12. vendor/christian-riesen/base32/README.md +0 -60
  13. vendor/christian-riesen/base32/build.xml +0 -130
  14. vendor/christian-riesen/base32/composer.json +0 -33
  15. vendor/christian-riesen/base32/phpunit.xml.dist +0 -32
  16. vendor/christian-riesen/base32/tests/Base32Test.php +0 -51
  17. vendor/christian-riesen/base32/tests/bootstrap.php +0 -5
  18. vendor/composer/LICENSE +0 -21
  19. vendor/composer/autoload_classmap.php +370 -809
  20. vendor/composer/autoload_files.php +0 -3
  21. vendor/composer/autoload_namespaces.php +4 -2
  22. vendor/composer/autoload_psr4.php +1 -12
  23. vendor/composer/autoload_static.php +384 -874
  24. vendor/composer/include_paths.php +2 -0
  25. vendor/composer/installed.json +187 -612
  26. vendor/container-interop/container-interop/.gitignore +0 -3
  27. vendor/container-interop/container-interop/LICENSE +0 -20
  28. vendor/container-interop/container-interop/README.md +0 -148
  29. vendor/container-interop/container-interop/composer.json +0 -15
  30. vendor/container-interop/container-interop/docs/ContainerInterface-meta.md +0 -114
  31. vendor/container-interop/container-interop/docs/ContainerInterface.md +0 -158
  32. vendor/container-interop/container-interop/docs/Delegate-lookup-meta.md +0 -259
  33. vendor/container-interop/container-interop/docs/Delegate-lookup.md +0 -60
  34. vendor/container-interop/container-interop/docs/images/interoperating_containers.png +0 -0
  35. vendor/container-interop/container-interop/docs/images/priority.png +0 -0
  36. vendor/container-interop/container-interop/docs/images/side_by_side_containers.png +0 -0
  37. vendor/container-interop/container-interop/src/Interop/Container/ContainerInterface.php +0 -15
  38. vendor/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php +0 -15
  39. vendor/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php +0 -15
  40. vendor/firebase/php-jwt/LICENSE +0 -30
  41. vendor/firebase/php-jwt/README.md +0 -119
  42. vendor/firebase/php-jwt/composer.json +0 -27
  43. vendor/firebase/php-jwt/composer.lock +0 -19
  44. vendor/firebase/php-jwt/run-tests.sh +38 -0
  45. vendor/firebase/php-jwt/src/JWT.php +31 -44
  46. vendor/guzzle/guzzle/.gitignore +0 -27
  47. vendor/guzzle/guzzle/.travis.yml +0 -17
  48. vendor/guzzle/guzzle/CHANGELOG.md +0 -751
  49. vendor/guzzle/guzzle/LICENSE +0 -19
  50. vendor/guzzle/guzzle/README.md +0 -57
  51. vendor/guzzle/guzzle/build.xml +0 -45
  52. vendor/guzzle/guzzle/composer.json +0 -82
  53. vendor/guzzle/guzzle/docs/Makefile +0 -153
  54. vendor/guzzle/guzzle/docs/_downloads/guzzle-schema-1.0.json +0 -176
  55. vendor/guzzle/guzzle/docs/_static/guzzle-icon.png +0 -0
  56. vendor/guzzle/guzzle/docs/_static/homepage.css +0 -122
  57. vendor/guzzle/guzzle/docs/_static/logo.png +0 -0
  58. vendor/guzzle/guzzle/docs/_static/prettify.css +0 -41
  59. vendor/guzzle/guzzle/docs/_static/prettify.js +0 -28
  60. vendor/guzzle/guzzle/docs/_templates/index.html +0 -106
  61. vendor/guzzle/guzzle/docs/_templates/leftbar.html +0 -0
  62. vendor/guzzle/guzzle/docs/_templates/nav_links.html +0 -5
  63. vendor/guzzle/guzzle/docs/batching/batching.rst +0 -183
  64. vendor/guzzle/guzzle/docs/conf.py +0 -94
  65. vendor/guzzle/guzzle/docs/docs.rst +0 -73
  66. vendor/guzzle/guzzle/docs/getting-started/faq.rst +0 -29
  67. vendor/guzzle/guzzle/docs/getting-started/installation.rst +0 -154
  68. vendor/guzzle/guzzle/docs/getting-started/overview.rst +0 -85
  69. vendor/guzzle/guzzle/docs/http-client/client.rst +0 -569
  70. vendor/guzzle/guzzle/docs/http-client/entity-bodies.rst +0 -151
  71. vendor/guzzle/guzzle/docs/http-client/http-redirects.rst +0 -99
  72. vendor/guzzle/guzzle/docs/http-client/request.rst +0 -667
  73. vendor/guzzle/guzzle/docs/http-client/response.rst +0 -141
  74. vendor/guzzle/guzzle/docs/http-client/uri-templates.rst +0 -52
  75. vendor/guzzle/guzzle/docs/index.rst +0 -5
  76. vendor/guzzle/guzzle/docs/iterators/guzzle-iterators.rst +0 -97
  77. vendor/guzzle/guzzle/docs/iterators/resource-iterators.rst +0 -149
  78. vendor/guzzle/guzzle/docs/plugins/async-plugin.rst +0 -18
  79. vendor/guzzle/guzzle/docs/plugins/backoff-plugin.rst +0 -22
  80. vendor/guzzle/guzzle/docs/plugins/cache-plugin.rst +0 -169
  81. vendor/guzzle/guzzle/docs/plugins/cookie-plugin.rst +0 -33
  82. vendor/guzzle/guzzle/docs/plugins/creating-plugins.rst +0 -93
  83. vendor/guzzle/guzzle/docs/plugins/curl-auth-plugin.rst +0 -32
  84. vendor/guzzle/guzzle/docs/plugins/history-plugin.rst +0 -24
  85. vendor/guzzle/guzzle/docs/plugins/log-plugin.rst +0 -69
  86. vendor/guzzle/guzzle/docs/plugins/md5-validator-plugin.rst +0 -29
  87. vendor/guzzle/guzzle/docs/plugins/mock-plugin.rst +0 -27
  88. vendor/guzzle/guzzle/docs/plugins/oauth-plugin.rst +0 -30
  89. vendor/guzzle/guzzle/docs/plugins/plugins-list.rst.inc +0 -9
  90. vendor/guzzle/guzzle/docs/plugins/plugins-overview.rst +0 -59
  91. vendor/guzzle/guzzle/docs/requirements.txt +0 -2
  92. vendor/guzzle/guzzle/docs/testing/unit-testing.rst +0 -201
  93. vendor/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst +0 -619
  94. vendor/guzzle/guzzle/docs/webservice-client/using-the-service-builder.rst +0 -316
  95. vendor/guzzle/guzzle/docs/webservice-client/webservice-client.rst +0 -659
  96. vendor/guzzle/guzzle/phpunit.xml.dist +0 -48
  97. vendor/guzzle/guzzle/src/Guzzle/Batch/composer.json +0 -31
  98. vendor/guzzle/guzzle/src/Guzzle/Cache/composer.json +0 -27
  99. vendor/guzzle/guzzle/src/Guzzle/Common/composer.json +0 -20
  100. vendor/guzzle/guzzle/src/Guzzle/Http/composer.json +0 -32
  101. vendor/guzzle/guzzle/src/Guzzle/Inflection/composer.json +0 -26
  102. vendor/guzzle/guzzle/src/Guzzle/Iterator/README.md +0 -25
  103. vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json +0 -27
  104. vendor/guzzle/guzzle/src/Guzzle/Log/composer.json +0 -29
  105. vendor/guzzle/guzzle/src/Guzzle/Parser/composer.json +0 -19
  106. vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json +0 -27
  107. vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json +0 -28
  108. vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/composer.json +0 -28
  109. vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/composer.json +0 -27
  110. vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json +0 -27
  111. vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/composer.json +0 -27
  112. vendor/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json +0 -27
  113. vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json +0 -28
  114. vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json +0 -27
  115. vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json +0 -27
  116. vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/composer.json +0 -27
  117. vendor/guzzle/guzzle/src/Guzzle/Plugin/composer.json +0 -44
  118. vendor/guzzle/guzzle/src/Guzzle/Service/composer.json +0 -29
  119. vendor/guzzle/guzzle/src/Guzzle/Stream/composer.json +0 -30
  120. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/AbstractBatchDecoratorTest.php +0 -33
  121. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchBuilderTest.php +0 -86
  122. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureDivisorTest.php +0 -36
  123. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureTransferTest.php +0 -52
  124. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchCommandTransferTest.php +0 -83
  125. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchRequestTransferTest.php +0 -80
  126. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchSizeDivisorTest.php +0 -24
  127. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchTest.php +0 -91
  128. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/ExceptionBufferingBatchTest.php +0 -45
  129. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/FlushingBatchTest.php +0 -40
  130. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/HistoryBatchTest.php +0 -26
  131. vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/NotifyingBatchTest.php +0 -45
  132. vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterFactoryTest.php +0 -64
  133. vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterTest.php +0 -68
  134. vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/ClosureCacheAdapterTest.php +0 -94
  135. vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/NullCacheAdapterTest.php +0 -20
  136. vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/Zf2CacheAdapterTest.php +0 -58
  137. vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/AbstractHasDispatcherTest.php +0 -63
  138. vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/CollectionTest.php +0 -529
  139. vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/EventTest.php +0 -62
  140. vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/BatchTransferExceptionTest.php +0 -21
  141. vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php +0 -66
  142. vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/VersionTest.php +0 -27
  143. vendor/guzzle/guzzle/tests/Guzzle/Tests/GuzzleTestCase.php +0 -235
  144. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/AbstractEntityBodyDecoratorTest.php +0 -34
  145. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/CachingEntityBodyTest.php +0 -249
  146. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php +0 -601
  147. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php +0 -947
  148. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php +0 -110
  149. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiTest.php +0 -455
  150. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlVersionTest.php +0 -39
  151. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/RequestMediatorTest.php +0 -67
  152. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/EntityBodyTest.php +0 -182
  153. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/CurlExceptionTest.php +0 -27
  154. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/ExceptionTest.php +0 -66
  155. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/MultiTransferExceptionTest.php +0 -51
  156. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/IoEmittingEntityBodyTest.php +0 -47
  157. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/AbstractMessageTest.php +0 -136
  158. vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/EntityEnclosingRequestTest.php +0 -244
backwpup.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: WordPress Backup Plugin
6
  * Author: Inpsyde GmbH
7
  * Author URI: http://inpsyde.com
8
- * Version: 3.5.0
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
5
  * Description: WordPress Backup Plugin
6
  * Author: Inpsyde GmbH
7
  * Author URI: http://inpsyde.com
8
+ * Version: 3.5.1
9
  * Text Domain: backwpup
10
  * Domain Path: /languages/
11
  * Network: true
inc/class-cron.php CHANGED
@@ -8,13 +8,15 @@ use Base32\Base32;
8
  class BackWPup_Cron {
9
 
10
  /**
11
- * @static
12
- *
13
- * @param $arg
14
- * @internal param $args
15
  */
16
  public static function run( $arg = 'restart' ) {
17
 
 
 
 
 
 
18
  if ( $arg === 'restart' ) {
19
  //reschedule restart
20
  wp_schedule_single_event( time() + 60, 'backwpup_cron', array( 'id' => 'restart' ) );
@@ -50,12 +52,11 @@ class BackWPup_Cron {
50
  //start job
51
  self::cron_active( array(
52
  'run' => 'cronrun',
53
- 'jobid' => $arg
54
  ) );
55
 
56
  }
57
 
58
-
59
  /**
60
  * Check Jobs worked and Cleanup logs and so on
61
  */
@@ -67,9 +68,12 @@ class BackWPup_Cron {
67
 
68
  // check aborted jobs for longer than a tow hours, abort them courtly and send mail
69
  if ( is_object( $job_object ) && ! empty( $job_object->logfile ) ) {
70
- $not_worked_time = microtime( TRUE ) - $job_object->timestamp_last_update;
71
  if ( $not_worked_time > 3600 ) {
72
- $job_object->log( E_USER_ERROR, __( 'Aborted, because no progress for one hour!', 'backwpup' ), __FILE__, __LINE__ );
 
 
 
73
  unlink( BackWPup::get_plugin_data( 'running_file' ) );
74
  $job_object->update_working_data();
75
  }
@@ -77,19 +81,19 @@ class BackWPup_Cron {
77
 
78
  //Compress not compressed logs
79
  if ( is_readable( $log_folder ) && function_exists( 'gzopen' )
80
- && get_site_option( 'backwpup_cfg_gzlogs' ) && ! is_object( $job_object ) ) {
81
  //Compress old not compressed logs
82
  try {
83
  $dir = new BackWPup_Directory( $log_folder );
84
 
85
  $jobids = BackWPup_Option::get_job_ids();
86
  foreach ( $dir as $file ) {
87
- if ( $file->isWritable() && '.html' == substr( $file->getFilename(), -5 ) ) {
88
  $compress = new BackWPup_Create_Archive( $file->getPathname() . '.gz' );
89
  if ( $compress->add_file( $file->getPathname() ) ) {
90
  unlink( $file->getPathname() );
91
  //change last logfile in jobs
92
- foreach( $jobids as $jobid ) {
93
  $job_logfile = BackWPup_Option::get( $jobid, 'logfile' );
94
  if ( ! empty( $job_logfile ) && $job_logfile === $file->getPathname() ) {
95
  BackWPup_Option::update( $jobid, 'logfile', $file->getPathname() . '.gz' );
@@ -100,9 +104,9 @@ class BackWPup_Cron {
100
  unset( $compress );
101
  }
102
  }
103
- }
104
- catch ( UnexpectedValueException $e ) {
105
- $job_object->log( sprintf( __( "Could not open path: %s", 'backwpup' ), $e->getMessage() ), E_USER_WARNING );
106
  }
107
  }
108
 
@@ -136,36 +140,41 @@ class BackWPup_Cron {
136
 
137
  // Fetch message from API
138
  $api_request = esc_url( 'http://backwpup.com/wp-json/inpsyde-messages/v1/message/' );
139
- $api_response = wp_remote_get( $api_request );
140
  $api_data = json_decode( wp_remote_retrieve_body( $api_response ), true );
141
 
142
- // Check API response
143
- if ( isset( $api_response ) && $api_response['response']['code'] === 200 ) {
144
-
145
- // Add messages to options
146
- foreach ( $api_data as $lang => $value ) {
147
- $content = $value['content'];
148
- $button = $value['button-text'];
149
- $url = $value['url'];
150
-
151
- // Calculate ID based on button text and URL
152
- $id = "$button|$url";
153
- // Padd to nearest 5 bytes for base32
154
- $pad = strlen( $id );
155
- if ( $pad % 5 > 0 ) {
156
- $pad += 5 - ( $pad % 5 );
157
- $id = str_pad( $id, $pad, '|' );
158
- }
159
 
160
- // Encode $id so it will be unique
161
- $id = Base32::encode( $id );
 
 
 
162
 
163
- // Save in site options
164
- update_site_option( "backwpup_message_id_$lang", $id );
165
- update_site_option( "backwpup_message_content_$lang", $content );
166
- update_site_option( "backwpup_message_button_text_$lang", $button );
167
- update_site_option( "backwpup_message_url_$lang", $url );
 
 
 
 
168
  }
 
 
 
 
 
 
 
 
 
169
  }
170
  }
171
 
@@ -183,25 +192,28 @@ class BackWPup_Cron {
183
  $args = array();
184
  }
185
 
186
- if ( isset( $_GET[ 'backwpup_run' ] ) ) {
187
- $args[ 'run' ] = sanitize_text_field( $_GET[ 'backwpup_run' ] );
188
  }
189
 
190
- if ( isset( $_GET[ '_nonce' ] ) ) {
191
- $args[ 'nonce' ] = sanitize_text_field( $_GET[ '_nonce' ] );
192
  }
193
 
194
- if ( isset( $_GET[ 'jobid' ] ) ) {
195
- $args[ 'jobid' ] = absint( $_GET[ 'jobid' ] );
196
  }
197
 
198
  $args = array_merge( array(
199
- 'run' => '',
200
  'nonce' => '',
201
  'jobid' => 0,
202
- ), $args );
 
203
 
204
- if ( ! in_array( $args[ 'run' ], array( 'test','restart', 'runnow', 'runnowalt', 'runext', 'cronrun' ), true ) ) {
 
 
205
  return;
206
  }
207
 
@@ -221,12 +233,14 @@ class BackWPup_Cron {
221
  // Restart if cannot find job
222
  if ( ! $job_object ) {
223
  BackWPup_Job::start_http( 'restart' );
 
224
  return;
225
  }
226
  //restart job if not working or a restart wished
227
- $not_worked_time = microtime( TRUE ) - $job_object->timestamp_last_update;
228
  if ( ! $job_object->pid || $not_worked_time > 300 ) {
229
  BackWPup_Job::start_http( 'restart' );
 
230
  return;
231
  }
232
  }
@@ -247,7 +261,7 @@ class BackWPup_Cron {
247
 
248
  //check runext is allowed for job
249
  if ( $args['run'] === 'runext' ) {
250
- $jobids_link = BackWPup_Option::get_job_ids( 'activetype', 'link' );
251
  $jobids_easycron = BackWPup_Option::get_job_ids( 'activetype', 'easycron' );
252
  $jobids_external = array_merge( $jobids_link, $jobids_easycron );
253
  if ( ! in_array( $args['jobid'], $jobids_external, true ) ) {
@@ -259,20 +273,22 @@ class BackWPup_Cron {
259
  BackWPup_Job::start_http( $args['run'], $args['jobid'] );
260
  }
261
 
262
-
263
  /**
264
  *
265
  * Get the local time timestamp of the next cron execution
266
  *
267
- * @param string $cronstring cron (* * * * *)
268
- * @return int timestamp
 
269
  */
270
  public static function cron_next( $cronstring ) {
271
 
272
  $cron = array();
273
  $cronarray = array();
274
  //Cron string
275
- list( $cronstr[ 'minutes' ], $cronstr[ 'hours' ], $cronstr[ 'mday' ], $cronstr[ 'mon' ], $cronstr[ 'wday' ] ) = explode( ' ', trim( $cronstring ), 5 );
 
 
276
 
277
  //make arrays form string
278
  foreach ( $cronstr as $key => $value ) {
@@ -307,43 +323,41 @@ class BackWPup_Cron {
307
  }
308
  $range = array();
309
  for ( $i = $first; $i <= $last; $i = $i + $step ) {
310
- $range[ ] = $i;
311
  }
312
  $cron[ $cronarraykey ] = array_merge( $cron[ $cronarraykey ], $range );
313
- }
314
- elseif ( $value === '*' ) {
315
  $range = array();
316
  if ( $cronarraykey === 'minutes' ) {
317
  if ( $step < 10 ) { //set step minimum to 5 min.
318
  $step = 10;
319
  }
320
  for ( $i = 0; $i <= 59; $i = $i + $step ) {
321
- $range[ ] = $i;
322
  }
323
  }
324
  if ( $cronarraykey === 'hours' ) {
325
  for ( $i = 0; $i <= 23; $i = $i + $step ) {
326
- $range[ ] = $i;
327
  }
328
  }
329
  if ( $cronarraykey === 'mday' ) {
330
  for ( $i = $step; $i <= 31; $i = $i + $step ) {
331
- $range[ ] = $i;
332
  }
333
  }
334
  if ( $cronarraykey === 'mon' ) {
335
  for ( $i = $step; $i <= 12; $i = $i + $step ) {
336
- $range[ ] = $i;
337
  }
338
  }
339
  if ( $cronarraykey === 'wday' ) {
340
  for ( $i = 0; $i <= 6; $i = $i + $step ) {
341
- $range[ ] = $i;
342
  }
343
  }
344
  $cron[ $cronarraykey ] = array_merge( $cron[ $cronarraykey ], $range );
345
- }
346
- else {
347
  if ( ! is_numeric( $value ) || (int) $value > 60 ) {
348
  return PHP_INT_MAX;
349
  }
@@ -355,21 +369,25 @@ class BackWPup_Cron {
355
  //generate years
356
  $year = (int) gmdate( 'Y' );
357
  for ( $i = $year; $i < $year + 100; $i ++ ) {
358
- $cron[ 'year' ][ ] = $i;
359
  }
360
 
361
  //calc next timestamp
362
  $current_timestamp = (int) current_time( 'timestamp' );
363
- foreach ( $cron[ 'year' ] as $year ) {
364
- foreach ( $cron[ 'mon' ] as $mon ) {
365
- foreach ( $cron[ 'mday' ] as $mday ) {
366
  if ( ! checkdate( $mon, $mday, $year ) ) {
367
  continue;
368
  }
369
- foreach ( $cron[ 'hours' ] as $hours ) {
370
- foreach ( $cron[ 'minutes' ] as $minutes ) {
371
  $timestamp = gmmktime( $hours, $minutes, 0, $mon, $mday, $year );
372
- if ( $timestamp && in_array( (int) gmdate( 'j', $timestamp ), $cron[ 'mday' ], true ) && in_array( (int) gmdate( 'w', $timestamp ), $cron[ 'wday' ], true ) && $timestamp > $current_timestamp ) {
 
 
 
 
373
  return $timestamp - ( (int) get_option( 'gmt_offset' ) * 3600 );
374
  }
375
  }
8
  class BackWPup_Cron {
9
 
10
  /**
11
+ * @param string $arg
 
 
 
12
  */
13
  public static function run( $arg = 'restart' ) {
14
 
15
+ if (get_current_blog_id() != get_main_site_id()){
16
+ // Don't repeat if on multisite
17
+ return;
18
+ }
19
+
20
  if ( $arg === 'restart' ) {
21
  //reschedule restart
22
  wp_schedule_single_event( time() + 60, 'backwpup_cron', array( 'id' => 'restart' ) );
52
  //start job
53
  self::cron_active( array(
54
  'run' => 'cronrun',
55
+ 'jobid' => $arg,
56
  ) );
57
 
58
  }
59
 
 
60
  /**
61
  * Check Jobs worked and Cleanup logs and so on
62
  */
68
 
69
  // check aborted jobs for longer than a tow hours, abort them courtly and send mail
70
  if ( is_object( $job_object ) && ! empty( $job_object->logfile ) ) {
71
+ $not_worked_time = microtime( true ) - $job_object->timestamp_last_update;
72
  if ( $not_worked_time > 3600 ) {
73
+ $job_object->log( E_USER_ERROR,
74
+ __( 'Aborted, because no progress for one hour!', 'backwpup' ),
75
+ __FILE__,
76
+ __LINE__ );
77
  unlink( BackWPup::get_plugin_data( 'running_file' ) );
78
  $job_object->update_working_data();
79
  }
81
 
82
  //Compress not compressed logs
83
  if ( is_readable( $log_folder ) && function_exists( 'gzopen' )
84
+ && get_site_option( 'backwpup_cfg_gzlogs' ) && ! is_object( $job_object ) ) {
85
  //Compress old not compressed logs
86
  try {
87
  $dir = new BackWPup_Directory( $log_folder );
88
 
89
  $jobids = BackWPup_Option::get_job_ids();
90
  foreach ( $dir as $file ) {
91
+ if ( $file->isWritable() && '.html' == substr( $file->getFilename(), - 5 ) ) {
92
  $compress = new BackWPup_Create_Archive( $file->getPathname() . '.gz' );
93
  if ( $compress->add_file( $file->getPathname() ) ) {
94
  unlink( $file->getPathname() );
95
  //change last logfile in jobs
96
+ foreach ( $jobids as $jobid ) {
97
  $job_logfile = BackWPup_Option::get( $jobid, 'logfile' );
98
  if ( ! empty( $job_logfile ) && $job_logfile === $file->getPathname() ) {
99
  BackWPup_Option::update( $jobid, 'logfile', $file->getPathname() . '.gz' );
104
  unset( $compress );
105
  }
106
  }
107
+ } catch ( UnexpectedValueException $e ) {
108
+ $job_object->log( sprintf( __( "Could not open path: %s", 'backwpup' ), $e->getMessage() ),
109
+ E_USER_WARNING );
110
  }
111
  }
112
 
140
 
141
  // Fetch message from API
142
  $api_request = esc_url( 'http://backwpup.com/wp-json/inpsyde-messages/v1/message/' );
143
+ $api_response = wp_remote_get( $api_request ); // phpcs:ignore
144
  $api_data = json_decode( wp_remote_retrieve_body( $api_response ), true );
145
 
146
+ if ( is_wp_error( $api_response ) ) {
147
+ return;
148
+ }
149
+ if ( 200 !== $api_response['response']['code'] ) {
150
+ return;
151
+ }
 
 
 
 
 
 
 
 
 
 
 
152
 
153
+ // Add messages to options
154
+ foreach ( $api_data as $lang => $value ) {
155
+ $content = $value['content'];
156
+ $button = $value['button-text'];
157
+ $url = $value['url'];
158
 
159
+ // Calculate ID based on button text and URL
160
+ $id = "$button|$url";
161
+
162
+ // Pad to nearest 5 bytes for base32
163
+ $pad = strlen( $id );
164
+
165
+ if ( $pad % 5 > 0 ) {
166
+ $pad += 5 - ( $pad % 5 );
167
+ $id = str_pad( $id, $pad, '|' );
168
  }
169
+
170
+ // Encode $id so it will be unique
171
+ $id = Base32::encode( $id );
172
+
173
+ // Save in site options
174
+ update_site_option( "backwpup_message_id_$lang", $id );
175
+ update_site_option( "backwpup_message_content_$lang", $content );
176
+ update_site_option( "backwpup_message_button_text_$lang", $button );
177
+ update_site_option( "backwpup_message_url_$lang", $url );
178
  }
179
  }
180
 
192
  $args = array();
193
  }
194
 
195
+ if ( isset( $_GET['backwpup_run'] ) ) {
196
+ $args['run'] = sanitize_text_field( $_GET['backwpup_run'] );
197
  }
198
 
199
+ if ( isset( $_GET['_nonce'] ) ) {
200
+ $args['nonce'] = sanitize_text_field( $_GET['_nonce'] );
201
  }
202
 
203
+ if ( isset( $_GET['jobid'] ) ) {
204
+ $args['jobid'] = absint( $_GET['jobid'] );
205
  }
206
 
207
  $args = array_merge( array(
208
+ 'run' => '',
209
  'nonce' => '',
210
  'jobid' => 0,
211
+ ),
212
+ $args );
213
 
214
+ if ( ! in_array( $args['run'],
215
+ array( 'test', 'restart', 'runnow', 'runnowalt', 'runext', 'cronrun' ),
216
+ true ) ) {
217
  return;
218
  }
219
 
233
  // Restart if cannot find job
234
  if ( ! $job_object ) {
235
  BackWPup_Job::start_http( 'restart' );
236
+
237
  return;
238
  }
239
  //restart job if not working or a restart wished
240
+ $not_worked_time = microtime( true ) - $job_object->timestamp_last_update;
241
  if ( ! $job_object->pid || $not_worked_time > 300 ) {
242
  BackWPup_Job::start_http( 'restart' );
243
+
244
  return;
245
  }
246
  }
261
 
262
  //check runext is allowed for job
263
  if ( $args['run'] === 'runext' ) {
264
+ $jobids_link = BackWPup_Option::get_job_ids( 'activetype', 'link' );
265
  $jobids_easycron = BackWPup_Option::get_job_ids( 'activetype', 'easycron' );
266
  $jobids_external = array_merge( $jobids_link, $jobids_easycron );
267
  if ( ! in_array( $args['jobid'], $jobids_external, true ) ) {
273
  BackWPup_Job::start_http( $args['run'], $args['jobid'] );
274
  }
275
 
 
276
  /**
277
  *
278
  * Get the local time timestamp of the next cron execution
279
  *
280
+ * @param string $cronstring cron (* * * * *).
281
+ *
282
+ * @return int Timestamp
283
  */
284
  public static function cron_next( $cronstring ) {
285
 
286
  $cron = array();
287
  $cronarray = array();
288
  //Cron string
289
+ list( $cronstr['minutes'], $cronstr['hours'], $cronstr['mday'], $cronstr['mon'], $cronstr['wday'] ) = explode( ' ',
290
+ trim( $cronstring ),
291
+ 5 );
292
 
293
  //make arrays form string
294
  foreach ( $cronstr as $key => $value ) {
323
  }
324
  $range = array();
325
  for ( $i = $first; $i <= $last; $i = $i + $step ) {
326
+ $range[] = $i;
327
  }
328
  $cron[ $cronarraykey ] = array_merge( $cron[ $cronarraykey ], $range );
329
+ } elseif ( $value === '*' ) {
 
330
  $range = array();
331
  if ( $cronarraykey === 'minutes' ) {
332
  if ( $step < 10 ) { //set step minimum to 5 min.
333
  $step = 10;
334
  }
335
  for ( $i = 0; $i <= 59; $i = $i + $step ) {
336
+ $range[] = $i;
337
  }
338
  }
339
  if ( $cronarraykey === 'hours' ) {
340
  for ( $i = 0; $i <= 23; $i = $i + $step ) {
341
+ $range[] = $i;
342
  }
343
  }
344
  if ( $cronarraykey === 'mday' ) {
345
  for ( $i = $step; $i <= 31; $i = $i + $step ) {
346
+ $range[] = $i;
347
  }
348
  }
349
  if ( $cronarraykey === 'mon' ) {
350
  for ( $i = $step; $i <= 12; $i = $i + $step ) {
351
+ $range[] = $i;
352
  }
353
  }
354
  if ( $cronarraykey === 'wday' ) {
355
  for ( $i = 0; $i <= 6; $i = $i + $step ) {
356
+ $range[] = $i;
357
  }
358
  }
359
  $cron[ $cronarraykey ] = array_merge( $cron[ $cronarraykey ], $range );
360
+ } else {
 
361
  if ( ! is_numeric( $value ) || (int) $value > 60 ) {
362
  return PHP_INT_MAX;
363
  }
369
  //generate years
370
  $year = (int) gmdate( 'Y' );
371
  for ( $i = $year; $i < $year + 100; $i ++ ) {
372
+ $cron['year'][] = $i;
373
  }
374
 
375
  //calc next timestamp
376
  $current_timestamp = (int) current_time( 'timestamp' );
377
+ foreach ( $cron['year'] as $year ) {
378
+ foreach ( $cron['mon'] as $mon ) {
379
+ foreach ( $cron['mday'] as $mday ) {
380
  if ( ! checkdate( $mon, $mday, $year ) ) {
381
  continue;
382
  }
383
+ foreach ( $cron['hours'] as $hours ) {
384
+ foreach ( $cron['minutes'] as $minutes ) {
385
  $timestamp = gmmktime( $hours, $minutes, 0, $mon, $mday, $year );
386
+ if ( $timestamp && in_array( (int) gmdate( 'j', $timestamp ),
387
+ $cron['mday'],
388
+ true ) && in_array( (int) gmdate( 'w', $timestamp ),
389
+ $cron['wday'],
390
+ true ) && $timestamp > $current_timestamp ) {
391
  return $timestamp - ( (int) get_option( 'gmt_offset' ) * 3600 );
392
  }
393
  }
inc/class-destination-ftp.php CHANGED
@@ -282,7 +282,8 @@ class BackWPup_Destination_Ftp extends BackWPup_Destinations {
282
  }
283
 
284
  if ( ! $this->ftp_conn_id ) {
285
- if ( ! empty( BackWPup_Option::get( $jobid, 'ftpssl' ) )
 
286
  && function_exists( 'ftp_ssl_connect' ) ) {
287
  $ftp_conn_id = ftp_ssl_connect(
288
  BackWPup_Option::get( $jobid, 'ftphost' ),
282
  }
283
 
284
  if ( ! $this->ftp_conn_id ) {
285
+ $ftp_ssl = BackWPup_Option::get( $jobid, 'ftpssl' );
286
+ if ( ! empty( $ftp_ssl )
287
  && function_exists( 'ftp_ssl_connect' ) ) {
288
  $ftp_conn_id = ftp_ssl_connect(
289
  BackWPup_Option::get( $jobid, 'ftphost' ),
inc/class-jobtype-wpexp.php CHANGED
@@ -480,7 +480,6 @@ class BackWPup_JobType_WPEXP extends BackWPup_JobTypes {
480
  $job_object->steps_data[ $job_object->step_working ]['wpexportfile'] .= $job_object->job[ 'wpexportfilecompression' ];
481
  $job_object->log( __( 'Compressing done.', 'backwpup' ) );
482
  }
483
- $compress->close();
484
  } catch ( Exception $e ) {
485
  $job_object->log( $e->getMessage(), E_USER_ERROR, $e->getFile(), $e->getLine() );
486
  unset( $compress );
480
  $job_object->steps_data[ $job_object->step_working ]['wpexportfile'] .= $job_object->job[ 'wpexportfilecompression' ];
481
  $job_object->log( __( 'Compressing done.', 'backwpup' ) );
482
  }
 
483
  } catch ( Exception $e ) {
484
  $job_object->log( $e->getMessage(), E_USER_ERROR, $e->getFile(), $e->getLine() );
485
  unset( $compress );
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: inpsyde, cocreation, danielhuesken, Bueltge, nullbyte
3
  Tags: backup, restore, back up, Amazon, Amazon S3, chinese, cloud, cloud files, database, db backup, dropbox, dump, file, french, ftp, ftps, german, migrate, multisite, russian, schedule, sftp, storage, S3, time, upload, xml
4
  Requires at least: 3.9
5
- Tested up to: 4.9.5
6
  Requires PHP: 5.3
7
- Stable tag: 3.5.0
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -12,8 +12,6 @@ Schedule complete automatic backups of your WordPress installation. Decide which
12
 
13
  == Description ==
14
 
15
- **NEW: BackWPup PRO 3.5 with the long-desired RESTORE feature! Get every licence from May 16th to 31 with a [30% DISCOUNT](https://backwpup.com/#buy)!**
16
-
17
  The **backup plugin** **[BackWPup](https://backwpup.com/)** can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like **Dropbox**, **S3**, **FTP** and many more, see list below. With a single backup .zip file you are able to easily restore an installation. Please understand: this free version will not be supported as good as the [BackWPup Pro version](https://backwpup.com). With our premium version you get first class support and more features.
18
 
19
 
@@ -163,6 +161,15 @@ Yes. You need to have writing access to the wp-config.php file (usually residing
163
  [You can find a detailed tutorial in the BackWPup documentation.](http://docs.backwpup.com/article/118-install-backwpup)
164
 
165
  == Changelog ==
 
 
 
 
 
 
 
 
 
166
  = Version 3.5.0 =
167
  Release Date: May 16, 2018
168
 
2
  Contributors: inpsyde, cocreation, danielhuesken, Bueltge, nullbyte
3
  Tags: backup, restore, back up, Amazon, Amazon S3, chinese, cloud, cloud files, database, db backup, dropbox, dump, file, french, ftp, ftps, german, migrate, multisite, russian, schedule, sftp, storage, S3, time, upload, xml
4
  Requires at least: 3.9
5
+ Tested up to: 4.9.6
6
  Requires PHP: 5.3
7
+ Stable tag: 3.5.1
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
12
 
13
  == Description ==
14
 
 
 
15
  The **backup plugin** **[BackWPup](https://backwpup.com/)** can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like **Dropbox**, **S3**, **FTP** and many more, see list below. With a single backup .zip file you are able to easily restore an installation. Please understand: this free version will not be supported as good as the [BackWPup Pro version](https://backwpup.com). With our premium version you get first class support and more features.
16
 
17
 
161
  [You can find a detailed tutorial in the BackWPup documentation.](http://docs.backwpup.com/article/118-install-backwpup)
162
 
163
  == Changelog ==
164
+ = Version 3.5.1 =
165
+ Release Date: May 23, 2018
166
+
167
+ * Fixed: call to a member function close() on null
168
+ * Fixed: Cannot use object of type WP_Error as array
169
+ * Fixed: Can't use function return value in write context
170
+ * Fixed: Compatibility with PHP 5.3
171
+ * Fixed: Decreased size of plugin by purging unneeded files
172
+
173
  = Version 3.5.0 =
174
  Release Date: May 16, 2018
175
 
vendor/aws/aws-sdk-php/LICENSE.md DELETED
@@ -1,141 +0,0 @@
1
- # Apache License
2
- Version 2.0, January 2004
3
-
4
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
5
-
6
- ## 1. Definitions.
7
-
8
- "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1
9
- through 9 of this document.
10
-
11
- "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the
12
- License.
13
-
14
- "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled
15
- by, or are under common control with that entity. For the purposes of this definition, "control" means
16
- (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract
17
- or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial
18
- ownership of such entity.
19
-
20
- "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
21
-
22
- "Source" form shall mean the preferred form for making modifications, including but not limited to software
23
- source code, documentation source, and configuration files.
24
-
25
- "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form,
26
- including but not limited to compiled object code, generated documentation, and conversions to other media
27
- types.
28
-
29
- "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License,
30
- as indicated by a copyright notice that is included in or attached to the work (an example is provided in the
31
- Appendix below).
32
-
33
- "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from)
34
- the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent,
35
- as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not
36
- include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work
37
- and Derivative Works thereof.
38
-
39
- "Contribution" shall mean any work of authorship, including the original version of the Work and any
40
- modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to
41
- Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to
42
- submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of
43
- electronic, verbal, or written communication sent to the Licensor or its representatives, including but not
44
- limited to communication on electronic mailing lists, source code control systems, and issue tracking systems
45
- that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but
46
- excluding communication that is conspicuously marked or otherwise designated in writing by the copyright
47
- owner as "Not a Contribution."
48
-
49
- "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been
50
- received by Licensor and subsequently incorporated within the Work.
51
-
52
- ## 2. Grant of Copyright License.
53
-
54
- Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual,
55
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
56
- Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such
57
- Derivative Works in Source or Object form.
58
-
59
- ## 3. Grant of Patent License.
60
-
61
- Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual,
62
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent
63
- license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such
64
- license applies only to those patent claims licensable by such Contributor that are necessarily infringed by
65
- their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such
66
- Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim
67
- or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work
68
- constitutes direct or contributory patent infringement, then any patent licenses granted to You under this
69
- License for that Work shall terminate as of the date such litigation is filed.
70
-
71
- ## 4. Redistribution.
72
-
73
- You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without
74
- modifications, and in Source or Object form, provided that You meet the following conditions:
75
-
76
- 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
77
-
78
- 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
79
-
80
- 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent,
81
- trademark, and attribution notices from the Source form of the Work, excluding those notices that do
82
- not pertain to any part of the Derivative Works; and
83
-
84
- 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that
85
- You distribute must include a readable copy of the attribution notices contained within such NOTICE
86
- file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one
87
- of the following places: within a NOTICE text file distributed as part of the Derivative Works; within
88
- the Source form or documentation, if provided along with the Derivative Works; or, within a display
89
- generated by the Derivative Works, if and wherever such third-party notices normally appear. The
90
- contents of the NOTICE file are for informational purposes only and do not modify the License. You may
91
- add Your own attribution notices within Derivative Works that You distribute, alongside or as an
92
- addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be
93
- construed as modifying the License.
94
-
95
- You may add Your own copyright statement to Your modifications and may provide additional or different license
96
- terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative
97
- Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the
98
- conditions stated in this License.
99
-
100
- ## 5. Submission of Contributions.
101
-
102
- Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by
103
- You to the Licensor shall be under the terms and conditions of this License, without any additional terms or
104
- conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate
105
- license agreement you may have executed with Licensor regarding such Contributions.
106
-
107
- ## 6. Trademarks.
108
-
109
- This License does not grant permission to use the trade names, trademarks, service marks, or product names of
110
- the Licensor, except as required for reasonable and customary use in describing the origin of the Work and
111
- reproducing the content of the NOTICE file.
112
-
113
- ## 7. Disclaimer of Warranty.
114
-
115
- Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor
116
- provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
117
- or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
118
- MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the
119
- appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of
120
- permissions under this License.
121
-
122
- ## 8. Limitation of Liability.
123
-
124
- In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless
125
- required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any
126
- Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential
127
- damages of any character arising as a result of this License or out of the use or inability to use the Work
128
- (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or
129
- any and all other commercial damages or losses), even if such Contributor has been advised of the possibility
130
- of such damages.
131
-
132
- ## 9. Accepting Warranty or Additional Liability.
133
-
134
- While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for,
135
- acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this
136
- License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole
137
- responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold
138
- each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason
139
- of your accepting any such warranty or additional liability.
140
-
141
- END OF TERMS AND CONDITIONS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/NOTICE.md DELETED
@@ -1,112 +0,0 @@
1
- # AWS SDK for PHP
2
-
3
- <http://aws.amazon.com/php>
4
-
5
- Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
-
7
- Licensed under the Apache License, Version 2.0 (the "License").
8
- You may not use this file except in compliance with the License.
9
- A copy of the License is located at
10
-
11
- <http://aws.amazon.com/apache2.0>
12
-
13
- or in the "license" file accompanying this file. This file is distributed
14
- on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
15
- express or implied. See the License for the specific language governing
16
- permissions and limitations under the License.
17
-
18
- # Guzzle
19
-
20
- <https://github.com/guzzle/guzzle>
21
-
22
- Copyright (c) 2011 Michael Dowling, https://github.com/mtdowling
23
-
24
- Permission is hereby granted, free of charge, to any person obtaining a copy
25
- of this software and associated documentation files (the "Software"), to deal
26
- in the Software without restriction, including without limitation the rights
27
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
28
- copies of the Software, and to permit persons to whom the Software is
29
- furnished to do so, subject to the following conditions:
30
-
31
- The above copyright notice and this permission notice shall be included in
32
- all copies or substantial portions of the Software.
33
-
34
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
40
- THE SOFTWARE.
41
-
42
- # Symfony
43
-
44
- <https://github.com/symfony/symfony>
45
-
46
- Copyright (c) 2004-2012 Fabien Potencier
47
-
48
- Permission is hereby granted, free of charge, to any person obtaining a copy
49
- of this software and associated documentation files (the "Software"), to deal
50
- in the Software without restriction, including without limitation the rights
51
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
52
- copies of the Software, and to permit persons to whom the Software is furnished
53
- to do so, subject to the following conditions:
54
-
55
- The above copyright notice and this permission notice shall be included in all
56
- copies or substantial portions of the Software.
57
-
58
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
59
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
60
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
61
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
62
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
63
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
64
- THE SOFTWARE.
65
-
66
- # Doctrine Common
67
-
68
- <https://github.com/doctrine/common>
69
-
70
- Copyright (c) 2006-2012 Doctrine Project
71
-
72
- Permission is hereby granted, free of charge, to any person obtaining a copy of
73
- this software and associated documentation files (the "Software"), to deal in
74
- the Software without restriction, including without limitation the rights to
75
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
76
- of the Software, and to permit persons to whom the Software is furnished to do
77
- so, subject to the following conditions:
78
-
79
- The above copyright notice and this permission notice shall be included in all
80
- copies or substantial portions of the Software.
81
-
82
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
83
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
84
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
85
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
86
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
87
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
88
- SOFTWARE.
89
-
90
- # Monolog
91
-
92
- <https://github.com/Seldaek/monolog>
93
-
94
- Copyright (c) Jordi Boggiano
95
-
96
- Permission is hereby granted, free of charge, to any person obtaining a copy
97
- of this software and associated documentation files (the "Software"), to deal
98
- in the Software without restriction, including without limitation the rights
99
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
100
- copies of the Software, and to permit persons to whom the Software is furnished
101
- to do so, subject to the following conditions:
102
-
103
- The above copyright notice and this permission notice shall be included in all
104
- copies or substantial portions of the Software.
105
-
106
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
107
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
108
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
109
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
110
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
111
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
112
- THE SOFTWARE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/aws/aws-sdk-php/composer.json DELETED
@@ -1,42 +0,0 @@
1
- {
2
- "name": "aws/aws-sdk-php",
3
- "homepage": "http://aws.amazon.com/sdkforphp",
4
- "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
5
- "keywords": ["aws","amazon","sdk","s3","ec2","dynamodb","cloud","glacier"],
6
- "type": "library",
7
- "license": "Apache-2.0",
8
- "authors": [
9
- {
10
- "name": "Amazon Web Services",
11
- "homepage": "http://aws.amazon.com"
12
- }
13
- ],
14
- "support": {
15
- "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
16
- "issues": "https://github.com/aws/aws-sdk-php/issues"
17
- },
18
- "require": {
19
- "php": ">=5.3.3",
20
- "guzzle/guzzle": "~3.7"
21
- },
22
- "suggest": {
23
- "doctrine/cache": "Adds support for caching of credentials and responses",
24
- "ext-apc": "Allows service description opcode caching, request and response caching, and credentials caching",
25
- "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
26
- "monolog/monolog": "Adds support for logging HTTP requests and responses",
27
- "symfony/yaml": "Eases the ability to write manifests for creating jobs in AWS Import/Export"
28
- },
29
- "require-dev": {
30
- "ext-openssl": "*",
31
- "doctrine/cache": "~1.0",
32
- "monolog/monolog": "~1.4",
33
- "phpunit/phpunit": "~4.0",
34
- "phpunit/phpunit-mock-objects": "2.3.1",
35
- "symfony/yaml": "~2.1"
36
- },
37
- "autoload": {
38
- "psr-0": {
39
- "Aws": "src/"
40
- }
41
- }
42
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- composer.lock
2
- build/
3
- vendor/
 
 
 
vendor/christian-riesen/base32/.travis.yml DELETED
@@ -1,19 +0,0 @@
1
- language: php
2
-
3
- php:
4
- - 5.3
5
- - 5.4
6
- - 5.5
7
- - 5.6
8
- - hhvm
9
-
10
- before_script:
11
- - composer install
12
-
13
- before_script:
14
- - curl -s http://getcomposer.org/installer | php
15
- - php composer.phar update --dev --no-interaction
16
- - mkdir -p build/logs
17
-
18
- script:
19
- - php vendor/bin/phpunit --coverage-text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/LICENSE DELETED
@@ -1,19 +0,0 @@
1
- Copyright (c) 2013-2014 Christian Riesen
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is furnished
8
- to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- THE SOFTWARE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/README.md DELETED
@@ -1,60 +0,0 @@
1
- base32
2
- ======
3
-
4
- Base32 Encoder/Decoder for PHP according to RFC 4648
5
-
6
- [![Build Status](https://secure.travis-ci.org/ChristianRiesen/base32.png)](http://travis-ci.org/ChristianRiesen/base32)
7
- [![HHVM Status](http://hhvm.h4cc.de/badge/christian-riesen/base32.png)](http://hhvm.h4cc.de/package/christian-riesen/base32)
8
-
9
- [![Latest Stable Version](https://poser.pugx.org/christian-riesen/base32/v/stable.png)](https://packagist.org/packages/christian-riesen/base32) [![Total Downloads](https://poser.pugx.org/christian-riesen/base32/downloads.png)](https://packagist.org/packages/christian-riesen/base32) [![Latest Unstable Version](https://poser.pugx.org/christian-riesen/base32/v/unstable.png)](https://packagist.org/packages/christian-riesen/base32) [![License](https://poser.pugx.org/christian-riesen/base32/license.png)](https://packagist.org/packages/christian-riesen/base32)
10
-
11
- Do you like this? Flattr it:
12
-
13
- [![Flattr base32](http://api.flattr.com/button/flattr-badge-large.png)](http://flattr.com/thing/720563/ChristianRiesenbase32-on-GitHub)
14
-
15
- Usage
16
- -----
17
-
18
- <?php
19
-
20
- // Include class or user autoloader
21
- use Base32\Base32;
22
-
23
- $string = 'fooba';
24
-
25
- $encoded = Base32::encode($string);
26
- // $encoded contains now 'MZXW6YTB'
27
-
28
- $decoded = Base32::decode($encoded);
29
- // $decoded is again 'fooba'
30
-
31
-
32
- About
33
- =====
34
-
35
- Use
36
- ---
37
-
38
- Initially created to work with the [one time password project](https://github.com/ChristianRiesen/otp), yet it can stand alone just as well as [Jordi Boggiano](http://seld.be/) kindly pointed out. It's the only Base32 implementation I could make work that passes the test vectors (and contains unit tests).
39
-
40
- Goal
41
- ----
42
- Have a RFC compliant Base32 encoder and decoder. The implementation could be improved, but for now, it does the job and has unit tests. Ideally, the class can be enhanced while the unit tests keep passing.
43
-
44
- Requirements
45
- ------------
46
-
47
- PHP 5.3.x+
48
-
49
- If you want to run the tests, PHPUnit 3.6 or up is required.
50
-
51
- Author
52
- ------
53
-
54
- Christian Riesen <chris.riesen@gmail.com> http://christianriesen.com
55
-
56
- Acknowledgements
57
- ----------------
58
-
59
- Base32 is mostly based on the work of https://github.com/NTICompass/PHP-Base32
60
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/build.xml DELETED
@@ -1,130 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project name="christianriesen-base32" default="build">
3
- <target name="build" depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpunit,phpcb"/>
4
-
5
- <target name="build-parallel" depends="prepare,lint,tools-parallel,phpunit,phpcb"/>
6
-
7
- <target name="tools-parallel" description="Run tools in parallel">
8
- <parallel threadCount="2">
9
- <sequential>
10
- <antcall target="pdepend"/>
11
- <antcall target="phpmd-ci"/>
12
- </sequential>
13
- <antcall target="phpcpd"/>
14
- <antcall target="phpcs-ci"/>
15
- <antcall target="phploc"/>
16
- </parallel>
17
- </target>
18
-
19
- <target name="clean" description="Cleanup build artifacts">
20
- <delete dir="${basedir}/build/code-browser"/>
21
- <delete dir="${basedir}/build/coverage"/>
22
- <delete dir="${basedir}/build/logs"/>
23
- <delete dir="${basedir}/build/pdepend"/>
24
- <exec executable="bash">
25
- <arg value="-c" />
26
- <arg value="curl -s http://getcomposer.org/installer | php" />
27
- </exec>
28
- <exec executable="php">
29
- <arg value="composer.phar" />
30
- <arg value="install" />
31
- </exec>
32
- </target>
33
-
34
- <target name="prepare" depends="clean" description="Prepare for build">
35
- <mkdir dir="${basedir}/build/code-browser"/>
36
- <mkdir dir="${basedir}/build/coverage"/>
37
- <mkdir dir="${basedir}/build/logs"/>
38
- <mkdir dir="${basedir}/build/pdepend"/>
39
- </target>
40
-
41
- <target name="lint" description="Perform syntax check of sourcecode files">
42
- <apply executable="php" failonerror="true">
43
- <arg value="-l"/>
44
-
45
- <fileset dir="${basedir}/src">
46
- <include name="**/*.php"/>
47
- <modified/>
48
- </fileset>
49
-
50
- <fileset dir="${basedir}/tests">
51
- <include name="**/*.php"/>
52
- <modified/>
53
- </fileset>
54
- </apply>
55
- </target>
56
-
57
- <target name="phploc" description="Measure project size using PHPLOC">
58
- <exec executable="phploc">
59
- <arg value="--log-csv"/>
60
- <arg value="${basedir}/build/logs/phploc.csv"/>
61
- <arg path="${basedir}/src"/>
62
- </exec>
63
- </target>
64
-
65
- <target name="pdepend" description="Calculate software metrics using PHP_Depend">
66
- <exec executable="pdepend">
67
- <arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml"/>
68
- <arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg"/>
69
- <arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg"/>
70
- <arg path="${basedir}/src"/>
71
- </exec>
72
- </target>
73
-
74
- <target name="phpmd" description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
75
- <exec executable="phpmd">
76
- <arg path="${basedir}/src"/>
77
- <arg value="text"/>
78
- <arg value="${basedir}/build/phpmd.xml"/>
79
- </exec>
80
- </target>
81
-
82
- <target name="phpmd-ci" description="Perform project mess detection using PHPMD creating a log file for the continuous integration server">
83
- <exec executable="phpmd">
84
- <arg path="${basedir}/src"/>
85
- <arg value="xml"/>
86
- <arg value="${basedir}/build/phpmd.xml"/>
87
- <arg value="--reportfile"/>
88
- <arg value="${basedir}/build/logs/pmd.xml"/>
89
- </exec>
90
- </target>
91
-
92
- <target name="phpcs" description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
93
- <exec executable="phpcs">
94
- <arg value="--standard=${basedir}/build/phpcs.xml"/>
95
- <arg path="${basedir}/src"/>
96
- </exec>
97
- </target>
98
-
99
- <target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
100
- <exec executable="phpcs" output="/dev/null">
101
- <arg value="--report=checkstyle"/>
102
- <arg value="--report-file=${basedir}/build/logs/checkstyle.xml"/>
103
- <arg value="--standard=${basedir}/build/phpcs.xml"/>
104
- <arg path="${basedir}/src"/>
105
- </exec>
106
- </target>
107
-
108
- <target name="phpcpd" description="Find duplicate code using PHPCPD">
109
- <exec executable="phpcpd">
110
- <arg value="--log-pmd"/>
111
- <arg value="${basedir}/build/logs/pmd-cpd.xml"/>
112
- <arg path="${basedir}/src"/>
113
- </exec>
114
- </target>
115
-
116
- <target name="phpunit" description="Run unit tests with PHPUnit">
117
- <exec executable="phpunit" failonerror="true"/>
118
- </target>
119
-
120
- <target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser">
121
- <exec executable="phpcb">
122
- <arg value="--log"/>
123
- <arg path="${basedir}/build/logs"/>
124
- <arg value="--source"/>
125
- <arg path="${basedir}/src"/>
126
- <arg value="--output"/>
127
- <arg path="${basedir}/build/code-browser"/>
128
- </exec>
129
- </target>
130
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/composer.json DELETED
@@ -1,33 +0,0 @@
1
- {
2
- "name": "christian-riesen/base32",
3
- "type": "library",
4
- "description": "Base32 encoder/decoder according to RFC 4648",
5
- "keywords": ["base32","encode","decode","rfc4648"],
6
- "homepage": "https://github.com/ChristianRiesen/base32",
7
- "license": "MIT",
8
- "authors": [
9
- {
10
- "name": "Christian Riesen",
11
- "email": "chris.riesen@gmail.com",
12
- "homepage": "http://christianriesen.com",
13
- "role": "Developer"
14
- }
15
- ],
16
- "require": {
17
- "php": ">=5.3.0"
18
- },
19
- "require-dev": {
20
- "phpunit/phpunit": "4.*",
21
- "satooshi/php-coveralls": "0.*"
22
- },
23
- "autoload": {
24
- "psr-4": {
25
- "Base32\\": "src/"
26
- }
27
- },
28
- "extra": {
29
- "branch-alias": {
30
- "dev-master": "1.1.x-dev"
31
- }
32
- }
33
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/phpunit.xml.dist DELETED
@@ -1,32 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <phpunit
3
- backupGlobals="false"
4
- backupStaticAttributes="false"
5
- convertErrorsToExceptions="true"
6
- convertNoticesToExceptions="true"
7
- convertWarningsToExceptions="true"
8
- processIsolation="false"
9
- stopOnFailure="false"
10
- syntaxCheck="false"
11
- bootstrap="tests/bootstrap.php"
12
- colors="true">
13
- <testsuites>
14
- <testsuite name="Base32 Test Suite">
15
- <directory suffix="Test.php">tests/</directory>
16
- </testsuite>
17
- </testsuites>
18
-
19
- <filter>
20
- <whitelist>
21
- <directory suffix=".php">src/</directory>
22
- </whitelist>
23
- </filter>
24
-
25
- <logging>
26
- <log type="coverage-html" target="build/coverage" title="Base32"
27
- charset="UTF-8" yui="true" highlight="true"
28
- lowUpperBound="35" highLowerBound="70"/>
29
- <log type="coverage-clover" target="build/logs/clover.xml"/>
30
- <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
31
- </logging>
32
- </phpunit>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/tests/Base32Test.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
-
3
- namespace Base32;
4
-
5
- use Base32\Base32;
6
-
7
- /**
8
- * Base32 test case.
9
- */
10
- class Base32Test extends \PHPUnit_Framework_TestCase
11
- {
12
- /**
13
- * Tests Base32->decode()
14
- *
15
- * Testing test vectors according to RFC 4648
16
- * http://www.ietf.org/rfc/rfc4648.txt
17
- */
18
- public function testDecode()
19
- {
20
- // RFC test vectors say that empty string returns empty string
21
- $this->assertEquals('', Base32::decode(''));
22
-
23
- // these strings are taken from the RFC
24
- $this->assertEquals('f', Base32::decode('MY======'));
25
- $this->assertEquals('fo', Base32::decode('MZXQ===='));
26
- $this->assertEquals('foo', Base32::decode('MZXW6==='));
27
- $this->assertEquals('foob', Base32::decode('MZXW6YQ='));
28
- $this->assertEquals('fooba', Base32::decode('MZXW6YTB'));
29
- $this->assertEquals('foobar', Base32::decode('MZXW6YTBOI======'));
30
-
31
- // Decoding a string made up entirely of invalid characters
32
- $this->assertEquals('', Base32::decode('8908908908908908'));
33
- }
34
-
35
- /**
36
- * Encoder tests, reverse of the decodes
37
- */
38
- public function testEncode()
39
- {
40
- // RFC test vectors say that empty string returns empty string
41
- $this->assertEquals('', Base32::encode(''));
42
-
43
- // these strings are taken from the RFC
44
- $this->assertEquals('MY======', Base32::encode('f'));
45
- $this->assertEquals('MZXQ====', Base32::encode('fo'));
46
- $this->assertEquals('MZXW6===', Base32::encode('foo'));
47
- $this->assertEquals('MZXW6YQ=', Base32::encode('foob'));
48
- $this->assertEquals('MZXW6YTB', Base32::encode('fooba'));
49
- $this->assertEquals('MZXW6YTBOI======', Base32::encode('foobar'));
50
- }
51
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/christian-riesen/base32/tests/bootstrap.php DELETED
@@ -1,5 +0,0 @@
1
- <?php
2
-
3
- $loader = require __DIR__ . '/../vendor/autoload.php';
4
- $loader->add("Base32", __DIR__);
5
- $loader->register();
 
 
 
 
 
vendor/composer/LICENSE DELETED
@@ -1,21 +0,0 @@
1
-
2
- Copyright (c) Nils Adermann, Jordi Boggiano
3
-
4
- Permission is hereby granted, free of charge, to any person obtaining a copy
5
- of this software and associated documentation files (the "Software"), to deal
6
- in the Software without restriction, including without limitation the rights
7
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the Software is furnished
9
- to do so, subject to the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be included in all
12
- copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
- THE SOFTWARE.
21
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/composer/autoload_classmap.php CHANGED
@@ -1073,74 +1073,6 @@ return array(
1073
  'Firebase\\JWT\\ExpiredException' => $vendorDir . '/firebase/php-jwt/src/ExpiredException.php',
1074
  'Firebase\\JWT\\JWT' => $vendorDir . '/firebase/php-jwt/src/JWT.php',
1075
  'Firebase\\JWT\\SignatureInvalidException' => $vendorDir . '/firebase/php-jwt/src/SignatureInvalidException.php',
1076
- 'GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php',
1077
- 'GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php',
1078
- 'GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
1079
- 'GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
1080
- 'GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
1081
- 'GuzzleHttp\\Cookie\\SessionCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
1082
- 'GuzzleHttp\\Cookie\\SetCookie' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
1083
- 'GuzzleHttp\\Exception\\BadResponseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
1084
- 'GuzzleHttp\\Exception\\ClientException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
1085
- 'GuzzleHttp\\Exception\\ConnectException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
1086
- 'GuzzleHttp\\Exception\\GuzzleException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
1087
- 'GuzzleHttp\\Exception\\RequestException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
1088
- 'GuzzleHttp\\Exception\\SeekException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/SeekException.php',
1089
- 'GuzzleHttp\\Exception\\ServerException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
1090
- 'GuzzleHttp\\Exception\\TooManyRedirectsException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
1091
- 'GuzzleHttp\\Exception\\TransferException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
1092
- 'GuzzleHttp\\HandlerStack' => $vendorDir . '/guzzlehttp/guzzle/src/HandlerStack.php',
1093
- 'GuzzleHttp\\Handler\\CurlFactory' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
1094
- 'GuzzleHttp\\Handler\\CurlFactoryInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php',
1095
- 'GuzzleHttp\\Handler\\CurlHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
1096
- 'GuzzleHttp\\Handler\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
1097
- 'GuzzleHttp\\Handler\\EasyHandle' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
1098
- 'GuzzleHttp\\Handler\\MockHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/MockHandler.php',
1099
- 'GuzzleHttp\\Handler\\Proxy' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/Proxy.php',
1100
- 'GuzzleHttp\\Handler\\StreamHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
1101
- 'GuzzleHttp\\MessageFormatter' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatter.php',
1102
- 'GuzzleHttp\\Middleware' => $vendorDir . '/guzzlehttp/guzzle/src/Middleware.php',
1103
- 'GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php',
1104
- 'GuzzleHttp\\PrepareBodyMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
1105
- 'GuzzleHttp\\Promise\\AggregateException' => $vendorDir . '/guzzlehttp/promises/src/AggregateException.php',
1106
- 'GuzzleHttp\\Promise\\CancellationException' => $vendorDir . '/guzzlehttp/promises/src/CancellationException.php',
1107
- 'GuzzleHttp\\Promise\\Coroutine' => $vendorDir . '/guzzlehttp/promises/src/Coroutine.php',
1108
- 'GuzzleHttp\\Promise\\EachPromise' => $vendorDir . '/guzzlehttp/promises/src/EachPromise.php',
1109
- 'GuzzleHttp\\Promise\\FulfilledPromise' => $vendorDir . '/guzzlehttp/promises/src/FulfilledPromise.php',
1110
- 'GuzzleHttp\\Promise\\Promise' => $vendorDir . '/guzzlehttp/promises/src/Promise.php',
1111
- 'GuzzleHttp\\Promise\\PromiseInterface' => $vendorDir . '/guzzlehttp/promises/src/PromiseInterface.php',
1112
- 'GuzzleHttp\\Promise\\PromisorInterface' => $vendorDir . '/guzzlehttp/promises/src/PromisorInterface.php',
1113
- 'GuzzleHttp\\Promise\\RejectedPromise' => $vendorDir . '/guzzlehttp/promises/src/RejectedPromise.php',
1114
- 'GuzzleHttp\\Promise\\RejectionException' => $vendorDir . '/guzzlehttp/promises/src/RejectionException.php',
1115
- 'GuzzleHttp\\Promise\\TaskQueue' => $vendorDir . '/guzzlehttp/promises/src/TaskQueue.php',
1116
- 'GuzzleHttp\\Promise\\TaskQueueInterface' => $vendorDir . '/guzzlehttp/promises/src/TaskQueueInterface.php',
1117
- 'GuzzleHttp\\Psr7\\AppendStream' => $vendorDir . '/guzzlehttp/psr7/src/AppendStream.php',
1118
- 'GuzzleHttp\\Psr7\\BufferStream' => $vendorDir . '/guzzlehttp/psr7/src/BufferStream.php',
1119
- 'GuzzleHttp\\Psr7\\CachingStream' => $vendorDir . '/guzzlehttp/psr7/src/CachingStream.php',
1120
- 'GuzzleHttp\\Psr7\\DroppingStream' => $vendorDir . '/guzzlehttp/psr7/src/DroppingStream.php',
1121
- 'GuzzleHttp\\Psr7\\FnStream' => $vendorDir . '/guzzlehttp/psr7/src/FnStream.php',
1122
- 'GuzzleHttp\\Psr7\\InflateStream' => $vendorDir . '/guzzlehttp/psr7/src/InflateStream.php',
1123
- 'GuzzleHttp\\Psr7\\LazyOpenStream' => $vendorDir . '/guzzlehttp/psr7/src/LazyOpenStream.php',
1124
- 'GuzzleHttp\\Psr7\\LimitStream' => $vendorDir . '/guzzlehttp/psr7/src/LimitStream.php',
1125
- 'GuzzleHttp\\Psr7\\MessageTrait' => $vendorDir . '/guzzlehttp/psr7/src/MessageTrait.php',
1126
- 'GuzzleHttp\\Psr7\\MultipartStream' => $vendorDir . '/guzzlehttp/psr7/src/MultipartStream.php',
1127
- 'GuzzleHttp\\Psr7\\NoSeekStream' => $vendorDir . '/guzzlehttp/psr7/src/NoSeekStream.php',
1128
- 'GuzzleHttp\\Psr7\\PumpStream' => $vendorDir . '/guzzlehttp/psr7/src/PumpStream.php',
1129
- 'GuzzleHttp\\Psr7\\Request' => $vendorDir . '/guzzlehttp/psr7/src/Request.php',
1130
- 'GuzzleHttp\\Psr7\\Response' => $vendorDir . '/guzzlehttp/psr7/src/Response.php',
1131
- 'GuzzleHttp\\Psr7\\ServerRequest' => $vendorDir . '/guzzlehttp/psr7/src/ServerRequest.php',
1132
- 'GuzzleHttp\\Psr7\\Stream' => $vendorDir . '/guzzlehttp/psr7/src/Stream.php',
1133
- 'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => $vendorDir . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
1134
- 'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php',
1135
- 'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php',
1136
- 'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php',
1137
- 'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php',
1138
- 'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php',
1139
- 'GuzzleHttp\\RedirectMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RedirectMiddleware.php',
1140
- 'GuzzleHttp\\RequestOptions' => $vendorDir . '/guzzlehttp/guzzle/src/RequestOptions.php',
1141
- 'GuzzleHttp\\RetryMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
1142
- 'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php',
1143
- 'GuzzleHttp\\UriTemplate' => $vendorDir . '/guzzlehttp/guzzle/src/UriTemplate.php',
1144
  'Guzzle\\Batch\\AbstractBatchDecorator' => $vendorDir . '/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php',
1145
  'Guzzle\\Batch\\Batch' => $vendorDir . '/guzzle/guzzle/src/Guzzle/Batch/Batch.php',
1146
  'Guzzle\\Batch\\BatchBuilder' => $vendorDir . '/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php',
@@ -1547,6 +1479,38 @@ return array(
1547
  'Guzzle\\Tests\\Service\\ServiceBuilderTest' => $vendorDir . '/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php',
1548
  'Guzzle\\Tests\\Stream\\PhpStreamRequestFactoryTest' => $vendorDir . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php',
1549
  'Guzzle\\Tests\\Stream\\StreamTest' => $vendorDir . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1550
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\Downloader' => $baseDir . '/inc/Pro/Restore/LogDownloader/Downloader.php',
1551
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\DownloaderFactory' => $baseDir . '/inc/Pro/Restore/LogDownloader/DownloaderFactory.php',
1552
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\View' => $baseDir . '/inc/Pro/Restore/LogDownloader/View.php',
@@ -1582,201 +1546,9 @@ return array(
1582
  'Inpsyde_PhoneHome_HttpClient' => $vendorDir . '/inpsyde/phone-home-client/src/HttpClient.php',
1583
  'Inpsyde_PhoneHome_Template_Buttons' => $vendorDir . '/inpsyde/phone-home-client/src/Template/Buttons.php',
1584
  'Inpsyde_PhoneHome_Template_Loader' => $vendorDir . '/inpsyde/phone-home-client/src/Template/Loader.php',
1585
- 'Interop\\Container\\ContainerInterface' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
1586
- 'Interop\\Container\\Exception\\ContainerException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
1587
- 'Interop\\Container\\Exception\\NotFoundException' => $vendorDir . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
1588
  'Mail_mime' => $vendorDir . '/pear/mail_mime/Mail/mime.php',
 
1589
  'Mail_mimePart' => $vendorDir . '/pear/mail_mime/Mail/mimePart.php',
1590
- 'MicrosoftAzure\\Storage\\Blob\\BlobRestProxy' => $vendorDir . '/microsoft/azure-storage/src/Blob/BlobRestProxy.php',
1591
- 'MicrosoftAzure\\Storage\\Blob\\Internal\\IBlob' => $vendorDir . '/microsoft/azure-storage/src/Blob/Internal/IBlob.php',
1592
- 'MicrosoftAzure\\Storage\\Blob\\Models\\AccessCondition' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/AccessCondition.php',
1593
- 'MicrosoftAzure\\Storage\\Blob\\Models\\AppendBlockOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/AppendBlockOptions.php',
1594
- 'MicrosoftAzure\\Storage\\Blob\\Models\\AppendBlockResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/AppendBlockResult.php',
1595
- 'MicrosoftAzure\\Storage\\Blob\\Models\\Blob' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/Blob.php',
1596
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobBlockType' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/BlobBlockType.php',
1597
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobPrefix' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/BlobPrefix.php',
1598
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobProperties' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/BlobProperties.php',
1599
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobServiceOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/BlobServiceOptions.php',
1600
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobType' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/BlobType.php',
1601
- 'MicrosoftAzure\\Storage\\Blob\\Models\\Block' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/Block.php',
1602
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlockList' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/BlockList.php',
1603
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BreakLeaseResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/BreakLeaseResult.php',
1604
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CommitBlobBlocksOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CommitBlobBlocksOptions.php',
1605
- 'MicrosoftAzure\\Storage\\Blob\\Models\\Container' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/Container.php',
1606
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ContainerACL' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ContainerACL.php',
1607
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ContainerProperties' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ContainerProperties.php',
1608
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyBlobFromURLOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CopyBlobFromURLOptions.php',
1609
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyBlobOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CopyBlobOptions.php',
1610
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyBlobResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CopyBlobResult.php',
1611
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyState' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CopyState.php',
1612
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobBlockOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CreateBlobBlockOptions.php',
1613
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CreateBlobOptions.php',
1614
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobPagesOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CreateBlobPagesOptions.php',
1615
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobPagesResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CreateBlobPagesResult.php',
1616
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobSnapshotOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CreateBlobSnapshotOptions.php',
1617
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobSnapshotResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CreateBlobSnapshotResult.php',
1618
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateContainerOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/CreateContainerOptions.php',
1619
- 'MicrosoftAzure\\Storage\\Blob\\Models\\DeleteBlobOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/DeleteBlobOptions.php',
1620
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobMetadataOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetBlobMetadataOptions.php',
1621
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobMetadataResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetBlobMetadataResult.php',
1622
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetBlobOptions.php',
1623
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobPropertiesOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetBlobPropertiesOptions.php',
1624
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobPropertiesResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetBlobPropertiesResult.php',
1625
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetBlobResult.php',
1626
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetContainerACLResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetContainerACLResult.php',
1627
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetContainerPropertiesResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/GetContainerPropertiesResult.php',
1628
- 'MicrosoftAzure\\Storage\\Blob\\Models\\LeaseMode' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/LeaseMode.php',
1629
- 'MicrosoftAzure\\Storage\\Blob\\Models\\LeaseResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/LeaseResult.php',
1630
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobBlocksOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListBlobBlocksOptions.php',
1631
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobBlocksResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListBlobBlocksResult.php',
1632
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobsOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListBlobsOptions.php',
1633
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobsResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListBlobsResult.php',
1634
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListContainersOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListContainersOptions.php',
1635
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListContainersResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListContainersResult.php',
1636
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListPageBlobRangesDiffResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListPageBlobRangesDiffResult.php',
1637
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListPageBlobRangesOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListPageBlobRangesOptions.php',
1638
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListPageBlobRangesResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/ListPageBlobRangesResult.php',
1639
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PageWriteOption' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/PageWriteOption.php',
1640
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PublicAccessType' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/PublicAccessType.php',
1641
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PutBlobResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/PutBlobResult.php',
1642
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PutBlockResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/PutBlockResult.php',
1643
- 'MicrosoftAzure\\Storage\\Blob\\Models\\SetBlobMetadataResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/SetBlobMetadataResult.php',
1644
- 'MicrosoftAzure\\Storage\\Blob\\Models\\SetBlobPropertiesOptions' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/SetBlobPropertiesOptions.php',
1645
- 'MicrosoftAzure\\Storage\\Blob\\Models\\SetBlobPropertiesResult' => $vendorDir . '/microsoft/azure-storage/src/Blob/Models/SetBlobPropertiesResult.php',
1646
- 'MicrosoftAzure\\Storage\\Common\\CloudConfigurationManager' => $vendorDir . '/microsoft/azure-storage/src/Common/CloudConfigurationManager.php',
1647
- 'MicrosoftAzure\\Storage\\Common\\Exceptions\\InvalidArgumentTypeException' => $vendorDir . '/microsoft/azure-storage/src/Common/Exceptions/InvalidArgumentTypeException.php',
1648
- 'MicrosoftAzure\\Storage\\Common\\Exceptions\\ServiceException' => $vendorDir . '/microsoft/azure-storage/src/Common/Exceptions/ServiceException.php',
1649
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ACLBase' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/ACLBase.php',
1650
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\IAuthScheme' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Authentication/IAuthScheme.php',
1651
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\SharedAccessSignatureAuthScheme' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Authentication/SharedAccessSignatureAuthScheme.php',
1652
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\SharedKeyAuthScheme' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Authentication/SharedKeyAuthScheme.php',
1653
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\TableSharedKeyLiteAuthScheme' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php',
1654
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ConnectionStringParser' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/ConnectionStringParser.php',
1655
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ConnectionStringSource' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/ConnectionStringSource.php',
1656
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Http\\HttpCallContext' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Http/HttpCallContext.php',
1657
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Http\\HttpFormatter' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Http/HttpFormatter.php',
1658
- 'MicrosoftAzure\\Storage\\Common\\Internal\\MetadataTrait' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/MetadataTrait.php',
1659
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Middlewares\\CommonRequestMiddleware' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Middlewares/CommonRequestMiddleware.php',
1660
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Resources' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Resources.php',
1661
- 'MicrosoftAzure\\Storage\\Common\\Internal\\RestProxy' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/RestProxy.php',
1662
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\ISerializer' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Serialization/ISerializer.php',
1663
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\JsonSerializer' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Serialization/JsonSerializer.php',
1664
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\MessageSerializer' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Serialization/MessageSerializer.php',
1665
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\XmlSerializer' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Serialization/XmlSerializer.php',
1666
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/ServiceRestProxy.php',
1667
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestTrait' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/ServiceRestTrait.php',
1668
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ServiceSettings' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/ServiceSettings.php',
1669
- 'MicrosoftAzure\\Storage\\Common\\Internal\\StorageServiceSettings' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/StorageServiceSettings.php',
1670
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Utilities' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Utilities.php',
1671
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Validate' => $vendorDir . '/microsoft/azure-storage/src/Common/Internal/Validate.php',
1672
- 'MicrosoftAzure\\Storage\\Common\\LocationMode' => $vendorDir . '/microsoft/azure-storage/src/Common/LocationMode.php',
1673
- 'MicrosoftAzure\\Storage\\Common\\Logger' => $vendorDir . '/microsoft/azure-storage/src/Common/Logger.php',
1674
- 'MicrosoftAzure\\Storage\\Common\\MarkerContinuationTokenTrait' => $vendorDir . '/microsoft/azure-storage/src/Common/MarkerContinuationTokenTrait.php',
1675
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\HistoryMiddleware' => $vendorDir . '/microsoft/azure-storage/src/Common/Middlewares/HistoryMiddleware.php',
1676
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\IMiddleware' => $vendorDir . '/microsoft/azure-storage/src/Common/Middlewares/IMiddleware.php',
1677
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\MiddlewareBase' => $vendorDir . '/microsoft/azure-storage/src/Common/Middlewares/MiddlewareBase.php',
1678
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\MiddlewareStack' => $vendorDir . '/microsoft/azure-storage/src/Common/Middlewares/MiddlewareStack.php',
1679
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\RetryMiddleware' => $vendorDir . '/microsoft/azure-storage/src/Common/Middlewares/RetryMiddleware.php',
1680
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\RetryMiddlewareFactory' => $vendorDir . '/microsoft/azure-storage/src/Common/Middlewares/RetryMiddlewareFactory.php',
1681
- 'MicrosoftAzure\\Storage\\Common\\Models\\AccessPolicy' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/AccessPolicy.php',
1682
- 'MicrosoftAzure\\Storage\\Common\\Models\\CORS' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/CORS.php',
1683
- 'MicrosoftAzure\\Storage\\Common\\Models\\ContinuationToken' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/ContinuationToken.php',
1684
- 'MicrosoftAzure\\Storage\\Common\\Models\\GetServicePropertiesResult' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/GetServicePropertiesResult.php',
1685
- 'MicrosoftAzure\\Storage\\Common\\Models\\GetServiceStatsResult' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/GetServiceStatsResult.php',
1686
- 'MicrosoftAzure\\Storage\\Common\\Models\\Logging' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/Logging.php',
1687
- 'MicrosoftAzure\\Storage\\Common\\Models\\MarkerContinuationToken' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/MarkerContinuationToken.php',
1688
- 'MicrosoftAzure\\Storage\\Common\\Models\\Metrics' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/Metrics.php',
1689
- 'MicrosoftAzure\\Storage\\Common\\Models\\Range' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/Range.php',
1690
- 'MicrosoftAzure\\Storage\\Common\\Models\\RangeDiff' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/RangeDiff.php',
1691
- 'MicrosoftAzure\\Storage\\Common\\Models\\RetentionPolicy' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/RetentionPolicy.php',
1692
- 'MicrosoftAzure\\Storage\\Common\\Models\\ServiceOptions' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/ServiceOptions.php',
1693
- 'MicrosoftAzure\\Storage\\Common\\Models\\ServiceProperties' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/ServiceProperties.php',
1694
- 'MicrosoftAzure\\Storage\\Common\\Models\\SignedIdentifier' => $vendorDir . '/microsoft/azure-storage/src/Common/Models/SignedIdentifier.php',
1695
- 'MicrosoftAzure\\Storage\\Common\\ServicesBuilder' => $vendorDir . '/microsoft/azure-storage/src/Common/ServicesBuilder.php',
1696
- 'MicrosoftAzure\\Storage\\Common\\SharedAccessSignatureHelper' => $vendorDir . '/microsoft/azure-storage/src/Common/SharedAccessSignatureHelper.php',
1697
- 'MicrosoftAzure\\Storage\\File\\FileRestProxy' => $vendorDir . '/microsoft/azure-storage/src/File/FileRestProxy.php',
1698
- 'MicrosoftAzure\\Storage\\File\\Internal\\IFile' => $vendorDir . '/microsoft/azure-storage/src/File/Internal/IFile.php',
1699
- 'MicrosoftAzure\\Storage\\File\\Models\\CopyFileResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/CopyFileResult.php',
1700
- 'MicrosoftAzure\\Storage\\File\\Models\\CreateDirectoryOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/CreateDirectoryOptions.php',
1701
- 'MicrosoftAzure\\Storage\\File\\Models\\CreateFileOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/CreateFileOptions.php',
1702
- 'MicrosoftAzure\\Storage\\File\\Models\\CreateShareOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/CreateShareOptions.php',
1703
- 'MicrosoftAzure\\Storage\\File\\Models\\Directory' => $vendorDir . '/microsoft/azure-storage/src/File/Models/Directory.php',
1704
- 'MicrosoftAzure\\Storage\\File\\Models\\File' => $vendorDir . '/microsoft/azure-storage/src/File/Models/File.php',
1705
- 'MicrosoftAzure\\Storage\\File\\Models\\FileProperties' => $vendorDir . '/microsoft/azure-storage/src/File/Models/FileProperties.php',
1706
- 'MicrosoftAzure\\Storage\\File\\Models\\FileServiceOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/FileServiceOptions.php',
1707
- 'MicrosoftAzure\\Storage\\File\\Models\\GetDirectoryMetadataResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetDirectoryMetadataResult.php',
1708
- 'MicrosoftAzure\\Storage\\File\\Models\\GetDirectoryPropertiesResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetDirectoryPropertiesResult.php',
1709
- 'MicrosoftAzure\\Storage\\File\\Models\\GetFileMetadataResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetFileMetadataResult.php',
1710
- 'MicrosoftAzure\\Storage\\File\\Models\\GetFileOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetFileOptions.php',
1711
- 'MicrosoftAzure\\Storage\\File\\Models\\GetFileResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetFileResult.php',
1712
- 'MicrosoftAzure\\Storage\\File\\Models\\GetShareACLResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetShareACLResult.php',
1713
- 'MicrosoftAzure\\Storage\\File\\Models\\GetSharePropertiesResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetSharePropertiesResult.php',
1714
- 'MicrosoftAzure\\Storage\\File\\Models\\GetShareStatsResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/GetShareStatsResult.php',
1715
- 'MicrosoftAzure\\Storage\\File\\Models\\ListDirectoriesAndFilesOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/ListDirectoriesAndFilesOptions.php',
1716
- 'MicrosoftAzure\\Storage\\File\\Models\\ListDirectoriesAndFilesResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/ListDirectoriesAndFilesResult.php',
1717
- 'MicrosoftAzure\\Storage\\File\\Models\\ListFileRangesResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/ListFileRangesResult.php',
1718
- 'MicrosoftAzure\\Storage\\File\\Models\\ListSharesOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/ListSharesOptions.php',
1719
- 'MicrosoftAzure\\Storage\\File\\Models\\ListSharesResult' => $vendorDir . '/microsoft/azure-storage/src/File/Models/ListSharesResult.php',
1720
- 'MicrosoftAzure\\Storage\\File\\Models\\PutFileRangeOptions' => $vendorDir . '/microsoft/azure-storage/src/File/Models/PutFileRangeOptions.php',
1721
- 'MicrosoftAzure\\Storage\\File\\Models\\Share' => $vendorDir . '/microsoft/azure-storage/src/File/Models/Share.php',
1722
- 'MicrosoftAzure\\Storage\\File\\Models\\ShareACL' => $vendorDir . '/microsoft/azure-storage/src/File/Models/ShareACL.php',
1723
- 'MicrosoftAzure\\Storage\\File\\Models\\ShareProperties' => $vendorDir . '/microsoft/azure-storage/src/File/Models/ShareProperties.php',
1724
- 'MicrosoftAzure\\Storage\\Queue\\Internal\\IQueue' => $vendorDir . '/microsoft/azure-storage/src/Queue/Internal/IQueue.php',
1725
- 'MicrosoftAzure\\Storage\\Queue\\Models\\CreateMessageOptions' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/CreateMessageOptions.php',
1726
- 'MicrosoftAzure\\Storage\\Queue\\Models\\CreateMessageResult' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/CreateMessageResult.php',
1727
- 'MicrosoftAzure\\Storage\\Queue\\Models\\CreateQueueOptions' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/CreateQueueOptions.php',
1728
- 'MicrosoftAzure\\Storage\\Queue\\Models\\GetQueueMetadataResult' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/GetQueueMetadataResult.php',
1729
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListMessagesOptions' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/ListMessagesOptions.php',
1730
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListMessagesResult' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/ListMessagesResult.php',
1731
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListQueuesOptions' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/ListQueuesOptions.php',
1732
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListQueuesResult' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/ListQueuesResult.php',
1733
- 'MicrosoftAzure\\Storage\\Queue\\Models\\PeekMessagesOptions' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/PeekMessagesOptions.php',
1734
- 'MicrosoftAzure\\Storage\\Queue\\Models\\PeekMessagesResult' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/PeekMessagesResult.php',
1735
- 'MicrosoftAzure\\Storage\\Queue\\Models\\Queue' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/Queue.php',
1736
- 'MicrosoftAzure\\Storage\\Queue\\Models\\QueueACL' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/QueueACL.php',
1737
- 'MicrosoftAzure\\Storage\\Queue\\Models\\QueueMessage' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/QueueMessage.php',
1738
- 'MicrosoftAzure\\Storage\\Queue\\Models\\QueueServiceOptions' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/QueueServiceOptions.php',
1739
- 'MicrosoftAzure\\Storage\\Queue\\Models\\UpdateMessageResult' => $vendorDir . '/microsoft/azure-storage/src/Queue/Models/UpdateMessageResult.php',
1740
- 'MicrosoftAzure\\Storage\\Queue\\QueueRestProxy' => $vendorDir . '/microsoft/azure-storage/src/Queue/QueueRestProxy.php',
1741
- 'MicrosoftAzure\\Storage\\Table\\Internal\\AcceptOptionTrait' => $vendorDir . '/microsoft/azure-storage/src/Table/Internal/AcceptOptionTrait.php',
1742
- 'MicrosoftAzure\\Storage\\Table\\Internal\\IMimeReaderWriter' => $vendorDir . '/microsoft/azure-storage/src/Table/Internal/IMimeReaderWriter.php',
1743
- 'MicrosoftAzure\\Storage\\Table\\Internal\\IODataReaderWriter' => $vendorDir . '/microsoft/azure-storage/src/Table/Internal/IODataReaderWriter.php',
1744
- 'MicrosoftAzure\\Storage\\Table\\Internal\\ITable' => $vendorDir . '/microsoft/azure-storage/src/Table/Internal/ITable.php',
1745
- 'MicrosoftAzure\\Storage\\Table\\Internal\\JsonODataReaderWriter' => $vendorDir . '/microsoft/azure-storage/src/Table/Internal/JsonODataReaderWriter.php',
1746
- 'MicrosoftAzure\\Storage\\Table\\Internal\\MimeReaderWriter' => $vendorDir . '/microsoft/azure-storage/src/Table/Internal/MimeReaderWriter.php',
1747
- 'MicrosoftAzure\\Storage\\Table\\Models\\AcceptJSONContentType' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/AcceptJSONContentType.php',
1748
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperation' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/BatchOperation.php',
1749
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperationParameterName' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/BatchOperationParameterName.php',
1750
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperationType' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/BatchOperationType.php',
1751
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperations' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/BatchOperations.php',
1752
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchResult' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/BatchResult.php',
1753
- 'MicrosoftAzure\\Storage\\Table\\Models\\DeleteEntityOptions' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/DeleteEntityOptions.php',
1754
- 'MicrosoftAzure\\Storage\\Table\\Models\\EdmType' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/EdmType.php',
1755
- 'MicrosoftAzure\\Storage\\Table\\Models\\Entity' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Entity.php',
1756
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\BinaryFilter' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Filters/BinaryFilter.php',
1757
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\ConstantFilter' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Filters/ConstantFilter.php',
1758
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\Filter' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Filters/Filter.php',
1759
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\PropertyNameFilter' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Filters/PropertyNameFilter.php',
1760
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\QueryStringFilter' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Filters/QueryStringFilter.php',
1761
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\UnaryFilter' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Filters/UnaryFilter.php',
1762
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetEntityOptions' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/GetEntityOptions.php',
1763
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetEntityResult' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/GetEntityResult.php',
1764
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetTableOptions' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/GetTableOptions.php',
1765
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetTableResult' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/GetTableResult.php',
1766
- 'MicrosoftAzure\\Storage\\Table\\Models\\InsertEntityResult' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/InsertEntityResult.php',
1767
- 'MicrosoftAzure\\Storage\\Table\\Models\\Property' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Property.php',
1768
- 'MicrosoftAzure\\Storage\\Table\\Models\\Query' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/Query.php',
1769
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryEntitiesOptions' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/QueryEntitiesOptions.php',
1770
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryEntitiesResult' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/QueryEntitiesResult.php',
1771
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryTablesOptions' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/QueryTablesOptions.php',
1772
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryTablesResult' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/QueryTablesResult.php',
1773
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableACL' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/TableACL.php',
1774
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableContinuationToken' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/TableContinuationToken.php',
1775
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableContinuationTokenTrait' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/TableContinuationTokenTrait.php',
1776
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableServiceCreateOptions' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/TableServiceCreateOptions.php',
1777
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableServiceOptions' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/TableServiceOptions.php',
1778
- 'MicrosoftAzure\\Storage\\Table\\Models\\UpdateEntityResult' => $vendorDir . '/microsoft/azure-storage/src/Table/Models/UpdateEntityResult.php',
1779
- 'MicrosoftAzure\\Storage\\Table\\TableRestProxy' => $vendorDir . '/microsoft/azure-storage/src/Table/TableRestProxy.php',
1780
  'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php',
1781
  'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
1782
  'Monolog\\Formatter\\ElasticaFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php',
@@ -2212,13 +1984,6 @@ return array(
2212
  'Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php',
2213
  'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php',
2214
  'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php',
2215
- 'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php',
2216
- 'Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php',
2217
- 'Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php',
2218
- 'Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php',
2219
- 'Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php',
2220
- 'Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php',
2221
- 'Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php',
2222
  'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
2223
  'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
2224
  'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
@@ -2294,547 +2059,343 @@ return array(
2294
  'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => $vendorDir . '/symfony/translation/Writer/TranslationWriter.php',
2295
  'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php',
2296
  'System' => $vendorDir . '/pear/pear-core-minimal/src/System.php',
2297
- 'WindowsAzure\\Common\\CloudConfigurationManager' => $vendorDir . '/microsoft/windowsazure/src/Common/CloudConfigurationManager.php',
2298
- 'WindowsAzure\\Common\\Internal\\Atom\\AtomBase' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/AtomBase.php',
2299
- 'WindowsAzure\\Common\\Internal\\Atom\\AtomLink' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/AtomLink.php',
2300
- 'WindowsAzure\\Common\\Internal\\Atom\\Category' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/Category.php',
2301
- 'WindowsAzure\\Common\\Internal\\Atom\\Content' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/Content.php',
2302
- 'WindowsAzure\\Common\\Internal\\Atom\\Entry' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/Entry.php',
2303
- 'WindowsAzure\\Common\\Internal\\Atom\\Feed' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/Feed.php',
2304
- 'WindowsAzure\\Common\\Internal\\Atom\\Generator' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/Generator.php',
2305
- 'WindowsAzure\\Common\\Internal\\Atom\\Person' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/Person.php',
2306
- 'WindowsAzure\\Common\\Internal\\Atom\\Source' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Atom/Source.php',
2307
- 'WindowsAzure\\Common\\Internal\\Authentication\\IAuthScheme' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Authentication/IAuthScheme.php',
2308
- 'WindowsAzure\\Common\\Internal\\Authentication\\OAuthScheme' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Authentication/OAuthScheme.php',
2309
- 'WindowsAzure\\Common\\Internal\\Authentication\\SharedKeyAuthScheme' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Authentication/SharedKeyAuthScheme.php',
2310
- 'WindowsAzure\\Common\\Internal\\Authentication\\StorageAuthScheme' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Authentication/StorageAuthScheme.php',
2311
- 'WindowsAzure\\Common\\Internal\\Authentication\\TableSharedKeyLiteAuthScheme' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php',
2312
- 'WindowsAzure\\Common\\Internal\\ConnectionStringParser' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/ConnectionStringParser.php',
2313
- 'WindowsAzure\\Common\\Internal\\ConnectionStringSource' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/ConnectionStringSource.php',
2314
- 'WindowsAzure\\Common\\Internal\\FilterableService' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/FilterableService.php',
2315
- 'WindowsAzure\\Common\\Internal\\Filters\\AuthenticationFilter' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Filters/AuthenticationFilter.php',
2316
- 'WindowsAzure\\Common\\Internal\\Filters\\DateFilter' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Filters/DateFilter.php',
2317
- 'WindowsAzure\\Common\\Internal\\Filters\\HeadersFilter' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Filters/HeadersFilter.php',
2318
- 'WindowsAzure\\Common\\Internal\\Filters\\SASFilter' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Filters/SASFilter.php',
2319
- 'WindowsAzure\\Common\\Internal\\Filters\\WrapFilter' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Filters/WrapFilter.php',
2320
- 'WindowsAzure\\Common\\Internal\\Http\\BatchRequest' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Http/BatchRequest.php',
2321
- 'WindowsAzure\\Common\\Internal\\Http\\BatchResponse' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Http/BatchResponse.php',
2322
- 'WindowsAzure\\Common\\Internal\\Http\\HttpCallContext' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Http/HttpCallContext.php',
2323
- 'WindowsAzure\\Common\\Internal\\Http\\HttpClient' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Http/HttpClient.php',
2324
- 'WindowsAzure\\Common\\Internal\\Http\\IHttpClient' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Http/IHttpClient.php',
2325
- 'WindowsAzure\\Common\\Internal\\Http\\IUrl' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Http/IUrl.php',
2326
- 'WindowsAzure\\Common\\Internal\\Http\\Url' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Http/Url.php',
2327
- 'WindowsAzure\\Common\\Internal\\IServiceFilter' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/IServiceFilter.php',
2328
- 'WindowsAzure\\Common\\Internal\\InvalidArgumentTypeException' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/InvalidArgumentTypeException.php',
2329
- 'WindowsAzure\\Common\\Internal\\Logger' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Logger.php',
2330
- 'WindowsAzure\\Common\\Internal\\MediaServicesSettings' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/MediaServicesSettings.php',
2331
- 'WindowsAzure\\Common\\Internal\\OAuthRestProxy' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/OAuthRestProxy.php',
2332
- 'WindowsAzure\\Common\\Internal\\ParserState' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/ParserState.php',
2333
- 'WindowsAzure\\Common\\Internal\\Resources' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Resources.php',
2334
- 'WindowsAzure\\Common\\Internal\\RestProxy' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/RestProxy.php',
2335
- 'WindowsAzure\\Common\\Internal\\Serialization\\ISerializer' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Serialization/ISerializer.php',
2336
- 'WindowsAzure\\Common\\Internal\\Serialization\\JsonSerializer' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Serialization/JsonSerializer.php',
2337
- 'WindowsAzure\\Common\\Internal\\Serialization\\XmlSerializer' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Serialization/XmlSerializer.php',
2338
- 'WindowsAzure\\Common\\Internal\\ServiceBusSettings' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/ServiceBusSettings.php',
2339
- 'WindowsAzure\\Common\\Internal\\ServiceManagementSettings' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/ServiceManagementSettings.php',
2340
- 'WindowsAzure\\Common\\Internal\\ServiceRestProxy' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/ServiceRestProxy.php',
2341
- 'WindowsAzure\\Common\\Internal\\ServiceSettings' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/ServiceSettings.php',
2342
- 'WindowsAzure\\Common\\Internal\\StorageServiceSettings' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/StorageServiceSettings.php',
2343
- 'WindowsAzure\\Common\\Internal\\Utilities' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Utilities.php',
2344
- 'WindowsAzure\\Common\\Internal\\Validate' => $vendorDir . '/microsoft/windowsazure/src/Common/Internal/Validate.php',
2345
- 'WindowsAzure\\Common\\Models\\GetServicePropertiesResult' => $vendorDir . '/microsoft/windowsazure/src/Common/Models/GetServicePropertiesResult.php',
2346
- 'WindowsAzure\\Common\\Models\\Logging' => $vendorDir . '/microsoft/windowsazure/src/Common/Models/Logging.php',
2347
- 'WindowsAzure\\Common\\Models\\Metrics' => $vendorDir . '/microsoft/windowsazure/src/Common/Models/Metrics.php',
2348
- 'WindowsAzure\\Common\\Models\\OAuthAccessToken' => $vendorDir . '/microsoft/windowsazure/src/Common/Models/OAuthAccessToken.php',
2349
- 'WindowsAzure\\Common\\Models\\RetentionPolicy' => $vendorDir . '/microsoft/windowsazure/src/Common/Models/RetentionPolicy.php',
2350
- 'WindowsAzure\\Common\\Models\\ServiceProperties' => $vendorDir . '/microsoft/windowsazure/src/Common/Models/ServiceProperties.php',
2351
- 'WindowsAzure\\Common\\ServiceException' => $vendorDir . '/microsoft/windowsazure/src/Common/ServiceException.php',
2352
- 'WindowsAzure\\Common\\ServicesBuilder' => $vendorDir . '/microsoft/windowsazure/src/Common/ServicesBuilder.php',
2353
- 'WindowsAzure\\MediaServices\\Authentication\\AccessToken' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AccessToken.php',
2354
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClient' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClient.php',
2355
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClientAsymmetricKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClientAsymmetricKey.php',
2356
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClientSymmetricKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClientSymmetricKey.php',
2357
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClientUserCredentials' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClientUserCredentials.php',
2358
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdTokenCredentialType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdTokenCredentialType.php',
2359
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdTokenCredentials' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdTokenCredentials.php',
2360
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdTokenProvider' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdTokenProvider.php',
2361
- 'WindowsAzure\\MediaServices\\Authentication\\AzureEnvironment' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureEnvironment.php',
2362
- 'WindowsAzure\\MediaServices\\Authentication\\AzureEnvironmentConstants' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureEnvironmentConstants.php',
2363
- 'WindowsAzure\\MediaServices\\Authentication\\AzureEnvironments' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureEnvironments.php',
2364
- 'WindowsAzure\\MediaServices\\Authentication\\ITokenProvider' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Authentication/ITokenProvider.php',
2365
- 'WindowsAzure\\MediaServices\\Internal\\ContentPropertiesSerializer' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Internal/ContentPropertiesSerializer.php',
2366
- 'WindowsAzure\\MediaServices\\Internal\\IMediaServices' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Internal/IMediaServices.php',
2367
- 'WindowsAzure\\MediaServices\\MediaServicesRestProxy' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/MediaServicesRestProxy.php',
2368
- 'WindowsAzure\\MediaServices\\Models\\AccessPolicy' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AccessPolicy.php',
2369
- 'WindowsAzure\\MediaServices\\Models\\AdMarkerSources' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AdMarkerSources.php',
2370
- 'WindowsAzure\\MediaServices\\Models\\Asset' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/Asset.php',
2371
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicy' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryPolicy.php',
2372
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyConfigurationKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryPolicyConfigurationKey.php',
2373
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryPolicyType.php',
2374
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryProtocol' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryProtocol.php',
2375
- 'WindowsAzure\\MediaServices\\Models\\AssetFile' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AssetFile.php',
2376
- 'WindowsAzure\\MediaServices\\Models\\AudioStream' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/AudioStream.php',
2377
- 'WindowsAzure\\MediaServices\\Models\\Channel' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/Channel.php',
2378
- 'WindowsAzure\\MediaServices\\Models\\ChannelEncoding' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelEncoding.php',
2379
- 'WindowsAzure\\MediaServices\\Models\\ChannelEncodingPresets' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelEncodingPresets.php',
2380
- 'WindowsAzure\\MediaServices\\Models\\ChannelEndpoint' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelEndpoint.php',
2381
- 'WindowsAzure\\MediaServices\\Models\\ChannelInput' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelInput.php',
2382
- 'WindowsAzure\\MediaServices\\Models\\ChannelInputAccessControl' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelInputAccessControl.php',
2383
- 'WindowsAzure\\MediaServices\\Models\\ChannelOutput' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelOutput.php',
2384
- 'WindowsAzure\\MediaServices\\Models\\ChannelOutputHls' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelOutputHls.php',
2385
- 'WindowsAzure\\MediaServices\\Models\\ChannelPreview' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelPreview.php',
2386
- 'WindowsAzure\\MediaServices\\Models\\ChannelPreviewAccessControl' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelPreviewAccessControl.php',
2387
- 'WindowsAzure\\MediaServices\\Models\\ChannelSlate' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelSlate.php',
2388
- 'WindowsAzure\\MediaServices\\Models\\ChannelState' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ChannelState.php',
2389
- 'WindowsAzure\\MediaServices\\Models\\ContentKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ContentKey.php',
2390
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicy' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyAuthorizationPolicy.php',
2391
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyOption' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyAuthorizationPolicyOption.php',
2392
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyRestriction' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyAuthorizationPolicyRestriction.php',
2393
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyDeliveryType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyDeliveryType.php',
2394
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyRestrictionType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyRestrictionType.php',
2395
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyTypes' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyTypes.php',
2396
- 'WindowsAzure\\MediaServices\\Models\\CrossSiteAccessPolicies' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/CrossSiteAccessPolicies.php',
2397
- 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnit' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/EncodingReservedUnit.php',
2398
- 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnitType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/EncodingReservedUnitType.php',
2399
- 'WindowsAzure\\MediaServices\\Models\\EncodingType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/EncodingType.php',
2400
- 'WindowsAzure\\MediaServices\\Models\\EncryptionSchemes' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/EncryptionSchemes.php',
2401
- 'WindowsAzure\\MediaServices\\Models\\ErrorDetail' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ErrorDetail.php',
2402
- 'WindowsAzure\\MediaServices\\Models\\IPAccessControl' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/IPAccessControl.php',
2403
- 'WindowsAzure\\MediaServices\\Models\\IPRange' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/IPRange.php',
2404
- 'WindowsAzure\\MediaServices\\Models\\IngestManifest' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifest.php',
2405
- 'WindowsAzure\\MediaServices\\Models\\IngestManifestAsset' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifestAsset.php',
2406
- 'WindowsAzure\\MediaServices\\Models\\IngestManifestFile' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifestFile.php',
2407
- 'WindowsAzure\\MediaServices\\Models\\IngestManifestStatistics' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifestStatistics.php',
2408
- 'WindowsAzure\\MediaServices\\Models\\Job' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/Job.php',
2409
- 'WindowsAzure\\MediaServices\\Models\\JobTemplate' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/JobTemplate.php',
2410
- 'WindowsAzure\\MediaServices\\Models\\Locator' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/Locator.php',
2411
- 'WindowsAzure\\MediaServices\\Models\\MediaProcessor' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/MediaProcessor.php',
2412
- 'WindowsAzure\\MediaServices\\Models\\Operation' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/Operation.php',
2413
- 'WindowsAzure\\MediaServices\\Models\\OperationState' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/OperationState.php',
2414
- 'WindowsAzure\\MediaServices\\Models\\Program' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/Program.php',
2415
- 'WindowsAzure\\MediaServices\\Models\\ProgramState' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ProgramState.php',
2416
- 'WindowsAzure\\MediaServices\\Models\\ProtectionKeyTypes' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/ProtectionKeyTypes.php',
2417
- 'WindowsAzure\\MediaServices\\Models\\StorageAccount' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/StorageAccount.php',
2418
- 'WindowsAzure\\MediaServices\\Models\\StreamingProtocol' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/StreamingProtocol.php',
2419
- 'WindowsAzure\\MediaServices\\Models\\Task' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/Task.php',
2420
- 'WindowsAzure\\MediaServices\\Models\\TaskHistoricalEvent' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/TaskHistoricalEvent.php',
2421
- 'WindowsAzure\\MediaServices\\Models\\TaskOptions' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/TaskOptions.php',
2422
- 'WindowsAzure\\MediaServices\\Models\\TaskTemplate' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/TaskTemplate.php',
2423
- 'WindowsAzure\\MediaServices\\Models\\VideoStream' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Models/VideoStream.php',
2424
- 'WindowsAzure\\MediaServices\\Templates\\AgcAndColorStripeRestriction' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/AgcAndColorStripeRestriction.php',
2425
- 'WindowsAzure\\MediaServices\\Templates\\AllowedTrackTypes' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/AllowedTrackTypes.php',
2426
- 'WindowsAzure\\MediaServices\\Templates\\AsymmetricTokenVerificationKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/AsymmetricTokenVerificationKey.php',
2427
- 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromHeader' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/ContentEncryptionKeyFromHeader.php',
2428
- 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromKeyIdentifier' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/ContentEncryptionKeyFromKeyIdentifier.php',
2429
- 'WindowsAzure\\MediaServices\\Templates\\ContentKeySpecs' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/ContentKeySpecs.php',
2430
- 'WindowsAzure\\MediaServices\\Templates\\ErrorMessages' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/ErrorMessages.php',
2431
- 'WindowsAzure\\MediaServices\\Templates\\ExplicitAnalogTelevisionRestriction' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/ExplicitAnalogTelevisionRestriction.php',
2432
- 'WindowsAzure\\MediaServices\\Templates\\FairPlayConfiguration' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/FairPlayConfiguration.php',
2433
- 'WindowsAzure\\MediaServices\\Templates\\Hdcp' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/Hdcp.php',
2434
- 'WindowsAzure\\MediaServices\\Templates\\MediaServicesLicenseTemplateSerializer' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/MediaServicesLicenseTemplateSerializer.php',
2435
- 'WindowsAzure\\MediaServices\\Templates\\OpenIdConnectDiscoveryDocument' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/OpenIdConnectDiscoveryDocument.php',
2436
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyContentKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyContentKey.php',
2437
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseResponseTemplate' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyLicenseResponseTemplate.php',
2438
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseTemplate' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyLicenseTemplate.php',
2439
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyLicenseType.php',
2440
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyPlayRight' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyPlayRight.php',
2441
- 'WindowsAzure\\MediaServices\\Templates\\RequiredOutputProtection' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/RequiredOutputProtection.php',
2442
- 'WindowsAzure\\MediaServices\\Templates\\ScmsRestriction' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/ScmsRestriction.php',
2443
- 'WindowsAzure\\MediaServices\\Templates\\SymmetricVerificationKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/SymmetricVerificationKey.php',
2444
- 'WindowsAzure\\MediaServices\\Templates\\TokenClaim' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/TokenClaim.php',
2445
- 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplate' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/TokenRestrictionTemplate.php',
2446
- 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplateSerializer' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/TokenRestrictionTemplateSerializer.php',
2447
- 'WindowsAzure\\MediaServices\\Templates\\TokenType' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/TokenType.php',
2448
- 'WindowsAzure\\MediaServices\\Templates\\TokenVerificationKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/TokenVerificationKey.php',
2449
- 'WindowsAzure\\MediaServices\\Templates\\UnknownOutputPassingOption' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/UnknownOutputPassingOption.php',
2450
- 'WindowsAzure\\MediaServices\\Templates\\WidevineMessage' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/WidevineMessage.php',
2451
- 'WindowsAzure\\MediaServices\\Templates\\WidevineMessageSerializer' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/WidevineMessageSerializer.php',
2452
- 'WindowsAzure\\MediaServices\\Templates\\X509CertTokenVerificationKey' => $vendorDir . '/microsoft/windowsazure/src/MediaServices/Templates/X509CertTokenVerificationKey.php',
2453
- 'WindowsAzure\\ServiceBus\\Internal\\Action' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/Action.php',
2454
- 'WindowsAzure\\ServiceBus\\Internal\\ActiveToken' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/ActiveToken.php',
2455
- 'WindowsAzure\\ServiceBus\\Internal\\Filter' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/Filter.php',
2456
- 'WindowsAzure\\ServiceBus\\Internal\\IServiceBus' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/IServiceBus.php',
2457
- 'WindowsAzure\\ServiceBus\\Internal\\IWrap' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/IWrap.php',
2458
- 'WindowsAzure\\ServiceBus\\Internal\\WrapAccessTokenResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/WrapAccessTokenResult.php',
2459
- 'WindowsAzure\\ServiceBus\\Internal\\WrapRestProxy' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/WrapRestProxy.php',
2460
- 'WindowsAzure\\ServiceBus\\Internal\\WrapTokenManager' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Internal/WrapTokenManager.php',
2461
- 'WindowsAzure\\ServiceBus\\Models\\BrokerProperties' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/BrokerProperties.php',
2462
- 'WindowsAzure\\ServiceBus\\Models\\BrokeredMessage' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/BrokeredMessage.php',
2463
- 'WindowsAzure\\ServiceBus\\Models\\CorrelationFilter' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/CorrelationFilter.php',
2464
- 'WindowsAzure\\ServiceBus\\Models\\EmptyRuleAction' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/EmptyRuleAction.php',
2465
- 'WindowsAzure\\ServiceBus\\Models\\FalseFilter' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/FalseFilter.php',
2466
- 'WindowsAzure\\ServiceBus\\Models\\ListOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListOptions.php',
2467
- 'WindowsAzure\\ServiceBus\\Models\\ListQueuesOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListQueuesOptions.php',
2468
- 'WindowsAzure\\ServiceBus\\Models\\ListQueuesResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListQueuesResult.php',
2469
- 'WindowsAzure\\ServiceBus\\Models\\ListRulesOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListRulesOptions.php',
2470
- 'WindowsAzure\\ServiceBus\\Models\\ListRulesResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListRulesResult.php',
2471
- 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListSubscriptionsOptions.php',
2472
- 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListSubscriptionsResult.php',
2473
- 'WindowsAzure\\ServiceBus\\Models\\ListTopicsOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListTopicsOptions.php',
2474
- 'WindowsAzure\\ServiceBus\\Models\\ListTopicsResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ListTopicsResult.php',
2475
- 'WindowsAzure\\ServiceBus\\Models\\QueueDescription' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/QueueDescription.php',
2476
- 'WindowsAzure\\ServiceBus\\Models\\QueueInfo' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/QueueInfo.php',
2477
- 'WindowsAzure\\ServiceBus\\Models\\ReceiveMessageOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ReceiveMessageOptions.php',
2478
- 'WindowsAzure\\ServiceBus\\Models\\ReceiveMode' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/ReceiveMode.php',
2479
- 'WindowsAzure\\ServiceBus\\Models\\RuleDescription' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/RuleDescription.php',
2480
- 'WindowsAzure\\ServiceBus\\Models\\RuleInfo' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/RuleInfo.php',
2481
- 'WindowsAzure\\ServiceBus\\Models\\SqlFilter' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/SqlFilter.php',
2482
- 'WindowsAzure\\ServiceBus\\Models\\SqlRuleAction' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/SqlRuleAction.php',
2483
- 'WindowsAzure\\ServiceBus\\Models\\SubscriptionDescription' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/SubscriptionDescription.php',
2484
- 'WindowsAzure\\ServiceBus\\Models\\SubscriptionInfo' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/SubscriptionInfo.php',
2485
- 'WindowsAzure\\ServiceBus\\Models\\TopicDescription' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/TopicDescription.php',
2486
- 'WindowsAzure\\ServiceBus\\Models\\TopicInfo' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/TopicInfo.php',
2487
- 'WindowsAzure\\ServiceBus\\Models\\TrueFilter' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/Models/TrueFilter.php',
2488
- 'WindowsAzure\\ServiceBus\\ServiceBusRestProxy' => $vendorDir . '/microsoft/windowsazure/src/ServiceBus/ServiceBusRestProxy.php',
2489
- 'WindowsAzure\\ServiceManagement\\Internal\\IServiceManagement' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Internal/IServiceManagement.php',
2490
- 'WindowsAzure\\ServiceManagement\\Internal\\Service' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Internal/Service.php',
2491
- 'WindowsAzure\\ServiceManagement\\Internal\\WindowsAzureService' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Internal/WindowsAzureService.php',
2492
- 'WindowsAzure\\ServiceManagement\\Models\\AffinityGroup' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/AffinityGroup.php',
2493
- 'WindowsAzure\\ServiceManagement\\Models\\AsynchronousOperationResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/AsynchronousOperationResult.php',
2494
- 'WindowsAzure\\ServiceManagement\\Models\\ChangeDeploymentConfigurationOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/ChangeDeploymentConfigurationOptions.php',
2495
- 'WindowsAzure\\ServiceManagement\\Models\\CreateAffinityGroupOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/CreateAffinityGroupOptions.php',
2496
- 'WindowsAzure\\ServiceManagement\\Models\\CreateDeploymentOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/CreateDeploymentOptions.php',
2497
- 'WindowsAzure\\ServiceManagement\\Models\\CreateServiceOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/CreateServiceOptions.php',
2498
- 'WindowsAzure\\ServiceManagement\\Models\\Deployment' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/Deployment.php',
2499
- 'WindowsAzure\\ServiceManagement\\Models\\DeploymentSlot' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/DeploymentSlot.php',
2500
- 'WindowsAzure\\ServiceManagement\\Models\\DeploymentStatus' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/DeploymentStatus.php',
2501
- 'WindowsAzure\\ServiceManagement\\Models\\GetAffinityGroupPropertiesResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetAffinityGroupPropertiesResult.php',
2502
- 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetDeploymentOptions.php',
2503
- 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetDeploymentResult.php',
2504
- 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetHostedServicePropertiesOptions.php',
2505
- 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetHostedServicePropertiesResult.php',
2506
- 'WindowsAzure\\ServiceManagement\\Models\\GetOperationStatusResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetOperationStatusResult.php',
2507
- 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServiceKeysResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetStorageServiceKeysResult.php',
2508
- 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServicePropertiesResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/GetStorageServicePropertiesResult.php',
2509
- 'WindowsAzure\\ServiceManagement\\Models\\HostedService' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/HostedService.php',
2510
- 'WindowsAzure\\ServiceManagement\\Models\\InputEndpoint' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/InputEndpoint.php',
2511
- 'WindowsAzure\\ServiceManagement\\Models\\KeyType' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/KeyType.php',
2512
- 'WindowsAzure\\ServiceManagement\\Models\\ListAffinityGroupsResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/ListAffinityGroupsResult.php',
2513
- 'WindowsAzure\\ServiceManagement\\Models\\ListHostedServicesResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/ListHostedServicesResult.php',
2514
- 'WindowsAzure\\ServiceManagement\\Models\\ListLocationsResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/ListLocationsResult.php',
2515
- 'WindowsAzure\\ServiceManagement\\Models\\ListStorageServicesResult' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/ListStorageServicesResult.php',
2516
- 'WindowsAzure\\ServiceManagement\\Models\\Location' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/Location.php',
2517
- 'WindowsAzure\\ServiceManagement\\Models\\Mode' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/Mode.php',
2518
- 'WindowsAzure\\ServiceManagement\\Models\\OperationStatus' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/OperationStatus.php',
2519
- 'WindowsAzure\\ServiceManagement\\Models\\Role' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/Role.php',
2520
- 'WindowsAzure\\ServiceManagement\\Models\\RoleInstance' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/RoleInstance.php',
2521
- 'WindowsAzure\\ServiceManagement\\Models\\StorageService' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/StorageService.php',
2522
- 'WindowsAzure\\ServiceManagement\\Models\\UpdateServiceOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/UpdateServiceOptions.php',
2523
- 'WindowsAzure\\ServiceManagement\\Models\\UpgradeDeploymentOptions' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/UpgradeDeploymentOptions.php',
2524
- 'WindowsAzure\\ServiceManagement\\Models\\UpgradeStatus' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/Models/UpgradeStatus.php',
2525
- 'WindowsAzure\\ServiceManagement\\ServiceManagementRestProxy' => $vendorDir . '/microsoft/windowsazure/src/ServiceManagement/ServiceManagementRestProxy.php',
2526
- 'WindowsAzure\\ServiceRuntime\\Internal\\AcquireCurrentState' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/AcquireCurrentState.php',
2527
- 'WindowsAzure\\ServiceRuntime\\Internal\\ChannelNotAvailableException' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ChannelNotAvailableException.php',
2528
- 'WindowsAzure\\ServiceRuntime\\Internal\\ChunkedGoalStateDeserializer' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ChunkedGoalStateDeserializer.php',
2529
- 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentState' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/CurrentState.php',
2530
- 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentStatus' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/CurrentStatus.php',
2531
- 'WindowsAzure\\ServiceRuntime\\Internal\\FileInputChannel' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/FileInputChannel.php',
2532
- 'WindowsAzure\\ServiceRuntime\\Internal\\FileOutputChannel' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/FileOutputChannel.php',
2533
- 'WindowsAzure\\ServiceRuntime\\Internal\\GoalState' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/GoalState.php',
2534
- 'WindowsAzure\\ServiceRuntime\\Internal\\ICurrentStateSerializer' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ICurrentStateSerializer.php',
2535
- 'WindowsAzure\\ServiceRuntime\\Internal\\IGoalStateDeserializer' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IGoalStateDeserializer.php',
2536
- 'WindowsAzure\\ServiceRuntime\\Internal\\IInputChannel' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IInputChannel.php',
2537
- 'WindowsAzure\\ServiceRuntime\\Internal\\IOutputChannel' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IOutputChannel.php',
2538
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentChange' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRoleEnvironmentChange.php',
2539
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentDataDeserializer' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRoleEnvironmentDataDeserializer.php',
2540
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClient' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeClient.php',
2541
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClientFactory' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeClientFactory.php',
2542
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeCurrentStateClient' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeCurrentStateClient.php',
2543
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeGoalStateClient' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeGoalStateClient.php',
2544
- 'WindowsAzure\\ServiceRuntime\\Internal\\LocalResource' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/LocalResource.php',
2545
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClient' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeClient.php',
2546
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClientFactory' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeClientFactory.php',
2547
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeCurrentStateClient' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeCurrentStateClient.php',
2548
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeGoalStateClient' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeGoalStateClient.php',
2549
- 'WindowsAzure\\ServiceRuntime\\Internal\\ReleaseCurrentState' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ReleaseCurrentState.php',
2550
- 'WindowsAzure\\ServiceRuntime\\Internal\\Role' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Role.php',
2551
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentConfigurationSettingChange' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentConfigurationSettingChange.php',
2552
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentData' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentData.php',
2553
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentNotAvailableException' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentNotAvailableException.php',
2554
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentTopologyChange' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentTopologyChange.php',
2555
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstance' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleInstance.php',
2556
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceEndpoint' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleInstanceEndpoint.php',
2557
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceStatus' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleInstanceStatus.php',
2558
- 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeKernel' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RuntimeKernel.php',
2559
- 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionManager' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RuntimeVersionManager.php',
2560
- 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionProtocolClient' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RuntimeVersionProtocolClient.php',
2561
- 'WindowsAzure\\ServiceRuntime\\Internal\\XmlCurrentStateSerializer' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/XmlCurrentStateSerializer.php',
2562
- 'WindowsAzure\\ServiceRuntime\\Internal\\XmlGoalStateDeserializer' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/XmlGoalStateDeserializer.php',
2563
- 'WindowsAzure\\ServiceRuntime\\Internal\\XmlRoleEnvironmentDataDeserializer' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/Internal/XmlRoleEnvironmentDataDeserializer.php',
2564
- 'WindowsAzure\\ServiceRuntime\\RoleEnvironment' => $vendorDir . '/microsoft/windowsazure/src/ServiceRuntime/RoleEnvironment.php',
2565
- 'Zend\\Loader\\AutoloaderFactory' => $vendorDir . '/zendframework/zend-loader/src/AutoloaderFactory.php',
2566
- 'Zend\\Loader\\ClassMapAutoloader' => $vendorDir . '/zendframework/zend-loader/src/ClassMapAutoloader.php',
2567
- 'Zend\\Loader\\Exception\\BadMethodCallException' => $vendorDir . '/zendframework/zend-loader/src/Exception/BadMethodCallException.php',
2568
- 'Zend\\Loader\\Exception\\DomainException' => $vendorDir . '/zendframework/zend-loader/src/Exception/DomainException.php',
2569
- 'Zend\\Loader\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-loader/src/Exception/ExceptionInterface.php',
2570
- 'Zend\\Loader\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-loader/src/Exception/InvalidArgumentException.php',
2571
- 'Zend\\Loader\\Exception\\InvalidPathException' => $vendorDir . '/zendframework/zend-loader/src/Exception/InvalidPathException.php',
2572
- 'Zend\\Loader\\Exception\\MissingResourceNamespaceException' => $vendorDir . '/zendframework/zend-loader/src/Exception/MissingResourceNamespaceException.php',
2573
- 'Zend\\Loader\\Exception\\PluginLoaderException' => $vendorDir . '/zendframework/zend-loader/src/Exception/PluginLoaderException.php',
2574
- 'Zend\\Loader\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-loader/src/Exception/RuntimeException.php',
2575
- 'Zend\\Loader\\Exception\\SecurityException' => $vendorDir . '/zendframework/zend-loader/src/Exception/SecurityException.php',
2576
- 'Zend\\Loader\\ModuleAutoloader' => $vendorDir . '/zendframework/zend-loader/src/ModuleAutoloader.php',
2577
- 'Zend\\Loader\\PluginClassLoader' => $vendorDir . '/zendframework/zend-loader/src/PluginClassLoader.php',
2578
- 'Zend\\Loader\\PluginClassLocator' => $vendorDir . '/zendframework/zend-loader/src/PluginClassLocator.php',
2579
- 'Zend\\Loader\\ShortNameLocator' => $vendorDir . '/zendframework/zend-loader/src/ShortNameLocator.php',
2580
- 'Zend\\Loader\\SplAutoloader' => $vendorDir . '/zendframework/zend-loader/src/SplAutoloader.php',
2581
- 'Zend\\Loader\\StandardAutoloader' => $vendorDir . '/zendframework/zend-loader/src/StandardAutoloader.php',
2582
- 'Zend\\Mail\\Address' => $vendorDir . '/zendframework/zend-mail/src/Address.php',
2583
- 'Zend\\Mail\\AddressList' => $vendorDir . '/zendframework/zend-mail/src/AddressList.php',
2584
- 'Zend\\Mail\\Address\\AddressInterface' => $vendorDir . '/zendframework/zend-mail/src/Address/AddressInterface.php',
2585
- 'Zend\\Mail\\ConfigProvider' => $vendorDir . '/zendframework/zend-mail/src/ConfigProvider.php',
2586
- 'Zend\\Mail\\Exception\\BadMethodCallException' => $vendorDir . '/zendframework/zend-mail/src/Exception/BadMethodCallException.php',
2587
- 'Zend\\Mail\\Exception\\DomainException' => $vendorDir . '/zendframework/zend-mail/src/Exception/DomainException.php',
2588
- 'Zend\\Mail\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-mail/src/Exception/ExceptionInterface.php',
2589
- 'Zend\\Mail\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-mail/src/Exception/InvalidArgumentException.php',
2590
- 'Zend\\Mail\\Exception\\OutOfBoundsException' => $vendorDir . '/zendframework/zend-mail/src/Exception/OutOfBoundsException.php',
2591
- 'Zend\\Mail\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-mail/src/Exception/RuntimeException.php',
2592
- 'Zend\\Mail\\Header\\AbstractAddressList' => $vendorDir . '/zendframework/zend-mail/src/Header/AbstractAddressList.php',
2593
- 'Zend\\Mail\\Header\\Bcc' => $vendorDir . '/zendframework/zend-mail/src/Header/Bcc.php',
2594
- 'Zend\\Mail\\Header\\Cc' => $vendorDir . '/zendframework/zend-mail/src/Header/Cc.php',
2595
- 'Zend\\Mail\\Header\\ContentTransferEncoding' => $vendorDir . '/zendframework/zend-mail/src/Header/ContentTransferEncoding.php',
2596
- 'Zend\\Mail\\Header\\ContentType' => $vendorDir . '/zendframework/zend-mail/src/Header/ContentType.php',
2597
- 'Zend\\Mail\\Header\\Date' => $vendorDir . '/zendframework/zend-mail/src/Header/Date.php',
2598
- 'Zend\\Mail\\Header\\Exception\\BadMethodCallException' => $vendorDir . '/zendframework/zend-mail/src/Header/Exception/BadMethodCallException.php',
2599
- 'Zend\\Mail\\Header\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-mail/src/Header/Exception/ExceptionInterface.php',
2600
- 'Zend\\Mail\\Header\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-mail/src/Header/Exception/InvalidArgumentException.php',
2601
- 'Zend\\Mail\\Header\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-mail/src/Header/Exception/RuntimeException.php',
2602
- 'Zend\\Mail\\Header\\From' => $vendorDir . '/zendframework/zend-mail/src/Header/From.php',
2603
- 'Zend\\Mail\\Header\\GenericHeader' => $vendorDir . '/zendframework/zend-mail/src/Header/GenericHeader.php',
2604
- 'Zend\\Mail\\Header\\GenericMultiHeader' => $vendorDir . '/zendframework/zend-mail/src/Header/GenericMultiHeader.php',
2605
- 'Zend\\Mail\\Header\\HeaderInterface' => $vendorDir . '/zendframework/zend-mail/src/Header/HeaderInterface.php',
2606
- 'Zend\\Mail\\Header\\HeaderLoader' => $vendorDir . '/zendframework/zend-mail/src/Header/HeaderLoader.php',
2607
- 'Zend\\Mail\\Header\\HeaderName' => $vendorDir . '/zendframework/zend-mail/src/Header/HeaderName.php',
2608
- 'Zend\\Mail\\Header\\HeaderValue' => $vendorDir . '/zendframework/zend-mail/src/Header/HeaderValue.php',
2609
- 'Zend\\Mail\\Header\\HeaderWrap' => $vendorDir . '/zendframework/zend-mail/src/Header/HeaderWrap.php',
2610
- 'Zend\\Mail\\Header\\MessageId' => $vendorDir . '/zendframework/zend-mail/src/Header/MessageId.php',
2611
- 'Zend\\Mail\\Header\\MimeVersion' => $vendorDir . '/zendframework/zend-mail/src/Header/MimeVersion.php',
2612
- 'Zend\\Mail\\Header\\MultipleHeadersInterface' => $vendorDir . '/zendframework/zend-mail/src/Header/MultipleHeadersInterface.php',
2613
- 'Zend\\Mail\\Header\\Received' => $vendorDir . '/zendframework/zend-mail/src/Header/Received.php',
2614
- 'Zend\\Mail\\Header\\ReplyTo' => $vendorDir . '/zendframework/zend-mail/src/Header/ReplyTo.php',
2615
- 'Zend\\Mail\\Header\\Sender' => $vendorDir . '/zendframework/zend-mail/src/Header/Sender.php',
2616
- 'Zend\\Mail\\Header\\StructuredInterface' => $vendorDir . '/zendframework/zend-mail/src/Header/StructuredInterface.php',
2617
- 'Zend\\Mail\\Header\\Subject' => $vendorDir . '/zendframework/zend-mail/src/Header/Subject.php',
2618
- 'Zend\\Mail\\Header\\To' => $vendorDir . '/zendframework/zend-mail/src/Header/To.php',
2619
- 'Zend\\Mail\\Header\\UnstructuredInterface' => $vendorDir . '/zendframework/zend-mail/src/Header/UnstructuredInterface.php',
2620
- 'Zend\\Mail\\Headers' => $vendorDir . '/zendframework/zend-mail/src/Headers.php',
2621
- 'Zend\\Mail\\Message' => $vendorDir . '/zendframework/zend-mail/src/Message.php',
2622
- 'Zend\\Mail\\MessageFactory' => $vendorDir . '/zendframework/zend-mail/src/MessageFactory.php',
2623
- 'Zend\\Mail\\Module' => $vendorDir . '/zendframework/zend-mail/src/Module.php',
2624
- 'Zend\\Mail\\Protocol\\AbstractProtocol' => $vendorDir . '/zendframework/zend-mail/src/Protocol/AbstractProtocol.php',
2625
- 'Zend\\Mail\\Protocol\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Exception/ExceptionInterface.php',
2626
- 'Zend\\Mail\\Protocol\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Exception/InvalidArgumentException.php',
2627
- 'Zend\\Mail\\Protocol\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Exception/RuntimeException.php',
2628
- 'Zend\\Mail\\Protocol\\Imap' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Imap.php',
2629
- 'Zend\\Mail\\Protocol\\Pop3' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Pop3.php',
2630
- 'Zend\\Mail\\Protocol\\ProtocolTrait' => $vendorDir . '/zendframework/zend-mail/src/Protocol/ProtocolTrait.php',
2631
- 'Zend\\Mail\\Protocol\\Smtp' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Smtp.php',
2632
- 'Zend\\Mail\\Protocol\\SmtpPluginManager' => $vendorDir . '/zendframework/zend-mail/src/Protocol/SmtpPluginManager.php',
2633
- 'Zend\\Mail\\Protocol\\SmtpPluginManagerFactory' => $vendorDir . '/zendframework/zend-mail/src/Protocol/SmtpPluginManagerFactory.php',
2634
- 'Zend\\Mail\\Protocol\\Smtp\\Auth\\Crammd5' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Smtp/Auth/Crammd5.php',
2635
- 'Zend\\Mail\\Protocol\\Smtp\\Auth\\Login' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Smtp/Auth/Login.php',
2636
- 'Zend\\Mail\\Protocol\\Smtp\\Auth\\Plain' => $vendorDir . '/zendframework/zend-mail/src/Protocol/Smtp/Auth/Plain.php',
2637
- 'Zend\\Mail\\Storage' => $vendorDir . '/zendframework/zend-mail/src/Storage.php',
2638
- 'Zend\\Mail\\Storage\\AbstractStorage' => $vendorDir . '/zendframework/zend-mail/src/Storage/AbstractStorage.php',
2639
- 'Zend\\Mail\\Storage\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-mail/src/Storage/Exception/ExceptionInterface.php',
2640
- 'Zend\\Mail\\Storage\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-mail/src/Storage/Exception/InvalidArgumentException.php',
2641
- 'Zend\\Mail\\Storage\\Exception\\OutOfBoundsException' => $vendorDir . '/zendframework/zend-mail/src/Storage/Exception/OutOfBoundsException.php',
2642
- 'Zend\\Mail\\Storage\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-mail/src/Storage/Exception/RuntimeException.php',
2643
- 'Zend\\Mail\\Storage\\Folder' => $vendorDir . '/zendframework/zend-mail/src/Storage/Folder.php',
2644
- 'Zend\\Mail\\Storage\\Folder\\FolderInterface' => $vendorDir . '/zendframework/zend-mail/src/Storage/Folder/FolderInterface.php',
2645
- 'Zend\\Mail\\Storage\\Folder\\Maildir' => $vendorDir . '/zendframework/zend-mail/src/Storage/Folder/Maildir.php',
2646
- 'Zend\\Mail\\Storage\\Folder\\Mbox' => $vendorDir . '/zendframework/zend-mail/src/Storage/Folder/Mbox.php',
2647
- 'Zend\\Mail\\Storage\\Imap' => $vendorDir . '/zendframework/zend-mail/src/Storage/Imap.php',
2648
- 'Zend\\Mail\\Storage\\Maildir' => $vendorDir . '/zendframework/zend-mail/src/Storage/Maildir.php',
2649
- 'Zend\\Mail\\Storage\\Mbox' => $vendorDir . '/zendframework/zend-mail/src/Storage/Mbox.php',
2650
- 'Zend\\Mail\\Storage\\Message' => $vendorDir . '/zendframework/zend-mail/src/Storage/Message.php',
2651
- 'Zend\\Mail\\Storage\\Message\\File' => $vendorDir . '/zendframework/zend-mail/src/Storage/Message/File.php',
2652
- 'Zend\\Mail\\Storage\\Message\\MessageInterface' => $vendorDir . '/zendframework/zend-mail/src/Storage/Message/MessageInterface.php',
2653
- 'Zend\\Mail\\Storage\\Part' => $vendorDir . '/zendframework/zend-mail/src/Storage/Part.php',
2654
- 'Zend\\Mail\\Storage\\Part\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-mail/src/Storage/Part/Exception/ExceptionInterface.php',
2655
- 'Zend\\Mail\\Storage\\Part\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-mail/src/Storage/Part/Exception/InvalidArgumentException.php',
2656
- 'Zend\\Mail\\Storage\\Part\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-mail/src/Storage/Part/Exception/RuntimeException.php',
2657
- 'Zend\\Mail\\Storage\\Part\\File' => $vendorDir . '/zendframework/zend-mail/src/Storage/Part/File.php',
2658
- 'Zend\\Mail\\Storage\\Part\\PartInterface' => $vendorDir . '/zendframework/zend-mail/src/Storage/Part/PartInterface.php',
2659
- 'Zend\\Mail\\Storage\\Pop3' => $vendorDir . '/zendframework/zend-mail/src/Storage/Pop3.php',
2660
- 'Zend\\Mail\\Storage\\Writable\\Maildir' => $vendorDir . '/zendframework/zend-mail/src/Storage/Writable/Maildir.php',
2661
- 'Zend\\Mail\\Storage\\Writable\\WritableInterface' => $vendorDir . '/zendframework/zend-mail/src/Storage/Writable/WritableInterface.php',
2662
- 'Zend\\Mail\\Transport\\Envelope' => $vendorDir . '/zendframework/zend-mail/src/Transport/Envelope.php',
2663
- 'Zend\\Mail\\Transport\\Exception\\DomainException' => $vendorDir . '/zendframework/zend-mail/src/Transport/Exception/DomainException.php',
2664
- 'Zend\\Mail\\Transport\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-mail/src/Transport/Exception/ExceptionInterface.php',
2665
- 'Zend\\Mail\\Transport\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-mail/src/Transport/Exception/InvalidArgumentException.php',
2666
- 'Zend\\Mail\\Transport\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-mail/src/Transport/Exception/RuntimeException.php',
2667
- 'Zend\\Mail\\Transport\\Factory' => $vendorDir . '/zendframework/zend-mail/src/Transport/Factory.php',
2668
- 'Zend\\Mail\\Transport\\File' => $vendorDir . '/zendframework/zend-mail/src/Transport/File.php',
2669
- 'Zend\\Mail\\Transport\\FileOptions' => $vendorDir . '/zendframework/zend-mail/src/Transport/FileOptions.php',
2670
- 'Zend\\Mail\\Transport\\InMemory' => $vendorDir . '/zendframework/zend-mail/src/Transport/InMemory.php',
2671
- 'Zend\\Mail\\Transport\\Null' => $vendorDir . '/zendframework/zend-mail/src/Transport/Null.php',
2672
- 'Zend\\Mail\\Transport\\Sendmail' => $vendorDir . '/zendframework/zend-mail/src/Transport/Sendmail.php',
2673
- 'Zend\\Mail\\Transport\\Smtp' => $vendorDir . '/zendframework/zend-mail/src/Transport/Smtp.php',
2674
- 'Zend\\Mail\\Transport\\SmtpOptions' => $vendorDir . '/zendframework/zend-mail/src/Transport/SmtpOptions.php',
2675
- 'Zend\\Mail\\Transport\\TransportInterface' => $vendorDir . '/zendframework/zend-mail/src/Transport/TransportInterface.php',
2676
- 'Zend\\Mime\\Decode' => $vendorDir . '/zendframework/zend-mime/src/Decode.php',
2677
- 'Zend\\Mime\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-mime/src/Exception/ExceptionInterface.php',
2678
- 'Zend\\Mime\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-mime/src/Exception/InvalidArgumentException.php',
2679
- 'Zend\\Mime\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-mime/src/Exception/RuntimeException.php',
2680
- 'Zend\\Mime\\Message' => $vendorDir . '/zendframework/zend-mime/src/Message.php',
2681
- 'Zend\\Mime\\Mime' => $vendorDir . '/zendframework/zend-mime/src/Mime.php',
2682
- 'Zend\\Mime\\Part' => $vendorDir . '/zendframework/zend-mime/src/Part.php',
2683
- 'Zend\\Stdlib\\AbstractOptions' => $vendorDir . '/zendframework/zend-stdlib/src/AbstractOptions.php',
2684
- 'Zend\\Stdlib\\ArrayObject' => $vendorDir . '/zendframework/zend-stdlib/src/ArrayObject.php',
2685
- 'Zend\\Stdlib\\ArraySerializableInterface' => $vendorDir . '/zendframework/zend-stdlib/src/ArraySerializableInterface.php',
2686
- 'Zend\\Stdlib\\ArrayStack' => $vendorDir . '/zendframework/zend-stdlib/src/ArrayStack.php',
2687
- 'Zend\\Stdlib\\ArrayUtils' => $vendorDir . '/zendframework/zend-stdlib/src/ArrayUtils.php',
2688
- 'Zend\\Stdlib\\ArrayUtils\\MergeRemoveKey' => $vendorDir . '/zendframework/zend-stdlib/src/ArrayUtils/MergeRemoveKey.php',
2689
- 'Zend\\Stdlib\\ArrayUtils\\MergeReplaceKey' => $vendorDir . '/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKey.php',
2690
- 'Zend\\Stdlib\\ArrayUtils\\MergeReplaceKeyInterface' => $vendorDir . '/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKeyInterface.php',
2691
- 'Zend\\Stdlib\\ConsoleHelper' => $vendorDir . '/zendframework/zend-stdlib/src/ConsoleHelper.php',
2692
- 'Zend\\Stdlib\\DispatchableInterface' => $vendorDir . '/zendframework/zend-stdlib/src/DispatchableInterface.php',
2693
- 'Zend\\Stdlib\\ErrorHandler' => $vendorDir . '/zendframework/zend-stdlib/src/ErrorHandler.php',
2694
- 'Zend\\Stdlib\\Exception\\BadMethodCallException' => $vendorDir . '/zendframework/zend-stdlib/src/Exception/BadMethodCallException.php',
2695
- 'Zend\\Stdlib\\Exception\\DomainException' => $vendorDir . '/zendframework/zend-stdlib/src/Exception/DomainException.php',
2696
- 'Zend\\Stdlib\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-stdlib/src/Exception/ExceptionInterface.php',
2697
- 'Zend\\Stdlib\\Exception\\ExtensionNotLoadedException' => $vendorDir . '/zendframework/zend-stdlib/src/Exception/ExtensionNotLoadedException.php',
2698
- 'Zend\\Stdlib\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-stdlib/src/Exception/InvalidArgumentException.php',
2699
- 'Zend\\Stdlib\\Exception\\LogicException' => $vendorDir . '/zendframework/zend-stdlib/src/Exception/LogicException.php',
2700
- 'Zend\\Stdlib\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-stdlib/src/Exception/RuntimeException.php',
2701
- 'Zend\\Stdlib\\FastPriorityQueue' => $vendorDir . '/zendframework/zend-stdlib/src/FastPriorityQueue.php',
2702
- 'Zend\\Stdlib\\Glob' => $vendorDir . '/zendframework/zend-stdlib/src/Glob.php',
2703
- 'Zend\\Stdlib\\Guard\\AllGuardsTrait' => $vendorDir . '/zendframework/zend-stdlib/src/Guard/AllGuardsTrait.php',
2704
- 'Zend\\Stdlib\\Guard\\ArrayOrTraversableGuardTrait' => $vendorDir . '/zendframework/zend-stdlib/src/Guard/ArrayOrTraversableGuardTrait.php',
2705
- 'Zend\\Stdlib\\Guard\\EmptyGuardTrait' => $vendorDir . '/zendframework/zend-stdlib/src/Guard/EmptyGuardTrait.php',
2706
- 'Zend\\Stdlib\\Guard\\NullGuardTrait' => $vendorDir . '/zendframework/zend-stdlib/src/Guard/NullGuardTrait.php',
2707
- 'Zend\\Stdlib\\InitializableInterface' => $vendorDir . '/zendframework/zend-stdlib/src/InitializableInterface.php',
2708
- 'Zend\\Stdlib\\JsonSerializable' => $vendorDir . '/zendframework/zend-stdlib/src/JsonSerializable.php',
2709
- 'Zend\\Stdlib\\Message' => $vendorDir . '/zendframework/zend-stdlib/src/Message.php',
2710
- 'Zend\\Stdlib\\MessageInterface' => $vendorDir . '/zendframework/zend-stdlib/src/MessageInterface.php',
2711
- 'Zend\\Stdlib\\ParameterObjectInterface' => $vendorDir . '/zendframework/zend-stdlib/src/ParameterObjectInterface.php',
2712
- 'Zend\\Stdlib\\Parameters' => $vendorDir . '/zendframework/zend-stdlib/src/Parameters.php',
2713
- 'Zend\\Stdlib\\ParametersInterface' => $vendorDir . '/zendframework/zend-stdlib/src/ParametersInterface.php',
2714
- 'Zend\\Stdlib\\PriorityList' => $vendorDir . '/zendframework/zend-stdlib/src/PriorityList.php',
2715
- 'Zend\\Stdlib\\PriorityQueue' => $vendorDir . '/zendframework/zend-stdlib/src/PriorityQueue.php',
2716
- 'Zend\\Stdlib\\Request' => $vendorDir . '/zendframework/zend-stdlib/src/Request.php',
2717
- 'Zend\\Stdlib\\RequestInterface' => $vendorDir . '/zendframework/zend-stdlib/src/RequestInterface.php',
2718
- 'Zend\\Stdlib\\Response' => $vendorDir . '/zendframework/zend-stdlib/src/Response.php',
2719
- 'Zend\\Stdlib\\ResponseInterface' => $vendorDir . '/zendframework/zend-stdlib/src/ResponseInterface.php',
2720
- 'Zend\\Stdlib\\SplPriorityQueue' => $vendorDir . '/zendframework/zend-stdlib/src/SplPriorityQueue.php',
2721
- 'Zend\\Stdlib\\SplQueue' => $vendorDir . '/zendframework/zend-stdlib/src/SplQueue.php',
2722
- 'Zend\\Stdlib\\SplStack' => $vendorDir . '/zendframework/zend-stdlib/src/SplStack.php',
2723
- 'Zend\\Stdlib\\StringUtils' => $vendorDir . '/zendframework/zend-stdlib/src/StringUtils.php',
2724
- 'Zend\\Stdlib\\StringWrapper\\AbstractStringWrapper' => $vendorDir . '/zendframework/zend-stdlib/src/StringWrapper/AbstractStringWrapper.php',
2725
- 'Zend\\Stdlib\\StringWrapper\\Iconv' => $vendorDir . '/zendframework/zend-stdlib/src/StringWrapper/Iconv.php',
2726
- 'Zend\\Stdlib\\StringWrapper\\Intl' => $vendorDir . '/zendframework/zend-stdlib/src/StringWrapper/Intl.php',
2727
- 'Zend\\Stdlib\\StringWrapper\\MbString' => $vendorDir . '/zendframework/zend-stdlib/src/StringWrapper/MbString.php',
2728
- 'Zend\\Stdlib\\StringWrapper\\Native' => $vendorDir . '/zendframework/zend-stdlib/src/StringWrapper/Native.php',
2729
- 'Zend\\Stdlib\\StringWrapper\\StringWrapperInterface' => $vendorDir . '/zendframework/zend-stdlib/src/StringWrapper/StringWrapperInterface.php',
2730
- 'Zend\\Validator\\AbstractValidator' => $vendorDir . '/zendframework/zend-validator/src/AbstractValidator.php',
2731
- 'Zend\\Validator\\Barcode' => $vendorDir . '/zendframework/zend-validator/src/Barcode.php',
2732
- 'Zend\\Validator\\Barcode\\AbstractAdapter' => $vendorDir . '/zendframework/zend-validator/src/Barcode/AbstractAdapter.php',
2733
- 'Zend\\Validator\\Barcode\\AdapterInterface' => $vendorDir . '/zendframework/zend-validator/src/Barcode/AdapterInterface.php',
2734
- 'Zend\\Validator\\Barcode\\Codabar' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Codabar.php',
2735
- 'Zend\\Validator\\Barcode\\Code128' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Code128.php',
2736
- 'Zend\\Validator\\Barcode\\Code25' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Code25.php',
2737
- 'Zend\\Validator\\Barcode\\Code25interleaved' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Code25interleaved.php',
2738
- 'Zend\\Validator\\Barcode\\Code39' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Code39.php',
2739
- 'Zend\\Validator\\Barcode\\Code39ext' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Code39ext.php',
2740
- 'Zend\\Validator\\Barcode\\Code93' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Code93.php',
2741
- 'Zend\\Validator\\Barcode\\Code93ext' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Code93ext.php',
2742
- 'Zend\\Validator\\Barcode\\Ean12' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Ean12.php',
2743
- 'Zend\\Validator\\Barcode\\Ean13' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Ean13.php',
2744
- 'Zend\\Validator\\Barcode\\Ean14' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Ean14.php',
2745
- 'Zend\\Validator\\Barcode\\Ean18' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Ean18.php',
2746
- 'Zend\\Validator\\Barcode\\Ean2' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Ean2.php',
2747
- 'Zend\\Validator\\Barcode\\Ean5' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Ean5.php',
2748
- 'Zend\\Validator\\Barcode\\Ean8' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Ean8.php',
2749
- 'Zend\\Validator\\Barcode\\Gtin12' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Gtin12.php',
2750
- 'Zend\\Validator\\Barcode\\Gtin13' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Gtin13.php',
2751
- 'Zend\\Validator\\Barcode\\Gtin14' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Gtin14.php',
2752
- 'Zend\\Validator\\Barcode\\Identcode' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Identcode.php',
2753
- 'Zend\\Validator\\Barcode\\Intelligentmail' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Intelligentmail.php',
2754
- 'Zend\\Validator\\Barcode\\Issn' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Issn.php',
2755
- 'Zend\\Validator\\Barcode\\Itf14' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Itf14.php',
2756
- 'Zend\\Validator\\Barcode\\Leitcode' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Leitcode.php',
2757
- 'Zend\\Validator\\Barcode\\Planet' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Planet.php',
2758
- 'Zend\\Validator\\Barcode\\Postnet' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Postnet.php',
2759
- 'Zend\\Validator\\Barcode\\Royalmail' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Royalmail.php',
2760
- 'Zend\\Validator\\Barcode\\Sscc' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Sscc.php',
2761
- 'Zend\\Validator\\Barcode\\Upca' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Upca.php',
2762
- 'Zend\\Validator\\Barcode\\Upce' => $vendorDir . '/zendframework/zend-validator/src/Barcode/Upce.php',
2763
- 'Zend\\Validator\\Between' => $vendorDir . '/zendframework/zend-validator/src/Between.php',
2764
- 'Zend\\Validator\\Bitwise' => $vendorDir . '/zendframework/zend-validator/src/Bitwise.php',
2765
- 'Zend\\Validator\\Callback' => $vendorDir . '/zendframework/zend-validator/src/Callback.php',
2766
- 'Zend\\Validator\\ConfigProvider' => $vendorDir . '/zendframework/zend-validator/src/ConfigProvider.php',
2767
- 'Zend\\Validator\\CreditCard' => $vendorDir . '/zendframework/zend-validator/src/CreditCard.php',
2768
- 'Zend\\Validator\\Csrf' => $vendorDir . '/zendframework/zend-validator/src/Csrf.php',
2769
- 'Zend\\Validator\\Date' => $vendorDir . '/zendframework/zend-validator/src/Date.php',
2770
- 'Zend\\Validator\\DateStep' => $vendorDir . '/zendframework/zend-validator/src/DateStep.php',
2771
- 'Zend\\Validator\\Db\\AbstractDb' => $vendorDir . '/zendframework/zend-validator/src/Db/AbstractDb.php',
2772
- 'Zend\\Validator\\Db\\NoRecordExists' => $vendorDir . '/zendframework/zend-validator/src/Db/NoRecordExists.php',
2773
- 'Zend\\Validator\\Db\\RecordExists' => $vendorDir . '/zendframework/zend-validator/src/Db/RecordExists.php',
2774
- 'Zend\\Validator\\Digits' => $vendorDir . '/zendframework/zend-validator/src/Digits.php',
2775
- 'Zend\\Validator\\EmailAddress' => $vendorDir . '/zendframework/zend-validator/src/EmailAddress.php',
2776
- 'Zend\\Validator\\Exception\\BadMethodCallException' => $vendorDir . '/zendframework/zend-validator/src/Exception/BadMethodCallException.php',
2777
- 'Zend\\Validator\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-validator/src/Exception/ExceptionInterface.php',
2778
- 'Zend\\Validator\\Exception\\ExtensionNotLoadedException' => $vendorDir . '/zendframework/zend-validator/src/Exception/ExtensionNotLoadedException.php',
2779
- 'Zend\\Validator\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-validator/src/Exception/InvalidArgumentException.php',
2780
- 'Zend\\Validator\\Exception\\InvalidMagicMimeFileException' => $vendorDir . '/zendframework/zend-validator/src/Exception/InvalidMagicMimeFileException.php',
2781
- 'Zend\\Validator\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-validator/src/Exception/RuntimeException.php',
2782
- 'Zend\\Validator\\Explode' => $vendorDir . '/zendframework/zend-validator/src/Explode.php',
2783
- 'Zend\\Validator\\File\\Count' => $vendorDir . '/zendframework/zend-validator/src/File/Count.php',
2784
- 'Zend\\Validator\\File\\Crc32' => $vendorDir . '/zendframework/zend-validator/src/File/Crc32.php',
2785
- 'Zend\\Validator\\File\\ExcludeExtension' => $vendorDir . '/zendframework/zend-validator/src/File/ExcludeExtension.php',
2786
- 'Zend\\Validator\\File\\ExcludeMimeType' => $vendorDir . '/zendframework/zend-validator/src/File/ExcludeMimeType.php',
2787
- 'Zend\\Validator\\File\\Exists' => $vendorDir . '/zendframework/zend-validator/src/File/Exists.php',
2788
- 'Zend\\Validator\\File\\Extension' => $vendorDir . '/zendframework/zend-validator/src/File/Extension.php',
2789
- 'Zend\\Validator\\File\\FilesSize' => $vendorDir . '/zendframework/zend-validator/src/File/FilesSize.php',
2790
- 'Zend\\Validator\\File\\Hash' => $vendorDir . '/zendframework/zend-validator/src/File/Hash.php',
2791
- 'Zend\\Validator\\File\\ImageSize' => $vendorDir . '/zendframework/zend-validator/src/File/ImageSize.php',
2792
- 'Zend\\Validator\\File\\IsCompressed' => $vendorDir . '/zendframework/zend-validator/src/File/IsCompressed.php',
2793
- 'Zend\\Validator\\File\\IsImage' => $vendorDir . '/zendframework/zend-validator/src/File/IsImage.php',
2794
- 'Zend\\Validator\\File\\Md5' => $vendorDir . '/zendframework/zend-validator/src/File/Md5.php',
2795
- 'Zend\\Validator\\File\\MimeType' => $vendorDir . '/zendframework/zend-validator/src/File/MimeType.php',
2796
- 'Zend\\Validator\\File\\NotExists' => $vendorDir . '/zendframework/zend-validator/src/File/NotExists.php',
2797
- 'Zend\\Validator\\File\\Sha1' => $vendorDir . '/zendframework/zend-validator/src/File/Sha1.php',
2798
- 'Zend\\Validator\\File\\Size' => $vendorDir . '/zendframework/zend-validator/src/File/Size.php',
2799
- 'Zend\\Validator\\File\\Upload' => $vendorDir . '/zendframework/zend-validator/src/File/Upload.php',
2800
- 'Zend\\Validator\\File\\UploadFile' => $vendorDir . '/zendframework/zend-validator/src/File/UploadFile.php',
2801
- 'Zend\\Validator\\File\\WordCount' => $vendorDir . '/zendframework/zend-validator/src/File/WordCount.php',
2802
- 'Zend\\Validator\\GpsPoint' => $vendorDir . '/zendframework/zend-validator/src/GpsPoint.php',
2803
- 'Zend\\Validator\\GreaterThan' => $vendorDir . '/zendframework/zend-validator/src/GreaterThan.php',
2804
- 'Zend\\Validator\\Hex' => $vendorDir . '/zendframework/zend-validator/src/Hex.php',
2805
- 'Zend\\Validator\\Hostname' => $vendorDir . '/zendframework/zend-validator/src/Hostname.php',
2806
- 'Zend\\Validator\\Iban' => $vendorDir . '/zendframework/zend-validator/src/Iban.php',
2807
- 'Zend\\Validator\\Identical' => $vendorDir . '/zendframework/zend-validator/src/Identical.php',
2808
- 'Zend\\Validator\\InArray' => $vendorDir . '/zendframework/zend-validator/src/InArray.php',
2809
- 'Zend\\Validator\\Ip' => $vendorDir . '/zendframework/zend-validator/src/Ip.php',
2810
- 'Zend\\Validator\\IsCountable' => $vendorDir . '/zendframework/zend-validator/src/IsCountable.php',
2811
- 'Zend\\Validator\\IsInstanceOf' => $vendorDir . '/zendframework/zend-validator/src/IsInstanceOf.php',
2812
- 'Zend\\Validator\\Isbn' => $vendorDir . '/zendframework/zend-validator/src/Isbn.php',
2813
- 'Zend\\Validator\\Isbn\\Isbn10' => $vendorDir . '/zendframework/zend-validator/src/Isbn/Isbn10.php',
2814
- 'Zend\\Validator\\Isbn\\Isbn13' => $vendorDir . '/zendframework/zend-validator/src/Isbn/Isbn13.php',
2815
- 'Zend\\Validator\\LessThan' => $vendorDir . '/zendframework/zend-validator/src/LessThan.php',
2816
- 'Zend\\Validator\\Module' => $vendorDir . '/zendframework/zend-validator/src/Module.php',
2817
- 'Zend\\Validator\\NotEmpty' => $vendorDir . '/zendframework/zend-validator/src/NotEmpty.php',
2818
- 'Zend\\Validator\\Regex' => $vendorDir . '/zendframework/zend-validator/src/Regex.php',
2819
- 'Zend\\Validator\\Sitemap\\Changefreq' => $vendorDir . '/zendframework/zend-validator/src/Sitemap/Changefreq.php',
2820
- 'Zend\\Validator\\Sitemap\\Lastmod' => $vendorDir . '/zendframework/zend-validator/src/Sitemap/Lastmod.php',
2821
- 'Zend\\Validator\\Sitemap\\Loc' => $vendorDir . '/zendframework/zend-validator/src/Sitemap/Loc.php',
2822
- 'Zend\\Validator\\Sitemap\\Priority' => $vendorDir . '/zendframework/zend-validator/src/Sitemap/Priority.php',
2823
- 'Zend\\Validator\\StaticValidator' => $vendorDir . '/zendframework/zend-validator/src/StaticValidator.php',
2824
- 'Zend\\Validator\\Step' => $vendorDir . '/zendframework/zend-validator/src/Step.php',
2825
- 'Zend\\Validator\\StringLength' => $vendorDir . '/zendframework/zend-validator/src/StringLength.php',
2826
- 'Zend\\Validator\\Timezone' => $vendorDir . '/zendframework/zend-validator/src/Timezone.php',
2827
- 'Zend\\Validator\\Translator\\TranslatorAwareInterface' => $vendorDir . '/zendframework/zend-validator/src/Translator/TranslatorAwareInterface.php',
2828
- 'Zend\\Validator\\Translator\\TranslatorInterface' => $vendorDir . '/zendframework/zend-validator/src/Translator/TranslatorInterface.php',
2829
- 'Zend\\Validator\\Uri' => $vendorDir . '/zendframework/zend-validator/src/Uri.php',
2830
- 'Zend\\Validator\\Uuid' => $vendorDir . '/zendframework/zend-validator/src/Uuid.php',
2831
- 'Zend\\Validator\\ValidatorChain' => $vendorDir . '/zendframework/zend-validator/src/ValidatorChain.php',
2832
- 'Zend\\Validator\\ValidatorInterface' => $vendorDir . '/zendframework/zend-validator/src/ValidatorInterface.php',
2833
- 'Zend\\Validator\\ValidatorPluginManager' => $vendorDir . '/zendframework/zend-validator/src/ValidatorPluginManager.php',
2834
- 'Zend\\Validator\\ValidatorPluginManagerAwareInterface' => $vendorDir . '/zendframework/zend-validator/src/ValidatorPluginManagerAwareInterface.php',
2835
- 'Zend\\Validator\\ValidatorPluginManagerFactory' => $vendorDir . '/zendframework/zend-validator/src/ValidatorPluginManagerFactory.php',
2836
- 'Zend\\Validator\\ValidatorProviderInterface' => $vendorDir . '/zendframework/zend-validator/src/ValidatorProviderInterface.php',
2837
- 'file' => $baseDir . '/backwpup.php',
2838
  'mikemccabe\\JsonPatch\\JsonPatch' => $vendorDir . '/mikemccabe/json-patch-php/src/JsonPatch.php',
2839
  'mikemccabe\\JsonPatch\\JsonPatchException' => $vendorDir . '/mikemccabe/json-patch-php/src/JsonPatch.php',
2840
  );
1073
  'Firebase\\JWT\\ExpiredException' => $vendorDir . '/firebase/php-jwt/src/ExpiredException.php',
1074
  'Firebase\\JWT\\JWT' => $vendorDir . '/firebase/php-jwt/src/JWT.php',
1075
  'Firebase\\JWT\\SignatureInvalidException' => $vendorDir . '/firebase/php-jwt/src/SignatureInvalidException.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1076
  'Guzzle\\Batch\\AbstractBatchDecorator' => $vendorDir . '/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php',
1077
  'Guzzle\\Batch\\Batch' => $vendorDir . '/guzzle/guzzle/src/Guzzle/Batch/Batch.php',
1078
  'Guzzle\\Batch\\BatchBuilder' => $vendorDir . '/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php',
1479
  'Guzzle\\Tests\\Service\\ServiceBuilderTest' => $vendorDir . '/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php',
1480
  'Guzzle\\Tests\\Stream\\PhpStreamRequestFactoryTest' => $vendorDir . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php',
1481
  'Guzzle\\Tests\\Stream\\StreamTest' => $vendorDir . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php',
1482
+ 'HTTP_Request2' => $vendorDir . '/pear/http_request2/HTTP/Request2.php',
1483
+ 'HTTP_Request2Test' => $vendorDir . '/pear/http_request2/tests/Request2Test.php',
1484
+ 'HTTP_Request2_Adapter' => $vendorDir . '/pear/http_request2/HTTP/Request2/Adapter.php',
1485
+ 'HTTP_Request2_Adapter_CommonNetworkTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/CommonNetworkTest.php',
1486
+ 'HTTP_Request2_Adapter_Curl' => $vendorDir . '/pear/http_request2/HTTP/Request2/Adapter/Curl.php',
1487
+ 'HTTP_Request2_Adapter_CurlTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/CurlTest.php',
1488
+ 'HTTP_Request2_Adapter_Mock' => $vendorDir . '/pear/http_request2/HTTP/Request2/Adapter/Mock.php',
1489
+ 'HTTP_Request2_Adapter_MockTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/MockTest.php',
1490
+ 'HTTP_Request2_Adapter_Skip_CurlTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/SkippedTests.php',
1491
+ 'HTTP_Request2_Adapter_Skip_SocketProxyTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/SkippedTests.php',
1492
+ 'HTTP_Request2_Adapter_Skip_SocketTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/SkippedTests.php',
1493
+ 'HTTP_Request2_Adapter_Socket' => $vendorDir . '/pear/http_request2/HTTP/Request2/Adapter/Socket.php',
1494
+ 'HTTP_Request2_Adapter_SocketProxyTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/SocketProxyTest.php',
1495
+ 'HTTP_Request2_Adapter_SocketTest' => $vendorDir . '/pear/http_request2/tests/Request2/Adapter/SocketTest.php',
1496
+ 'HTTP_Request2_AllTests' => $vendorDir . '/pear/http_request2/tests/AllTests.php',
1497
+ 'HTTP_Request2_ConnectionException' => $vendorDir . '/pear/http_request2/HTTP/Request2/Exception.php',
1498
+ 'HTTP_Request2_CookieJar' => $vendorDir . '/pear/http_request2/HTTP/Request2/CookieJar.php',
1499
+ 'HTTP_Request2_CookieJarTest' => $vendorDir . '/pear/http_request2/tests/Request2/CookieJarTest.php',
1500
+ 'HTTP_Request2_Exception' => $vendorDir . '/pear/http_request2/HTTP/Request2/Exception.php',
1501
+ 'HTTP_Request2_LogicException' => $vendorDir . '/pear/http_request2/HTTP/Request2/Exception.php',
1502
+ 'HTTP_Request2_MessageException' => $vendorDir . '/pear/http_request2/HTTP/Request2/Exception.php',
1503
+ 'HTTP_Request2_MockObserver' => $vendorDir . '/pear/http_request2/tests/ObserverTest.php',
1504
+ 'HTTP_Request2_MultipartBody' => $vendorDir . '/pear/http_request2/HTTP/Request2/MultipartBody.php',
1505
+ 'HTTP_Request2_MultipartBodyTest' => $vendorDir . '/pear/http_request2/tests/Request2/MultipartBodyTest.php',
1506
+ 'HTTP_Request2_NotImplementedException' => $vendorDir . '/pear/http_request2/HTTP/Request2/Exception.php',
1507
+ 'HTTP_Request2_ObserverTest' => $vendorDir . '/pear/http_request2/tests/ObserverTest.php',
1508
+ 'HTTP_Request2_Observer_Log' => $vendorDir . '/pear/http_request2/HTTP/Request2/Observer/Log.php',
1509
+ 'HTTP_Request2_Observer_UncompressingDownload' => $vendorDir . '/pear/http_request2/HTTP/Request2/Observer/UncompressingDownload.php',
1510
+ 'HTTP_Request2_Response' => $vendorDir . '/pear/http_request2/HTTP/Request2/Response.php',
1511
+ 'HTTP_Request2_ResponseTest' => $vendorDir . '/pear/http_request2/tests/Request2/ResponseTest.php',
1512
+ 'HTTP_Request2_SOCKS5' => $vendorDir . '/pear/http_request2/HTTP/Request2/SOCKS5.php',
1513
+ 'HTTP_Request2_SocketWrapper' => $vendorDir . '/pear/http_request2/HTTP/Request2/SocketWrapper.php',
1514
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\Downloader' => $baseDir . '/inc/Pro/Restore/LogDownloader/Downloader.php',
1515
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\DownloaderFactory' => $baseDir . '/inc/Pro/Restore/LogDownloader/DownloaderFactory.php',
1516
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\View' => $baseDir . '/inc/Pro/Restore/LogDownloader/View.php',
1546
  'Inpsyde_PhoneHome_HttpClient' => $vendorDir . '/inpsyde/phone-home-client/src/HttpClient.php',
1547
  'Inpsyde_PhoneHome_Template_Buttons' => $vendorDir . '/inpsyde/phone-home-client/src/Template/Buttons.php',
1548
  'Inpsyde_PhoneHome_Template_Loader' => $vendorDir . '/inpsyde/phone-home-client/src/Template/Loader.php',
 
 
 
1549
  'Mail_mime' => $vendorDir . '/pear/mail_mime/Mail/mime.php',
1550
+ 'Mail_mimeDecode' => $vendorDir . '/pear/mail_mime-decode/Mail/mimeDecode.php',
1551
  'Mail_mimePart' => $vendorDir . '/pear/mail_mime/Mail/mimePart.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1552
  'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php',
1553
  'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
1554
  'Monolog\\Formatter\\ElasticaFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php',
1984
  'Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php',
1985
  'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php',
1986
  'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php',
 
 
 
 
 
 
 
1987
  'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php',
1988
  'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php',
1989
  'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php',
2059
  'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => $vendorDir . '/symfony/translation/Writer/TranslationWriter.php',
2060
  'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php',
2061
  'System' => $vendorDir . '/pear/pear-core-minimal/src/System.php',
2062
+ 'WindowsAzure\\Blob\\BlobRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/BlobRestProxy.php',
2063
+ 'WindowsAzure\\Blob\\Internal\\IBlob' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Internal/IBlob.php',
2064
+ 'WindowsAzure\\Blob\\Models\\AccessCondition' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AccessCondition.php',
2065
+ 'WindowsAzure\\Blob\\Models\\AccessPolicy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AccessPolicy.php',
2066
+ 'WindowsAzure\\Blob\\Models\\AcquireLeaseOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AcquireLeaseOptions.php',
2067
+ 'WindowsAzure\\Blob\\Models\\AcquireLeaseResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AcquireLeaseResult.php',
2068
+ 'WindowsAzure\\Blob\\Models\\Blob' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/Blob.php',
2069
+ 'WindowsAzure\\Blob\\Models\\BlobBlockType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobBlockType.php',
2070
+ 'WindowsAzure\\Blob\\Models\\BlobPrefix' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobPrefix.php',
2071
+ 'WindowsAzure\\Blob\\Models\\BlobProperties' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobProperties.php',
2072
+ 'WindowsAzure\\Blob\\Models\\BlobServiceOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobServiceOptions.php',
2073
+ 'WindowsAzure\\Blob\\Models\\BlobType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobType.php',
2074
+ 'WindowsAzure\\Blob\\Models\\Block' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/Block.php',
2075
+ 'WindowsAzure\\Blob\\Models\\BlockList' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlockList.php',
2076
+ 'WindowsAzure\\Blob\\Models\\BreakLeaseResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BreakLeaseResult.php',
2077
+ 'WindowsAzure\\Blob\\Models\\CommitBlobBlocksOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CommitBlobBlocksOptions.php',
2078
+ 'WindowsAzure\\Blob\\Models\\Container' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/Container.php',
2079
+ 'WindowsAzure\\Blob\\Models\\ContainerAcl' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ContainerACL.php',
2080
+ 'WindowsAzure\\Blob\\Models\\ContainerProperties' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ContainerProperties.php',
2081
+ 'WindowsAzure\\Blob\\Models\\CopyBlobOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CopyBlobOptions.php',
2082
+ 'WindowsAzure\\Blob\\Models\\CopyBlobResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CopyBlobResult.php',
2083
+ 'WindowsAzure\\Blob\\Models\\CreateBlobBlockOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobBlockOptions.php',
2084
+ 'WindowsAzure\\Blob\\Models\\CreateBlobOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobOptions.php',
2085
+ 'WindowsAzure\\Blob\\Models\\CreateBlobPagesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobPagesOptions.php',
2086
+ 'WindowsAzure\\Blob\\Models\\CreateBlobPagesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobPagesResult.php',
2087
+ 'WindowsAzure\\Blob\\Models\\CreateBlobSnapshotOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobSnapshotOptions.php',
2088
+ 'WindowsAzure\\Blob\\Models\\CreateBlobSnapshotResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobSnapshotResult.php',
2089
+ 'WindowsAzure\\Blob\\Models\\CreateContainerOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateContainerOptions.php',
2090
+ 'WindowsAzure\\Blob\\Models\\DeleteBlobOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/DeleteBlobOptions.php',
2091
+ 'WindowsAzure\\Blob\\Models\\DeleteContainerOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/DeleteContainerOptions.php',
2092
+ 'WindowsAzure\\Blob\\Models\\GetBlobMetadataOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobMetadataOptions.php',
2093
+ 'WindowsAzure\\Blob\\Models\\GetBlobMetadataResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobMetadataResult.php',
2094
+ 'WindowsAzure\\Blob\\Models\\GetBlobOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobOptions.php',
2095
+ 'WindowsAzure\\Blob\\Models\\GetBlobPropertiesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobPropertiesOptions.php',
2096
+ 'WindowsAzure\\Blob\\Models\\GetBlobPropertiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobPropertiesResult.php',
2097
+ 'WindowsAzure\\Blob\\Models\\GetBlobResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobResult.php',
2098
+ 'WindowsAzure\\Blob\\Models\\GetContainerAclResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetContainerACLResult.php',
2099
+ 'WindowsAzure\\Blob\\Models\\GetContainerPropertiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetContainerPropertiesResult.php',
2100
+ 'WindowsAzure\\Blob\\Models\\LeaseMode' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/LeaseMode.php',
2101
+ 'WindowsAzure\\Blob\\Models\\ListBlobBlocksOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobBlocksOptions.php',
2102
+ 'WindowsAzure\\Blob\\Models\\ListBlobBlocksResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobBlocksResult.php',
2103
+ 'WindowsAzure\\Blob\\Models\\ListBlobsOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobsOptions.php',
2104
+ 'WindowsAzure\\Blob\\Models\\ListBlobsResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobsResult.php',
2105
+ 'WindowsAzure\\Blob\\Models\\ListContainersOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListContainersOptions.php',
2106
+ 'WindowsAzure\\Blob\\Models\\ListContainersResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListContainersResult.php',
2107
+ 'WindowsAzure\\Blob\\Models\\ListPageBlobRangesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListPageBlobRangesOptions.php',
2108
+ 'WindowsAzure\\Blob\\Models\\ListPageBlobRangesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListPageBlobRangesResult.php',
2109
+ 'WindowsAzure\\Blob\\Models\\PageRange' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/PageRange.php',
2110
+ 'WindowsAzure\\Blob\\Models\\PageWriteOption' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/PageWriteOption.php',
2111
+ 'WindowsAzure\\Blob\\Models\\PublicAccessType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/PublicAccessType.php',
2112
+ 'WindowsAzure\\Blob\\Models\\SetBlobMetadataOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobMetadataOptions.php',
2113
+ 'WindowsAzure\\Blob\\Models\\SetBlobMetadataResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobMetadataResult.php',
2114
+ 'WindowsAzure\\Blob\\Models\\SetBlobPropertiesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobPropertiesOptions.php',
2115
+ 'WindowsAzure\\Blob\\Models\\SetBlobPropertiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobPropertiesResult.php',
2116
+ 'WindowsAzure\\Blob\\Models\\SetContainerMetadataOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetContainerMetadataOptions.php',
2117
+ 'WindowsAzure\\Blob\\Models\\SignedIdentifier' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SignedIdentifier.php',
2118
+ 'WindowsAzure\\Common\\CloudConfigurationManager' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/CloudConfigurationManager.php',
2119
+ 'WindowsAzure\\Common\\Internal\\Atom\\AtomBase' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/AtomBase.php',
2120
+ 'WindowsAzure\\Common\\Internal\\Atom\\AtomLink' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/AtomLink.php',
2121
+ 'WindowsAzure\\Common\\Internal\\Atom\\Category' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Category.php',
2122
+ 'WindowsAzure\\Common\\Internal\\Atom\\Content' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Content.php',
2123
+ 'WindowsAzure\\Common\\Internal\\Atom\\Entry' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Entry.php',
2124
+ 'WindowsAzure\\Common\\Internal\\Atom\\Feed' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Feed.php',
2125
+ 'WindowsAzure\\Common\\Internal\\Atom\\Generator' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Generator.php',
2126
+ 'WindowsAzure\\Common\\Internal\\Atom\\Person' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Person.php',
2127
+ 'WindowsAzure\\Common\\Internal\\Atom\\Source' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Source.php',
2128
+ 'WindowsAzure\\Common\\Internal\\Authentication\\IAuthScheme' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/IAuthScheme.php',
2129
+ 'WindowsAzure\\Common\\Internal\\Authentication\\OAuthScheme' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/OAuthScheme.php',
2130
+ 'WindowsAzure\\Common\\Internal\\Authentication\\SharedKeyAuthScheme' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/SharedKeyAuthScheme.php',
2131
+ 'WindowsAzure\\Common\\Internal\\Authentication\\StorageAuthScheme' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/StorageAuthScheme.php',
2132
+ 'WindowsAzure\\Common\\Internal\\Authentication\\TableSharedKeyLiteAuthScheme' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php',
2133
+ 'WindowsAzure\\Common\\Internal\\ConnectionStringParser' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ConnectionStringParser.php',
2134
+ 'WindowsAzure\\Common\\Internal\\ConnectionStringSource' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ConnectionStringSource.php',
2135
+ 'WindowsAzure\\Common\\Internal\\FilterableService' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/FilterableService.php',
2136
+ 'WindowsAzure\\Common\\Internal\\Filters\\AuthenticationFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/AuthenticationFilter.php',
2137
+ 'WindowsAzure\\Common\\Internal\\Filters\\DateFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/DateFilter.php',
2138
+ 'WindowsAzure\\Common\\Internal\\Filters\\ExponentialRetryPolicy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/ExponentialRetryPolicy.php',
2139
+ 'WindowsAzure\\Common\\Internal\\Filters\\HeadersFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/HeadersFilter.php',
2140
+ 'WindowsAzure\\Common\\Internal\\Filters\\RetryPolicy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/RetryPolicy.php',
2141
+ 'WindowsAzure\\Common\\Internal\\Filters\\RetryPolicyFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/RetryPolicyFilter.php',
2142
+ 'WindowsAzure\\Common\\Internal\\Filters\\WrapFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/WrapFilter.php',
2143
+ 'WindowsAzure\\Common\\Internal\\Http\\BatchRequest' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/BatchRequest.php',
2144
+ 'WindowsAzure\\Common\\Internal\\Http\\BatchResponse' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/BatchResponse.php',
2145
+ 'WindowsAzure\\Common\\Internal\\Http\\HttpCallContext' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/HttpCallContext.php',
2146
+ 'WindowsAzure\\Common\\Internal\\Http\\HttpClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/HttpClient.php',
2147
+ 'WindowsAzure\\Common\\Internal\\Http\\IHttpClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/IHttpClient.php',
2148
+ 'WindowsAzure\\Common\\Internal\\Http\\IUrl' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/IUrl.php',
2149
+ 'WindowsAzure\\Common\\Internal\\Http\\Url' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/Url.php',
2150
+ 'WindowsAzure\\Common\\Internal\\IServiceFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/IServiceFilter.php',
2151
+ 'WindowsAzure\\Common\\Internal\\InvalidArgumentTypeException' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/InvalidArgumentTypeException.php',
2152
+ 'WindowsAzure\\Common\\Internal\\Logger' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Logger.php',
2153
+ 'WindowsAzure\\Common\\Internal\\MediaServicesSettings' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/MediaServicesSettings.php',
2154
+ 'WindowsAzure\\Common\\Internal\\OAuthRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/OAuthRestProxy.php',
2155
+ 'WindowsAzure\\Common\\Internal\\ParserState' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ConnectionStringParser.php',
2156
+ 'WindowsAzure\\Common\\Internal\\Resources' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Resources.php',
2157
+ 'WindowsAzure\\Common\\Internal\\RestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/RestProxy.php',
2158
+ 'WindowsAzure\\Common\\Internal\\Serialization\\ISerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Serialization/ISerializer.php',
2159
+ 'WindowsAzure\\Common\\Internal\\Serialization\\JsonSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Serialization/JsonSerializer.php',
2160
+ 'WindowsAzure\\Common\\Internal\\Serialization\\XmlSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Serialization/XmlSerializer.php',
2161
+ 'WindowsAzure\\Common\\Internal\\ServiceBusSettings' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceBusSettings.php',
2162
+ 'WindowsAzure\\Common\\Internal\\ServiceManagementSettings' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceManagementSettings.php',
2163
+ 'WindowsAzure\\Common\\Internal\\ServiceRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceRestProxy.php',
2164
+ 'WindowsAzure\\Common\\Internal\\ServiceSettings' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceSettings.php',
2165
+ 'WindowsAzure\\Common\\Internal\\StorageServiceSettings' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/StorageServiceSettings.php',
2166
+ 'WindowsAzure\\Common\\Internal\\Utilities' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Utilities.php',
2167
+ 'WindowsAzure\\Common\\Internal\\Validate' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Validate.php',
2168
+ 'WindowsAzure\\Common\\Models\\GetServicePropertiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Models/GetServicePropertiesResult.php',
2169
+ 'WindowsAzure\\Common\\Models\\Logging' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Models/Logging.php',
2170
+ 'WindowsAzure\\Common\\Models\\Metrics' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Models/Metrics.php',
2171
+ 'WindowsAzure\\Common\\Models\\OAuthAccessToken' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Models/OAuthAccessToken.php',
2172
+ 'WindowsAzure\\Common\\Models\\RetentionPolicy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Models/RetentionPolicy.php',
2173
+ 'WindowsAzure\\Common\\Models\\ServiceProperties' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/Models/ServiceProperties.php',
2174
+ 'WindowsAzure\\Common\\ServiceException' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/ServiceException.php',
2175
+ 'WindowsAzure\\Common\\ServicesBuilder' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Common/ServicesBuilder.php',
2176
+ 'WindowsAzure\\MediaServices\\Internal\\ContentPropertiesSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Internal/ContentPropertiesSerializer.php',
2177
+ 'WindowsAzure\\MediaServices\\Internal\\IMediaServices' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Internal/IMediaServices.php',
2178
+ 'WindowsAzure\\MediaServices\\MediaServicesRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/MediaServicesRestProxy.php',
2179
+ 'WindowsAzure\\MediaServices\\Models\\AccessPolicy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AccessPolicy.php',
2180
+ 'WindowsAzure\\MediaServices\\Models\\Asset' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Asset.php',
2181
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryPolicy.php',
2182
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyConfigurationKey' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryPolicyConfigurationKey.php',
2183
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryPolicyType.php',
2184
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryProtocol' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryProtocol.php',
2185
+ 'WindowsAzure\\MediaServices\\Models\\AssetFile' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetFile.php',
2186
+ 'WindowsAzure\\MediaServices\\Models\\ContentKey' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKey.php',
2187
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyAuthorizationPolicy.php',
2188
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyOption' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyAuthorizationPolicyOption.php',
2189
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyRestriction' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyAuthorizationPolicyRestriction.php',
2190
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyDeliveryType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyDeliveryType.php',
2191
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyRestrictionType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyRestrictionType.php',
2192
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyTypes' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyTypes.php',
2193
+ 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnit' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/EncodingReservedUnit.php',
2194
+ 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnitType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/EncodingReservedUnitType.php',
2195
+ 'WindowsAzure\\MediaServices\\Models\\EncryptionSchemes' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/EncryptionSchemes.php',
2196
+ 'WindowsAzure\\MediaServices\\Models\\ErrorDetail' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ErrorDetail.php',
2197
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifest' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifest.php',
2198
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifestAsset' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifestAsset.php',
2199
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifestFile' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifestFile.php',
2200
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifestStatistics' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifestStatistics.php',
2201
+ 'WindowsAzure\\MediaServices\\Models\\Job' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Job.php',
2202
+ 'WindowsAzure\\MediaServices\\Models\\JobTemplate' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/JobTemplate.php',
2203
+ 'WindowsAzure\\MediaServices\\Models\\Locator' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Locator.php',
2204
+ 'WindowsAzure\\MediaServices\\Models\\MediaProcessor' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/MediaProcessor.php',
2205
+ 'WindowsAzure\\MediaServices\\Models\\ProtectionKeyTypes' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ProtectionKeyTypes.php',
2206
+ 'WindowsAzure\\MediaServices\\Models\\StorageAccount' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/StorageAccount.php',
2207
+ 'WindowsAzure\\MediaServices\\Models\\Task' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Task.php',
2208
+ 'WindowsAzure\\MediaServices\\Models\\TaskHistoricalEvent' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/TaskHistoricalEvent.php',
2209
+ 'WindowsAzure\\MediaServices\\Models\\TaskOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/TaskOptions.php',
2210
+ 'WindowsAzure\\MediaServices\\Models\\TaskTemplate' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/TaskTemplate.php',
2211
+ 'WindowsAzure\\MediaServices\\Templates\\AgcAndColorStripeRestriction' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/AgcAndColorStripeRestriction.php',
2212
+ 'WindowsAzure\\MediaServices\\Templates\\AllowedTrackTypes' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/AllowedTrackTypes.php',
2213
+ 'WindowsAzure\\MediaServices\\Templates\\AsymmetricTokenVerificationKey' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/AsymmetricTokenVerificationKey.php',
2214
+ 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromHeader' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ContentEncryptionKeyFromHeader.php',
2215
+ 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromKeyIdentifier' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ContentEncryptionKeyFromKeyIdentifier.php',
2216
+ 'WindowsAzure\\MediaServices\\Templates\\ContentKeySpecs' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ContentKeySpecs.php',
2217
+ 'WindowsAzure\\MediaServices\\Templates\\ErrorMessages' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ErrorMessages.php',
2218
+ 'WindowsAzure\\MediaServices\\Templates\\ExplicitAnalogTelevisionRestriction' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ExplicitAnalogTelevisionRestriction.php',
2219
+ 'WindowsAzure\\MediaServices\\Templates\\Hdcp' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/Hdcp.php',
2220
+ 'WindowsAzure\\MediaServices\\Templates\\MediaServicesLicenseTemplateSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/MediaServicesLicenseTemplateSerializer.php',
2221
+ 'WindowsAzure\\MediaServices\\Templates\\OpenIdConnectDiscoveryDocument' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/OpenIdConnectDiscoveryDocument.php',
2222
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyContentKey' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyContentKey.php',
2223
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseResponseTemplate' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyLicenseResponseTemplate.php',
2224
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseTemplate' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyLicenseTemplate.php',
2225
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyLicenseType.php',
2226
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyPlayRight' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyPlayRight.php',
2227
+ 'WindowsAzure\\MediaServices\\Templates\\RequiredOutputProtection' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/RequiredOutputProtection.php',
2228
+ 'WindowsAzure\\MediaServices\\Templates\\ScmsRestriction' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ScmsRestriction.php',
2229
+ 'WindowsAzure\\MediaServices\\Templates\\SymmetricVerificationKey' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/SymmetricVerificationKey.php',
2230
+ 'WindowsAzure\\MediaServices\\Templates\\TokenClaim' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenClaim.php',
2231
+ 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplate' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenRestrictionTemplate.php',
2232
+ 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplateSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenRestrictionTemplateSerializer.php',
2233
+ 'WindowsAzure\\MediaServices\\Templates\\TokenType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenType.php',
2234
+ 'WindowsAzure\\MediaServices\\Templates\\TokenVerificationKey' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenVerificationKey.php',
2235
+ 'WindowsAzure\\MediaServices\\Templates\\UnknownOutputPassingOption' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/UnknownOutputPassingOption.php',
2236
+ 'WindowsAzure\\MediaServices\\Templates\\WidevineMessage' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/WidevineMessage.php',
2237
+ 'WindowsAzure\\MediaServices\\Templates\\WidevineMessageSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/WidevineMessageSerializer.php',
2238
+ 'WindowsAzure\\MediaServices\\Templates\\X509CertTokenVerificationKey' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/X509CertTokenVerificationKey.php',
2239
+ 'WindowsAzure\\Queue\\Internal\\IQueue' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Internal/IQueue.php',
2240
+ 'WindowsAzure\\Queue\\Models\\CreateMessageOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/CreateMessageOptions.php',
2241
+ 'WindowsAzure\\Queue\\Models\\CreateQueueOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/CreateQueueOptions.php',
2242
+ 'WindowsAzure\\Queue\\Models\\GetQueueMetadataResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/GetQueueMetadataResult.php',
2243
+ 'WindowsAzure\\Queue\\Models\\ListMessagesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListMessagesOptions.php',
2244
+ 'WindowsAzure\\Queue\\Models\\ListMessagesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListMessagesResult.php',
2245
+ 'WindowsAzure\\Queue\\Models\\ListQueuesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListQueuesOptions.php',
2246
+ 'WindowsAzure\\Queue\\Models\\ListQueuesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListQueuesResult.php',
2247
+ 'WindowsAzure\\Queue\\Models\\PeekMessagesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/PeekMessagesOptions.php',
2248
+ 'WindowsAzure\\Queue\\Models\\PeekMessagesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/PeekMessagesResult.php',
2249
+ 'WindowsAzure\\Queue\\Models\\Queue' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/Queue.php',
2250
+ 'WindowsAzure\\Queue\\Models\\QueueMessage' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/QueueMessage.php',
2251
+ 'WindowsAzure\\Queue\\Models\\QueueServiceOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/QueueServiceOptions.php',
2252
+ 'WindowsAzure\\Queue\\Models\\UpdateMessageResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/UpdateMessageResult.php',
2253
+ 'WindowsAzure\\Queue\\Models\\WindowsAzureQueueMessage' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/Models/WindowsAzureQueueMessage.php',
2254
+ 'WindowsAzure\\Queue\\QueueRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Queue/QueueRestProxy.php',
2255
+ 'WindowsAzure\\ServiceBus\\Internal\\Action' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/Action.php',
2256
+ 'WindowsAzure\\ServiceBus\\Internal\\ActiveToken' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/ActiveToken.php',
2257
+ 'WindowsAzure\\ServiceBus\\Internal\\Filter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/Filter.php',
2258
+ 'WindowsAzure\\ServiceBus\\Internal\\IServiceBus' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/IServiceBus.php',
2259
+ 'WindowsAzure\\ServiceBus\\Internal\\IWrap' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/IWrap.php',
2260
+ 'WindowsAzure\\ServiceBus\\Internal\\WrapAccessTokenResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/WrapAccessTokenResult.php',
2261
+ 'WindowsAzure\\ServiceBus\\Internal\\WrapRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/WrapRestProxy.php',
2262
+ 'WindowsAzure\\ServiceBus\\Internal\\WrapTokenManager' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/WrapTokenManager.php',
2263
+ 'WindowsAzure\\ServiceBus\\Models\\BrokerProperties' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/BrokerProperties.php',
2264
+ 'WindowsAzure\\ServiceBus\\Models\\BrokeredMessage' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/BrokeredMessage.php',
2265
+ 'WindowsAzure\\ServiceBus\\Models\\CorrelationFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/CorrelationFilter.php',
2266
+ 'WindowsAzure\\ServiceBus\\Models\\EmptyRuleAction' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/EmptyRuleAction.php',
2267
+ 'WindowsAzure\\ServiceBus\\Models\\FalseFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/FalseFilter.php',
2268
+ 'WindowsAzure\\ServiceBus\\Models\\ListOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListOptions.php',
2269
+ 'WindowsAzure\\ServiceBus\\Models\\ListQueuesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListQueuesOptions.php',
2270
+ 'WindowsAzure\\ServiceBus\\Models\\ListQueuesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListQueuesResult.php',
2271
+ 'WindowsAzure\\ServiceBus\\Models\\ListRulesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListRulesOptions.php',
2272
+ 'WindowsAzure\\ServiceBus\\Models\\ListRulesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListRulesResult.php',
2273
+ 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListSubscriptionsOptions.php',
2274
+ 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListSubscriptionsResult.php',
2275
+ 'WindowsAzure\\ServiceBus\\Models\\ListTopicsOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListTopicsOptions.php',
2276
+ 'WindowsAzure\\ServiceBus\\Models\\ListTopicsResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListTopicsResult.php',
2277
+ 'WindowsAzure\\ServiceBus\\Models\\QueueDescription' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/QueueDescription.php',
2278
+ 'WindowsAzure\\ServiceBus\\Models\\QueueInfo' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/QueueInfo.php',
2279
+ 'WindowsAzure\\ServiceBus\\Models\\ReceiveMessageOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ReceiveMessageOptions.php',
2280
+ 'WindowsAzure\\ServiceBus\\Models\\ReceiveMode' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ReceiveMode.php',
2281
+ 'WindowsAzure\\ServiceBus\\Models\\RuleDescription' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/RuleDescription.php',
2282
+ 'WindowsAzure\\ServiceBus\\Models\\RuleInfo' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/RuleInfo.php',
2283
+ 'WindowsAzure\\ServiceBus\\Models\\SqlFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SqlFilter.php',
2284
+ 'WindowsAzure\\ServiceBus\\Models\\SqlRuleAction' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SqlRuleAction.php',
2285
+ 'WindowsAzure\\ServiceBus\\Models\\SubscriptionDescription' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SubscriptionDescription.php',
2286
+ 'WindowsAzure\\ServiceBus\\Models\\SubscriptionInfo' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SubscriptionInfo.php',
2287
+ 'WindowsAzure\\ServiceBus\\Models\\TopicDescription' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/TopicDescription.php',
2288
+ 'WindowsAzure\\ServiceBus\\Models\\TopicInfo' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/TopicInfo.php',
2289
+ 'WindowsAzure\\ServiceBus\\Models\\TrueFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/TrueFilter.php',
2290
+ 'WindowsAzure\\ServiceBus\\ServiceBusRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceBus/ServiceBusRestProxy.php',
2291
+ 'WindowsAzure\\ServiceManagement\\Internal\\IServiceManagement' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Internal/IServiceManagement.php',
2292
+ 'WindowsAzure\\ServiceManagement\\Internal\\Service' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Internal/Service.php',
2293
+ 'WindowsAzure\\ServiceManagement\\Internal\\WindowsAzureService' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Internal/WindowsAzureService.php',
2294
+ 'WindowsAzure\\ServiceManagement\\Models\\AffinityGroup' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/AffinityGroup.php',
2295
+ 'WindowsAzure\\ServiceManagement\\Models\\AsynchronousOperationResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/AsynchronousOperationResult.php',
2296
+ 'WindowsAzure\\ServiceManagement\\Models\\ChangeDeploymentConfigurationOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ChangeDeploymentConfigurationOptions.php',
2297
+ 'WindowsAzure\\ServiceManagement\\Models\\CreateAffinityGroupOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/CreateAffinityGroupOptions.php',
2298
+ 'WindowsAzure\\ServiceManagement\\Models\\CreateDeploymentOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/CreateDeploymentOptions.php',
2299
+ 'WindowsAzure\\ServiceManagement\\Models\\CreateServiceOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/CreateServiceOptions.php',
2300
+ 'WindowsAzure\\ServiceManagement\\Models\\Deployment' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Deployment.php',
2301
+ 'WindowsAzure\\ServiceManagement\\Models\\DeploymentSlot' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/DeploymentSlot.php',
2302
+ 'WindowsAzure\\ServiceManagement\\Models\\DeploymentStatus' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/DeploymentStatus.php',
2303
+ 'WindowsAzure\\ServiceManagement\\Models\\GetAffinityGroupPropertiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetAffinityGroupPropertiesResult.php',
2304
+ 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetDeploymentOptions.php',
2305
+ 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetDeploymentResult.php',
2306
+ 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetHostedServicePropertiesOptions.php',
2307
+ 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetHostedServicePropertiesResult.php',
2308
+ 'WindowsAzure\\ServiceManagement\\Models\\GetOperationStatusResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetOperationStatusResult.php',
2309
+ 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServiceKeysResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetStorageServiceKeysResult.php',
2310
+ 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServicePropertiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetStorageServicePropertiesResult.php',
2311
+ 'WindowsAzure\\ServiceManagement\\Models\\HostedService' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/HostedService.php',
2312
+ 'WindowsAzure\\ServiceManagement\\Models\\InputEndpoint' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/InputEndpoint.php',
2313
+ 'WindowsAzure\\ServiceManagement\\Models\\KeyType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/KeyType.php',
2314
+ 'WindowsAzure\\ServiceManagement\\Models\\ListAffinityGroupsResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListAffinityGroupsResult.php',
2315
+ 'WindowsAzure\\ServiceManagement\\Models\\ListHostedServicesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListHostedServicesResult.php',
2316
+ 'WindowsAzure\\ServiceManagement\\Models\\ListLocationsResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListLocationsResult.php',
2317
+ 'WindowsAzure\\ServiceManagement\\Models\\ListStorageServicesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListStorageServicesResult.php',
2318
+ 'WindowsAzure\\ServiceManagement\\Models\\Location' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Location.php',
2319
+ 'WindowsAzure\\ServiceManagement\\Models\\Mode' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Mode.php',
2320
+ 'WindowsAzure\\ServiceManagement\\Models\\OperationStatus' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/OperationStatus.php',
2321
+ 'WindowsAzure\\ServiceManagement\\Models\\Role' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Role.php',
2322
+ 'WindowsAzure\\ServiceManagement\\Models\\RoleInstance' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/RoleInstance.php',
2323
+ 'WindowsAzure\\ServiceManagement\\Models\\StorageService' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/StorageService.php',
2324
+ 'WindowsAzure\\ServiceManagement\\Models\\UpdateServiceOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/UpdateServiceOptions.php',
2325
+ 'WindowsAzure\\ServiceManagement\\Models\\UpgradeDeploymentOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/UpgradeDeploymentOptions.php',
2326
+ 'WindowsAzure\\ServiceManagement\\Models\\UpgradeStatus' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/UpgradeStatus.php',
2327
+ 'WindowsAzure\\ServiceManagement\\ServiceManagementRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/ServiceManagementRestProxy.php',
2328
+ 'WindowsAzure\\ServiceRuntime\\Internal\\AcquireCurrentState' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/AcquireCurrentState.php',
2329
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ChannelNotAvailableException' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ChannelNotAvailableException.php',
2330
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ChunkedGoalStateDeserializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ChunkedGoalStateDeserializer.php',
2331
+ 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentState' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/CurrentState.php',
2332
+ 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentStatus' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/CurrentStatus.php',
2333
+ 'WindowsAzure\\ServiceRuntime\\Internal\\FileInputChannel' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/FileInputChannel.php',
2334
+ 'WindowsAzure\\ServiceRuntime\\Internal\\FileOutputChannel' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/FileOutputChannel.php',
2335
+ 'WindowsAzure\\ServiceRuntime\\Internal\\GoalState' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/GoalState.php',
2336
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ICurrentStateSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ICurrentStateSerializer.php',
2337
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IGoalStateDeserializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IGoalStateDeserializer.php',
2338
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IInputChannel' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IInputChannel.php',
2339
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IOutputChannel' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IOutputChannel.php',
2340
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentChange' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRoleEnvironmentChange.php',
2341
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentDataDeserializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRoleEnvironmentDataDeserializer.php',
2342
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeClient.php',
2343
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClientFactory' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeClientFactory.php',
2344
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeCurrentStateClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeCurrentStateClient.php',
2345
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeGoalStateClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeGoalStateClient.php',
2346
+ 'WindowsAzure\\ServiceRuntime\\Internal\\LocalResource' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/LocalResource.php',
2347
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeClient.php',
2348
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClientFactory' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeClientFactory.php',
2349
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeCurrentStateClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeCurrentStateClient.php',
2350
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeGoalStateClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeGoalStateClient.php',
2351
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ReleaseCurrentState' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ReleaseCurrentState.php',
2352
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Role' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Role.php',
2353
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentConfigurationSettingChange' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentConfigurationSettingChange.php',
2354
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentData' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentData.php',
2355
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentNotAvailableException' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentNotAvailableException.php',
2356
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentTopologyChange' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentTopologyChange.php',
2357
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstance' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleInstance.php',
2358
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceEndpoint' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleInstanceEndpoint.php',
2359
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceStatus' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleInstanceStatus.php',
2360
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeKernel' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RuntimeKernel.php',
2361
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionManager' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RuntimeVersionManager.php',
2362
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionProtocolClient' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RuntimeVersionProtocolClient.php',
2363
+ 'WindowsAzure\\ServiceRuntime\\Internal\\XmlCurrentStateSerializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/XmlCurrentStateSerializer.php',
2364
+ 'WindowsAzure\\ServiceRuntime\\Internal\\XmlGoalStateDeserializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/XmlGoalStateDeserializer.php',
2365
+ 'WindowsAzure\\ServiceRuntime\\Internal\\XmlRoleEnvironmentDataDeserializer' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/XmlRoleEnvironmentDataDeserializer.php',
2366
+ 'WindowsAzure\\ServiceRuntime\\RoleEnvironment' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/RoleEnvironment.php',
2367
+ 'WindowsAzure\\Table\\Internal\\AtomReaderWriter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Internal/AtomReaderWriter.php',
2368
+ 'WindowsAzure\\Table\\Internal\\IAtomReaderWriter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Internal/IAtomReaderWriter.php',
2369
+ 'WindowsAzure\\Table\\Internal\\IMimeReaderWriter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Internal/IMimeReaderWriter.php',
2370
+ 'WindowsAzure\\Table\\Internal\\ITable' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Internal/ITable.php',
2371
+ 'WindowsAzure\\Table\\Internal\\MimeReaderWriter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Internal/MimeReaderWriter.php',
2372
+ 'WindowsAzure\\Table\\Models\\BatchError' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchError.php',
2373
+ 'WindowsAzure\\Table\\Models\\BatchOperation' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperation.php',
2374
+ 'WindowsAzure\\Table\\Models\\BatchOperationParameterName' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperationParameterName.php',
2375
+ 'WindowsAzure\\Table\\Models\\BatchOperationType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperationType.php',
2376
+ 'WindowsAzure\\Table\\Models\\BatchOperations' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperations.php',
2377
+ 'WindowsAzure\\Table\\Models\\BatchResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchResult.php',
2378
+ 'WindowsAzure\\Table\\Models\\DeleteEntityOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/DeleteEntityOptions.php',
2379
+ 'WindowsAzure\\Table\\Models\\EdmType' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/EdmType.php',
2380
+ 'WindowsAzure\\Table\\Models\\Entity' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Entity.php',
2381
+ 'WindowsAzure\\Table\\Models\\Filters\\BinaryFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/BinaryFilter.php',
2382
+ 'WindowsAzure\\Table\\Models\\Filters\\ConstantFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/ConstantFilter.php',
2383
+ 'WindowsAzure\\Table\\Models\\Filters\\Filter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/Filter.php',
2384
+ 'WindowsAzure\\Table\\Models\\Filters\\PropertyNameFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/PropertyNameFilter.php',
2385
+ 'WindowsAzure\\Table\\Models\\Filters\\QueryStringFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/QueryStringFilter.php',
2386
+ 'WindowsAzure\\Table\\Models\\Filters\\UnaryFilter' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/UnaryFilter.php',
2387
+ 'WindowsAzure\\Table\\Models\\GetEntityResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/GetEntityResult.php',
2388
+ 'WindowsAzure\\Table\\Models\\GetTableResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/GetTableResult.php',
2389
+ 'WindowsAzure\\Table\\Models\\InsertEntityResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/InsertEntityResult.php',
2390
+ 'WindowsAzure\\Table\\Models\\Property' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Property.php',
2391
+ 'WindowsAzure\\Table\\Models\\Query' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/Query.php',
2392
+ 'WindowsAzure\\Table\\Models\\QueryEntitiesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryEntitiesOptions.php',
2393
+ 'WindowsAzure\\Table\\Models\\QueryEntitiesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryEntitiesResult.php',
2394
+ 'WindowsAzure\\Table\\Models\\QueryTablesOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryTablesOptions.php',
2395
+ 'WindowsAzure\\Table\\Models\\QueryTablesResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryTablesResult.php',
2396
+ 'WindowsAzure\\Table\\Models\\TableServiceOptions' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/TableServiceOptions.php',
2397
+ 'WindowsAzure\\Table\\Models\\UpdateEntityResult' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/Models/UpdateEntityResult.php',
2398
+ 'WindowsAzure\\Table\\TableRestProxy' => $vendorDir . '/microsoft/windowsazure/WindowsAzure/Table/TableRestProxy.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2399
  'mikemccabe\\JsonPatch\\JsonPatch' => $vendorDir . '/mikemccabe/json-patch-php/src/JsonPatch.php',
2400
  'mikemccabe\\JsonPatch\\JsonPatchException' => $vendorDir . '/mikemccabe/json-patch-php/src/JsonPatch.php',
2401
  );
vendor/composer/autoload_files.php CHANGED
@@ -7,8 +7,5 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  '2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
10
- 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
11
- 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
12
- '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
13
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
14
  );
7
 
8
  return array(
9
  '2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
 
 
 
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
11
  );
vendor/composer/autoload_namespaces.php CHANGED
@@ -9,9 +9,11 @@ return array(
9
  'Pimple' => array($vendorDir . '/pimple/pimple/src'),
10
  'PEAR' => array($vendorDir . '/pear/pear_exception'),
11
  'OpenCloud' => array($vendorDir . '/rackspace/php-opencloud/lib'),
 
12
  'Mail' => array($vendorDir . '/pear/mail_mime'),
13
- 'Guzzle\\Tests' => array($vendorDir . '/guzzle/guzzle/tests'),
14
- 'Guzzle' => array($vendorDir . '/guzzle/guzzle/src'),
 
15
  'Console' => array($vendorDir . '/pear/console_getopt'),
16
  'BackWPup_' => array($baseDir . '/inc'),
17
  'Aws' => array($vendorDir . '/aws/aws-sdk-php/src'),
9
  'Pimple' => array($vendorDir . '/pimple/pimple/src'),
10
  'PEAR' => array($vendorDir . '/pear/pear_exception'),
11
  'OpenCloud' => array($vendorDir . '/rackspace/php-opencloud/lib'),
12
+ 'Mail_mimeDecode' => array($vendorDir . '/pear/mail_mime-decode'),
13
  'Mail' => array($vendorDir . '/pear/mail_mime'),
14
+ 'HTTP_Request2' => array($vendorDir . '/pear/http_request2'),
15
+ 'Guzzle\\Tests' => array($vendorDir . '/guzzle/guzzle/tests', $vendorDir . '/guzzlehttp/guzzle/tests'),
16
+ 'Guzzle' => array($vendorDir . '/guzzle/guzzle/src', $vendorDir . '/guzzlehttp/guzzle/src'),
17
  'Console' => array($vendorDir . '/pear/console_getopt'),
18
  'BackWPup_' => array($baseDir . '/inc'),
19
  'Aws' => array($vendorDir . '/aws/aws-sdk-php/src'),
vendor/composer/autoload_psr4.php CHANGED
@@ -7,26 +7,15 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  'mikemccabe\\JsonPatch\\' => array($vendorDir . '/mikemccabe/json-patch-php/src'),
10
- 'Zend\\Validator\\' => array($vendorDir . '/zendframework/zend-validator/src'),
11
- 'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib/src'),
12
- 'Zend\\Mime\\' => array($vendorDir . '/zendframework/zend-mime/src'),
13
- 'Zend\\Mail\\' => array($vendorDir . '/zendframework/zend-mail/src'),
14
- 'Zend\\Loader\\' => array($vendorDir . '/zendframework/zend-loader/src'),
15
- 'WindowsAzure\\' => array($vendorDir . '/microsoft/windowsazure/src'),
16
  'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
17
  'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
18
  'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
19
  'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
20
- 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
21
  'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
22
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
23
- 'MicrosoftAzure\\Storage\\' => array($vendorDir . '/microsoft/azure-storage/src'),
24
- 'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'),
25
  'Inpsyde\\BackWPup\\Tests\\' => array($baseDir . '/tests/php'),
26
  'Inpsyde\\BackWPup\\' => array($baseDir . '/inc'),
27
- 'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
28
- 'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
29
- 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
30
  'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
31
  'Base32\\' => array($vendorDir . '/christian-riesen/base32/src'),
32
  );
7
 
8
  return array(
9
  'mikemccabe\\JsonPatch\\' => array($vendorDir . '/mikemccabe/json-patch-php/src'),
10
+ 'WindowsAzure\\' => array($vendorDir . '/microsoft/windowsazure/WindowsAzure'),
 
 
 
 
 
11
  'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
12
  'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
13
  'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
14
  'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
 
15
  'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
16
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
 
 
17
  'Inpsyde\\BackWPup\\Tests\\' => array($baseDir . '/tests/php'),
18
  'Inpsyde\\BackWPup\\' => array($baseDir . '/inc'),
 
 
 
19
  'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
20
  'Base32\\' => array($vendorDir . '/christian-riesen/base32/src'),
21
  );
vendor/composer/autoload_static.php CHANGED
@@ -8,9 +8,6 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
8
  {
9
  public static $files = array (
10
  '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
11
- 'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
12
- 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
13
- '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
14
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
15
  );
16
 
@@ -19,14 +16,6 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
19
  array (
20
  'mikemccabe\\JsonPatch\\' => 21,
21
  ),
22
- 'Z' =>
23
- array (
24
- 'Zend\\Validator\\' => 15,
25
- 'Zend\\Stdlib\\' => 12,
26
- 'Zend\\Mime\\' => 10,
27
- 'Zend\\Mail\\' => 10,
28
- 'Zend\\Loader\\' => 12,
29
- ),
30
  'W' =>
31
  array (
32
  'WindowsAzure\\' => 13,
@@ -40,26 +29,17 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
40
  'P' =>
41
  array (
42
  'Psr\\Log\\' => 8,
43
- 'Psr\\Http\\Message\\' => 17,
44
  'Psr\\Container\\' => 14,
45
  ),
46
  'M' =>
47
  array (
48
  'Monolog\\' => 8,
49
- 'MicrosoftAzure\\Storage\\' => 23,
50
  ),
51
  'I' =>
52
  array (
53
- 'Interop\\Container\\' => 18,
54
  'Inpsyde\\BackWPup\\Tests\\' => 23,
55
  'Inpsyde\\BackWPup\\' => 17,
56
  ),
57
- 'G' =>
58
- array (
59
- 'GuzzleHttp\\Psr7\\' => 16,
60
- 'GuzzleHttp\\Promise\\' => 19,
61
- 'GuzzleHttp\\' => 11,
62
- ),
63
  'F' =>
64
  array (
65
  'Firebase\\JWT\\' => 13,
@@ -75,29 +55,9 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
75
  array (
76
  0 => __DIR__ . '/..' . '/mikemccabe/json-patch-php/src',
77
  ),
78
- 'Zend\\Validator\\' =>
79
- array (
80
- 0 => __DIR__ . '/..' . '/zendframework/zend-validator/src',
81
- ),
82
- 'Zend\\Stdlib\\' =>
83
- array (
84
- 0 => __DIR__ . '/..' . '/zendframework/zend-stdlib/src',
85
- ),
86
- 'Zend\\Mime\\' =>
87
- array (
88
- 0 => __DIR__ . '/..' . '/zendframework/zend-mime/src',
89
- ),
90
- 'Zend\\Mail\\' =>
91
- array (
92
- 0 => __DIR__ . '/..' . '/zendframework/zend-mail/src',
93
- ),
94
- 'Zend\\Loader\\' =>
95
- array (
96
- 0 => __DIR__ . '/..' . '/zendframework/zend-loader/src',
97
- ),
98
  'WindowsAzure\\' =>
99
  array (
100
- 0 => __DIR__ . '/..' . '/microsoft/windowsazure/src',
101
  ),
102
  'Symfony\\Polyfill\\Mbstring\\' =>
103
  array (
@@ -115,10 +75,6 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
115
  array (
116
  0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
117
  ),
118
- 'Psr\\Http\\Message\\' =>
119
- array (
120
- 0 => __DIR__ . '/..' . '/psr/http-message/src',
121
- ),
122
  'Psr\\Container\\' =>
123
  array (
124
  0 => __DIR__ . '/..' . '/psr/container/src',
@@ -127,14 +83,6 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
127
  array (
128
  0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog',
129
  ),
130
- 'MicrosoftAzure\\Storage\\' =>
131
- array (
132
- 0 => __DIR__ . '/..' . '/microsoft/azure-storage/src',
133
- ),
134
- 'Interop\\Container\\' =>
135
- array (
136
- 0 => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container',
137
- ),
138
  'Inpsyde\\BackWPup\\Tests\\' =>
139
  array (
140
  0 => __DIR__ . '/../..' . '/tests/php',
@@ -143,18 +91,6 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
143
  array (
144
  0 => __DIR__ . '/../..' . '/inc',
145
  ),
146
- 'GuzzleHttp\\Psr7\\' =>
147
- array (
148
- 0 => __DIR__ . '/..' . '/guzzlehttp/psr7/src',
149
- ),
150
- 'GuzzleHttp\\Promise\\' =>
151
- array (
152
- 0 => __DIR__ . '/..' . '/guzzlehttp/promises/src',
153
- ),
154
- 'GuzzleHttp\\' =>
155
- array (
156
- 0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
157
- ),
158
  'Firebase\\JWT\\' =>
159
  array (
160
  0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
@@ -186,20 +122,33 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
186
  ),
187
  'M' =>
188
  array (
 
 
 
 
189
  'Mail' =>
190
  array (
191
  0 => __DIR__ . '/..' . '/pear/mail_mime',
192
  ),
193
  ),
 
 
 
 
 
 
 
194
  'G' =>
195
  array (
196
  'Guzzle\\Tests' =>
197
  array (
198
  0 => __DIR__ . '/..' . '/guzzle/guzzle/tests',
 
199
  ),
200
  'Guzzle' =>
201
  array (
202
  0 => __DIR__ . '/..' . '/guzzle/guzzle/src',
 
203
  ),
204
  ),
205
  'C' =>
@@ -1301,74 +1250,6 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
1301
  'Firebase\\JWT\\ExpiredException' => __DIR__ . '/..' . '/firebase/php-jwt/src/ExpiredException.php',
1302
  'Firebase\\JWT\\JWT' => __DIR__ . '/..' . '/firebase/php-jwt/src/JWT.php',
1303
  'Firebase\\JWT\\SignatureInvalidException' => __DIR__ . '/..' . '/firebase/php-jwt/src/SignatureInvalidException.php',
1304
- 'GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php',
1305
- 'GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php',
1306
- 'GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php',
1307
- 'GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php',
1308
- 'GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php',
1309
- 'GuzzleHttp\\Cookie\\SessionCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php',
1310
- 'GuzzleHttp\\Cookie\\SetCookie' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php',
1311
- 'GuzzleHttp\\Exception\\BadResponseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php',
1312
- 'GuzzleHttp\\Exception\\ClientException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ClientException.php',
1313
- 'GuzzleHttp\\Exception\\ConnectException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ConnectException.php',
1314
- 'GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php',
1315
- 'GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/RequestException.php',
1316
- 'GuzzleHttp\\Exception\\SeekException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/SeekException.php',
1317
- 'GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ServerException.php',
1318
- 'GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php',
1319
- 'GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TransferException.php',
1320
- 'GuzzleHttp\\HandlerStack' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/HandlerStack.php',
1321
- 'GuzzleHttp\\Handler\\CurlFactory' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php',
1322
- 'GuzzleHttp\\Handler\\CurlFactoryInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php',
1323
- 'GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php',
1324
- 'GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php',
1325
- 'GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php',
1326
- 'GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/MockHandler.php',
1327
- 'GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/Proxy.php',
1328
- 'GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php',
1329
- 'GuzzleHttp\\MessageFormatter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatter.php',
1330
- 'GuzzleHttp\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Middleware.php',
1331
- 'GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php',
1332
- 'GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php',
1333
- 'GuzzleHttp\\Promise\\AggregateException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/AggregateException.php',
1334
- 'GuzzleHttp\\Promise\\CancellationException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/CancellationException.php',
1335
- 'GuzzleHttp\\Promise\\Coroutine' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Coroutine.php',
1336
- 'GuzzleHttp\\Promise\\EachPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/EachPromise.php',
1337
- 'GuzzleHttp\\Promise\\FulfilledPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/FulfilledPromise.php',
1338
- 'GuzzleHttp\\Promise\\Promise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Promise.php',
1339
- 'GuzzleHttp\\Promise\\PromiseInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromiseInterface.php',
1340
- 'GuzzleHttp\\Promise\\PromisorInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromisorInterface.php',
1341
- 'GuzzleHttp\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectedPromise.php',
1342
- 'GuzzleHttp\\Promise\\RejectionException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectionException.php',
1343
- 'GuzzleHttp\\Promise\\TaskQueue' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueue.php',
1344
- 'GuzzleHttp\\Promise\\TaskQueueInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueueInterface.php',
1345
- 'GuzzleHttp\\Psr7\\AppendStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/AppendStream.php',
1346
- 'GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php',
1347
- 'GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php',
1348
- 'GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php',
1349
- 'GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php',
1350
- 'GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php',
1351
- 'GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php',
1352
- 'GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php',
1353
- 'GuzzleHttp\\Psr7\\MessageTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MessageTrait.php',
1354
- 'GuzzleHttp\\Psr7\\MultipartStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MultipartStream.php',
1355
- 'GuzzleHttp\\Psr7\\NoSeekStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/NoSeekStream.php',
1356
- 'GuzzleHttp\\Psr7\\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/PumpStream.php',
1357
- 'GuzzleHttp\\Psr7\\Request' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Request.php',
1358
- 'GuzzleHttp\\Psr7\\Response' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Response.php',
1359
- 'GuzzleHttp\\Psr7\\ServerRequest' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/ServerRequest.php',
1360
- 'GuzzleHttp\\Psr7\\Stream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Stream.php',
1361
- 'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php',
1362
- 'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php',
1363
- 'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php',
1364
- 'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php',
1365
- 'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php',
1366
- 'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php',
1367
- 'GuzzleHttp\\RedirectMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RedirectMiddleware.php',
1368
- 'GuzzleHttp\\RequestOptions' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RequestOptions.php',
1369
- 'GuzzleHttp\\RetryMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
1370
- 'GuzzleHttp\\TransferStats' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/TransferStats.php',
1371
- 'GuzzleHttp\\UriTemplate' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/UriTemplate.php',
1372
  'Guzzle\\Batch\\AbstractBatchDecorator' => __DIR__ . '/..' . '/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php',
1373
  'Guzzle\\Batch\\Batch' => __DIR__ . '/..' . '/guzzle/guzzle/src/Guzzle/Batch/Batch.php',
1374
  'Guzzle\\Batch\\BatchBuilder' => __DIR__ . '/..' . '/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php',
@@ -1775,6 +1656,38 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
1775
  'Guzzle\\Tests\\Service\\ServiceBuilderTest' => __DIR__ . '/..' . '/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php',
1776
  'Guzzle\\Tests\\Stream\\PhpStreamRequestFactoryTest' => __DIR__ . '/..' . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php',
1777
  'Guzzle\\Tests\\Stream\\StreamTest' => __DIR__ . '/..' . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1778
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\Downloader' => __DIR__ . '/../..' . '/inc/Pro/Restore/LogDownloader/Downloader.php',
1779
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\DownloaderFactory' => __DIR__ . '/../..' . '/inc/Pro/Restore/LogDownloader/DownloaderFactory.php',
1780
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\View' => __DIR__ . '/../..' . '/inc/Pro/Restore/LogDownloader/View.php',
@@ -1810,201 +1723,9 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
1810
  'Inpsyde_PhoneHome_HttpClient' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/HttpClient.php',
1811
  'Inpsyde_PhoneHome_Template_Buttons' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Template/Buttons.php',
1812
  'Inpsyde_PhoneHome_Template_Loader' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Template/Loader.php',
1813
- 'Interop\\Container\\ContainerInterface' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/ContainerInterface.php',
1814
- 'Interop\\Container\\Exception\\ContainerException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php',
1815
- 'Interop\\Container\\Exception\\NotFoundException' => __DIR__ . '/..' . '/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php',
1816
  'Mail_mime' => __DIR__ . '/..' . '/pear/mail_mime/Mail/mime.php',
 
1817
  'Mail_mimePart' => __DIR__ . '/..' . '/pear/mail_mime/Mail/mimePart.php',
1818
- 'MicrosoftAzure\\Storage\\Blob\\BlobRestProxy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/BlobRestProxy.php',
1819
- 'MicrosoftAzure\\Storage\\Blob\\Internal\\IBlob' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Internal/IBlob.php',
1820
- 'MicrosoftAzure\\Storage\\Blob\\Models\\AccessCondition' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/AccessCondition.php',
1821
- 'MicrosoftAzure\\Storage\\Blob\\Models\\AppendBlockOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/AppendBlockOptions.php',
1822
- 'MicrosoftAzure\\Storage\\Blob\\Models\\AppendBlockResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/AppendBlockResult.php',
1823
- 'MicrosoftAzure\\Storage\\Blob\\Models\\Blob' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/Blob.php',
1824
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobBlockType' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/BlobBlockType.php',
1825
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobPrefix' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/BlobPrefix.php',
1826
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobProperties' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/BlobProperties.php',
1827
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobServiceOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/BlobServiceOptions.php',
1828
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobType' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/BlobType.php',
1829
- 'MicrosoftAzure\\Storage\\Blob\\Models\\Block' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/Block.php',
1830
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BlockList' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/BlockList.php',
1831
- 'MicrosoftAzure\\Storage\\Blob\\Models\\BreakLeaseResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/BreakLeaseResult.php',
1832
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CommitBlobBlocksOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CommitBlobBlocksOptions.php',
1833
- 'MicrosoftAzure\\Storage\\Blob\\Models\\Container' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/Container.php',
1834
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ContainerACL' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ContainerACL.php',
1835
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ContainerProperties' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ContainerProperties.php',
1836
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyBlobFromURLOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CopyBlobFromURLOptions.php',
1837
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyBlobOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CopyBlobOptions.php',
1838
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyBlobResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CopyBlobResult.php',
1839
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CopyState' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CopyState.php',
1840
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobBlockOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CreateBlobBlockOptions.php',
1841
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CreateBlobOptions.php',
1842
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobPagesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CreateBlobPagesOptions.php',
1843
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobPagesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CreateBlobPagesResult.php',
1844
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobSnapshotOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CreateBlobSnapshotOptions.php',
1845
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateBlobSnapshotResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CreateBlobSnapshotResult.php',
1846
- 'MicrosoftAzure\\Storage\\Blob\\Models\\CreateContainerOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/CreateContainerOptions.php',
1847
- 'MicrosoftAzure\\Storage\\Blob\\Models\\DeleteBlobOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/DeleteBlobOptions.php',
1848
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobMetadataOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetBlobMetadataOptions.php',
1849
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobMetadataResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetBlobMetadataResult.php',
1850
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetBlobOptions.php',
1851
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobPropertiesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetBlobPropertiesOptions.php',
1852
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobPropertiesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetBlobPropertiesResult.php',
1853
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetBlobResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetBlobResult.php',
1854
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetContainerACLResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetContainerACLResult.php',
1855
- 'MicrosoftAzure\\Storage\\Blob\\Models\\GetContainerPropertiesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/GetContainerPropertiesResult.php',
1856
- 'MicrosoftAzure\\Storage\\Blob\\Models\\LeaseMode' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/LeaseMode.php',
1857
- 'MicrosoftAzure\\Storage\\Blob\\Models\\LeaseResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/LeaseResult.php',
1858
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobBlocksOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListBlobBlocksOptions.php',
1859
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobBlocksResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListBlobBlocksResult.php',
1860
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobsOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListBlobsOptions.php',
1861
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListBlobsResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListBlobsResult.php',
1862
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListContainersOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListContainersOptions.php',
1863
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListContainersResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListContainersResult.php',
1864
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListPageBlobRangesDiffResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListPageBlobRangesDiffResult.php',
1865
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListPageBlobRangesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListPageBlobRangesOptions.php',
1866
- 'MicrosoftAzure\\Storage\\Blob\\Models\\ListPageBlobRangesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/ListPageBlobRangesResult.php',
1867
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PageWriteOption' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/PageWriteOption.php',
1868
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PublicAccessType' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/PublicAccessType.php',
1869
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PutBlobResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/PutBlobResult.php',
1870
- 'MicrosoftAzure\\Storage\\Blob\\Models\\PutBlockResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/PutBlockResult.php',
1871
- 'MicrosoftAzure\\Storage\\Blob\\Models\\SetBlobMetadataResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/SetBlobMetadataResult.php',
1872
- 'MicrosoftAzure\\Storage\\Blob\\Models\\SetBlobPropertiesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/SetBlobPropertiesOptions.php',
1873
- 'MicrosoftAzure\\Storage\\Blob\\Models\\SetBlobPropertiesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Blob/Models/SetBlobPropertiesResult.php',
1874
- 'MicrosoftAzure\\Storage\\Common\\CloudConfigurationManager' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/CloudConfigurationManager.php',
1875
- 'MicrosoftAzure\\Storage\\Common\\Exceptions\\InvalidArgumentTypeException' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Exceptions/InvalidArgumentTypeException.php',
1876
- 'MicrosoftAzure\\Storage\\Common\\Exceptions\\ServiceException' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Exceptions/ServiceException.php',
1877
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ACLBase' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/ACLBase.php',
1878
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\IAuthScheme' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Authentication/IAuthScheme.php',
1879
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\SharedAccessSignatureAuthScheme' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Authentication/SharedAccessSignatureAuthScheme.php',
1880
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\SharedKeyAuthScheme' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Authentication/SharedKeyAuthScheme.php',
1881
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\TableSharedKeyLiteAuthScheme' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php',
1882
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ConnectionStringParser' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/ConnectionStringParser.php',
1883
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ConnectionStringSource' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/ConnectionStringSource.php',
1884
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Http\\HttpCallContext' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Http/HttpCallContext.php',
1885
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Http\\HttpFormatter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Http/HttpFormatter.php',
1886
- 'MicrosoftAzure\\Storage\\Common\\Internal\\MetadataTrait' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/MetadataTrait.php',
1887
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Middlewares\\CommonRequestMiddleware' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Middlewares/CommonRequestMiddleware.php',
1888
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Resources' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Resources.php',
1889
- 'MicrosoftAzure\\Storage\\Common\\Internal\\RestProxy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/RestProxy.php',
1890
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\ISerializer' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Serialization/ISerializer.php',
1891
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\JsonSerializer' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Serialization/JsonSerializer.php',
1892
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\MessageSerializer' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Serialization/MessageSerializer.php',
1893
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Serialization\\XmlSerializer' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Serialization/XmlSerializer.php',
1894
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestProxy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/ServiceRestProxy.php',
1895
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ServiceRestTrait' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/ServiceRestTrait.php',
1896
- 'MicrosoftAzure\\Storage\\Common\\Internal\\ServiceSettings' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/ServiceSettings.php',
1897
- 'MicrosoftAzure\\Storage\\Common\\Internal\\StorageServiceSettings' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/StorageServiceSettings.php',
1898
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Utilities' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Utilities.php',
1899
- 'MicrosoftAzure\\Storage\\Common\\Internal\\Validate' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Internal/Validate.php',
1900
- 'MicrosoftAzure\\Storage\\Common\\LocationMode' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/LocationMode.php',
1901
- 'MicrosoftAzure\\Storage\\Common\\Logger' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Logger.php',
1902
- 'MicrosoftAzure\\Storage\\Common\\MarkerContinuationTokenTrait' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/MarkerContinuationTokenTrait.php',
1903
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\HistoryMiddleware' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Middlewares/HistoryMiddleware.php',
1904
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\IMiddleware' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Middlewares/IMiddleware.php',
1905
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\MiddlewareBase' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Middlewares/MiddlewareBase.php',
1906
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\MiddlewareStack' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Middlewares/MiddlewareStack.php',
1907
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\RetryMiddleware' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Middlewares/RetryMiddleware.php',
1908
- 'MicrosoftAzure\\Storage\\Common\\Middlewares\\RetryMiddlewareFactory' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Middlewares/RetryMiddlewareFactory.php',
1909
- 'MicrosoftAzure\\Storage\\Common\\Models\\AccessPolicy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/AccessPolicy.php',
1910
- 'MicrosoftAzure\\Storage\\Common\\Models\\CORS' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/CORS.php',
1911
- 'MicrosoftAzure\\Storage\\Common\\Models\\ContinuationToken' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/ContinuationToken.php',
1912
- 'MicrosoftAzure\\Storage\\Common\\Models\\GetServicePropertiesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/GetServicePropertiesResult.php',
1913
- 'MicrosoftAzure\\Storage\\Common\\Models\\GetServiceStatsResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/GetServiceStatsResult.php',
1914
- 'MicrosoftAzure\\Storage\\Common\\Models\\Logging' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/Logging.php',
1915
- 'MicrosoftAzure\\Storage\\Common\\Models\\MarkerContinuationToken' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/MarkerContinuationToken.php',
1916
- 'MicrosoftAzure\\Storage\\Common\\Models\\Metrics' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/Metrics.php',
1917
- 'MicrosoftAzure\\Storage\\Common\\Models\\Range' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/Range.php',
1918
- 'MicrosoftAzure\\Storage\\Common\\Models\\RangeDiff' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/RangeDiff.php',
1919
- 'MicrosoftAzure\\Storage\\Common\\Models\\RetentionPolicy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/RetentionPolicy.php',
1920
- 'MicrosoftAzure\\Storage\\Common\\Models\\ServiceOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/ServiceOptions.php',
1921
- 'MicrosoftAzure\\Storage\\Common\\Models\\ServiceProperties' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/ServiceProperties.php',
1922
- 'MicrosoftAzure\\Storage\\Common\\Models\\SignedIdentifier' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/Models/SignedIdentifier.php',
1923
- 'MicrosoftAzure\\Storage\\Common\\ServicesBuilder' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/ServicesBuilder.php',
1924
- 'MicrosoftAzure\\Storage\\Common\\SharedAccessSignatureHelper' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Common/SharedAccessSignatureHelper.php',
1925
- 'MicrosoftAzure\\Storage\\File\\FileRestProxy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/FileRestProxy.php',
1926
- 'MicrosoftAzure\\Storage\\File\\Internal\\IFile' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Internal/IFile.php',
1927
- 'MicrosoftAzure\\Storage\\File\\Models\\CopyFileResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/CopyFileResult.php',
1928
- 'MicrosoftAzure\\Storage\\File\\Models\\CreateDirectoryOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/CreateDirectoryOptions.php',
1929
- 'MicrosoftAzure\\Storage\\File\\Models\\CreateFileOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/CreateFileOptions.php',
1930
- 'MicrosoftAzure\\Storage\\File\\Models\\CreateShareOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/CreateShareOptions.php',
1931
- 'MicrosoftAzure\\Storage\\File\\Models\\Directory' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/Directory.php',
1932
- 'MicrosoftAzure\\Storage\\File\\Models\\File' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/File.php',
1933
- 'MicrosoftAzure\\Storage\\File\\Models\\FileProperties' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/FileProperties.php',
1934
- 'MicrosoftAzure\\Storage\\File\\Models\\FileServiceOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/FileServiceOptions.php',
1935
- 'MicrosoftAzure\\Storage\\File\\Models\\GetDirectoryMetadataResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetDirectoryMetadataResult.php',
1936
- 'MicrosoftAzure\\Storage\\File\\Models\\GetDirectoryPropertiesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetDirectoryPropertiesResult.php',
1937
- 'MicrosoftAzure\\Storage\\File\\Models\\GetFileMetadataResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetFileMetadataResult.php',
1938
- 'MicrosoftAzure\\Storage\\File\\Models\\GetFileOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetFileOptions.php',
1939
- 'MicrosoftAzure\\Storage\\File\\Models\\GetFileResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetFileResult.php',
1940
- 'MicrosoftAzure\\Storage\\File\\Models\\GetShareACLResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetShareACLResult.php',
1941
- 'MicrosoftAzure\\Storage\\File\\Models\\GetSharePropertiesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetSharePropertiesResult.php',
1942
- 'MicrosoftAzure\\Storage\\File\\Models\\GetShareStatsResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/GetShareStatsResult.php',
1943
- 'MicrosoftAzure\\Storage\\File\\Models\\ListDirectoriesAndFilesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/ListDirectoriesAndFilesOptions.php',
1944
- 'MicrosoftAzure\\Storage\\File\\Models\\ListDirectoriesAndFilesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/ListDirectoriesAndFilesResult.php',
1945
- 'MicrosoftAzure\\Storage\\File\\Models\\ListFileRangesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/ListFileRangesResult.php',
1946
- 'MicrosoftAzure\\Storage\\File\\Models\\ListSharesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/ListSharesOptions.php',
1947
- 'MicrosoftAzure\\Storage\\File\\Models\\ListSharesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/ListSharesResult.php',
1948
- 'MicrosoftAzure\\Storage\\File\\Models\\PutFileRangeOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/PutFileRangeOptions.php',
1949
- 'MicrosoftAzure\\Storage\\File\\Models\\Share' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/Share.php',
1950
- 'MicrosoftAzure\\Storage\\File\\Models\\ShareACL' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/ShareACL.php',
1951
- 'MicrosoftAzure\\Storage\\File\\Models\\ShareProperties' => __DIR__ . '/..' . '/microsoft/azure-storage/src/File/Models/ShareProperties.php',
1952
- 'MicrosoftAzure\\Storage\\Queue\\Internal\\IQueue' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Internal/IQueue.php',
1953
- 'MicrosoftAzure\\Storage\\Queue\\Models\\CreateMessageOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/CreateMessageOptions.php',
1954
- 'MicrosoftAzure\\Storage\\Queue\\Models\\CreateMessageResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/CreateMessageResult.php',
1955
- 'MicrosoftAzure\\Storage\\Queue\\Models\\CreateQueueOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/CreateQueueOptions.php',
1956
- 'MicrosoftAzure\\Storage\\Queue\\Models\\GetQueueMetadataResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/GetQueueMetadataResult.php',
1957
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListMessagesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/ListMessagesOptions.php',
1958
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListMessagesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/ListMessagesResult.php',
1959
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListQueuesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/ListQueuesOptions.php',
1960
- 'MicrosoftAzure\\Storage\\Queue\\Models\\ListQueuesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/ListQueuesResult.php',
1961
- 'MicrosoftAzure\\Storage\\Queue\\Models\\PeekMessagesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/PeekMessagesOptions.php',
1962
- 'MicrosoftAzure\\Storage\\Queue\\Models\\PeekMessagesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/PeekMessagesResult.php',
1963
- 'MicrosoftAzure\\Storage\\Queue\\Models\\Queue' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/Queue.php',
1964
- 'MicrosoftAzure\\Storage\\Queue\\Models\\QueueACL' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/QueueACL.php',
1965
- 'MicrosoftAzure\\Storage\\Queue\\Models\\QueueMessage' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/QueueMessage.php',
1966
- 'MicrosoftAzure\\Storage\\Queue\\Models\\QueueServiceOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/QueueServiceOptions.php',
1967
- 'MicrosoftAzure\\Storage\\Queue\\Models\\UpdateMessageResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/Models/UpdateMessageResult.php',
1968
- 'MicrosoftAzure\\Storage\\Queue\\QueueRestProxy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Queue/QueueRestProxy.php',
1969
- 'MicrosoftAzure\\Storage\\Table\\Internal\\AcceptOptionTrait' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Internal/AcceptOptionTrait.php',
1970
- 'MicrosoftAzure\\Storage\\Table\\Internal\\IMimeReaderWriter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Internal/IMimeReaderWriter.php',
1971
- 'MicrosoftAzure\\Storage\\Table\\Internal\\IODataReaderWriter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Internal/IODataReaderWriter.php',
1972
- 'MicrosoftAzure\\Storage\\Table\\Internal\\ITable' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Internal/ITable.php',
1973
- 'MicrosoftAzure\\Storage\\Table\\Internal\\JsonODataReaderWriter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Internal/JsonODataReaderWriter.php',
1974
- 'MicrosoftAzure\\Storage\\Table\\Internal\\MimeReaderWriter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Internal/MimeReaderWriter.php',
1975
- 'MicrosoftAzure\\Storage\\Table\\Models\\AcceptJSONContentType' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/AcceptJSONContentType.php',
1976
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperation' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/BatchOperation.php',
1977
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperationParameterName' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/BatchOperationParameterName.php',
1978
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperationType' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/BatchOperationType.php',
1979
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchOperations' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/BatchOperations.php',
1980
- 'MicrosoftAzure\\Storage\\Table\\Models\\BatchResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/BatchResult.php',
1981
- 'MicrosoftAzure\\Storage\\Table\\Models\\DeleteEntityOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/DeleteEntityOptions.php',
1982
- 'MicrosoftAzure\\Storage\\Table\\Models\\EdmType' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/EdmType.php',
1983
- 'MicrosoftAzure\\Storage\\Table\\Models\\Entity' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Entity.php',
1984
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\BinaryFilter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Filters/BinaryFilter.php',
1985
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\ConstantFilter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Filters/ConstantFilter.php',
1986
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\Filter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Filters/Filter.php',
1987
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\PropertyNameFilter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Filters/PropertyNameFilter.php',
1988
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\QueryStringFilter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Filters/QueryStringFilter.php',
1989
- 'MicrosoftAzure\\Storage\\Table\\Models\\Filters\\UnaryFilter' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Filters/UnaryFilter.php',
1990
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetEntityOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/GetEntityOptions.php',
1991
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetEntityResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/GetEntityResult.php',
1992
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetTableOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/GetTableOptions.php',
1993
- 'MicrosoftAzure\\Storage\\Table\\Models\\GetTableResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/GetTableResult.php',
1994
- 'MicrosoftAzure\\Storage\\Table\\Models\\InsertEntityResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/InsertEntityResult.php',
1995
- 'MicrosoftAzure\\Storage\\Table\\Models\\Property' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Property.php',
1996
- 'MicrosoftAzure\\Storage\\Table\\Models\\Query' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/Query.php',
1997
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryEntitiesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/QueryEntitiesOptions.php',
1998
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryEntitiesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/QueryEntitiesResult.php',
1999
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryTablesOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/QueryTablesOptions.php',
2000
- 'MicrosoftAzure\\Storage\\Table\\Models\\QueryTablesResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/QueryTablesResult.php',
2001
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableACL' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/TableACL.php',
2002
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableContinuationToken' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/TableContinuationToken.php',
2003
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableContinuationTokenTrait' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/TableContinuationTokenTrait.php',
2004
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableServiceCreateOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/TableServiceCreateOptions.php',
2005
- 'MicrosoftAzure\\Storage\\Table\\Models\\TableServiceOptions' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/TableServiceOptions.php',
2006
- 'MicrosoftAzure\\Storage\\Table\\Models\\UpdateEntityResult' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/Models/UpdateEntityResult.php',
2007
- 'MicrosoftAzure\\Storage\\Table\\TableRestProxy' => __DIR__ . '/..' . '/microsoft/azure-storage/src/Table/TableRestProxy.php',
2008
  'Monolog\\ErrorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ErrorHandler.php',
2009
  'Monolog\\Formatter\\ChromePHPFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
2010
  'Monolog\\Formatter\\ElasticaFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php',
@@ -2440,13 +2161,6 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
2440
  'Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php',
2441
  'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php',
2442
  'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php',
2443
- 'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php',
2444
- 'Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php',
2445
- 'Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php',
2446
- 'Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php',
2447
- 'Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php',
2448
- 'Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php',
2449
- 'Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php',
2450
  'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
2451
  'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
2452
  'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
@@ -2522,547 +2236,343 @@ class ComposerStaticInit60d0ebfd52f1976313219c1674abb3d8
2522
  'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriter.php',
2523
  'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php',
2524
  'System' => __DIR__ . '/..' . '/pear/pear-core-minimal/src/System.php',
2525
- 'WindowsAzure\\Common\\CloudConfigurationManager' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/CloudConfigurationManager.php',
2526
- 'WindowsAzure\\Common\\Internal\\Atom\\AtomBase' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/AtomBase.php',
2527
- 'WindowsAzure\\Common\\Internal\\Atom\\AtomLink' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/AtomLink.php',
2528
- 'WindowsAzure\\Common\\Internal\\Atom\\Category' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/Category.php',
2529
- 'WindowsAzure\\Common\\Internal\\Atom\\Content' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/Content.php',
2530
- 'WindowsAzure\\Common\\Internal\\Atom\\Entry' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/Entry.php',
2531
- 'WindowsAzure\\Common\\Internal\\Atom\\Feed' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/Feed.php',
2532
- 'WindowsAzure\\Common\\Internal\\Atom\\Generator' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/Generator.php',
2533
- 'WindowsAzure\\Common\\Internal\\Atom\\Person' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/Person.php',
2534
- 'WindowsAzure\\Common\\Internal\\Atom\\Source' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Atom/Source.php',
2535
- 'WindowsAzure\\Common\\Internal\\Authentication\\IAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Authentication/IAuthScheme.php',
2536
- 'WindowsAzure\\Common\\Internal\\Authentication\\OAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Authentication/OAuthScheme.php',
2537
- 'WindowsAzure\\Common\\Internal\\Authentication\\SharedKeyAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Authentication/SharedKeyAuthScheme.php',
2538
- 'WindowsAzure\\Common\\Internal\\Authentication\\StorageAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Authentication/StorageAuthScheme.php',
2539
- 'WindowsAzure\\Common\\Internal\\Authentication\\TableSharedKeyLiteAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php',
2540
- 'WindowsAzure\\Common\\Internal\\ConnectionStringParser' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/ConnectionStringParser.php',
2541
- 'WindowsAzure\\Common\\Internal\\ConnectionStringSource' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/ConnectionStringSource.php',
2542
- 'WindowsAzure\\Common\\Internal\\FilterableService' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/FilterableService.php',
2543
- 'WindowsAzure\\Common\\Internal\\Filters\\AuthenticationFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Filters/AuthenticationFilter.php',
2544
- 'WindowsAzure\\Common\\Internal\\Filters\\DateFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Filters/DateFilter.php',
2545
- 'WindowsAzure\\Common\\Internal\\Filters\\HeadersFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Filters/HeadersFilter.php',
2546
- 'WindowsAzure\\Common\\Internal\\Filters\\SASFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Filters/SASFilter.php',
2547
- 'WindowsAzure\\Common\\Internal\\Filters\\WrapFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Filters/WrapFilter.php',
2548
- 'WindowsAzure\\Common\\Internal\\Http\\BatchRequest' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Http/BatchRequest.php',
2549
- 'WindowsAzure\\Common\\Internal\\Http\\BatchResponse' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Http/BatchResponse.php',
2550
- 'WindowsAzure\\Common\\Internal\\Http\\HttpCallContext' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Http/HttpCallContext.php',
2551
- 'WindowsAzure\\Common\\Internal\\Http\\HttpClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Http/HttpClient.php',
2552
- 'WindowsAzure\\Common\\Internal\\Http\\IHttpClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Http/IHttpClient.php',
2553
- 'WindowsAzure\\Common\\Internal\\Http\\IUrl' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Http/IUrl.php',
2554
- 'WindowsAzure\\Common\\Internal\\Http\\Url' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Http/Url.php',
2555
- 'WindowsAzure\\Common\\Internal\\IServiceFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/IServiceFilter.php',
2556
- 'WindowsAzure\\Common\\Internal\\InvalidArgumentTypeException' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/InvalidArgumentTypeException.php',
2557
- 'WindowsAzure\\Common\\Internal\\Logger' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Logger.php',
2558
- 'WindowsAzure\\Common\\Internal\\MediaServicesSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/MediaServicesSettings.php',
2559
- 'WindowsAzure\\Common\\Internal\\OAuthRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/OAuthRestProxy.php',
2560
- 'WindowsAzure\\Common\\Internal\\ParserState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/ParserState.php',
2561
- 'WindowsAzure\\Common\\Internal\\Resources' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Resources.php',
2562
- 'WindowsAzure\\Common\\Internal\\RestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/RestProxy.php',
2563
- 'WindowsAzure\\Common\\Internal\\Serialization\\ISerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Serialization/ISerializer.php',
2564
- 'WindowsAzure\\Common\\Internal\\Serialization\\JsonSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Serialization/JsonSerializer.php',
2565
- 'WindowsAzure\\Common\\Internal\\Serialization\\XmlSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Serialization/XmlSerializer.php',
2566
- 'WindowsAzure\\Common\\Internal\\ServiceBusSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/ServiceBusSettings.php',
2567
- 'WindowsAzure\\Common\\Internal\\ServiceManagementSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/ServiceManagementSettings.php',
2568
- 'WindowsAzure\\Common\\Internal\\ServiceRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/ServiceRestProxy.php',
2569
- 'WindowsAzure\\Common\\Internal\\ServiceSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/ServiceSettings.php',
2570
- 'WindowsAzure\\Common\\Internal\\StorageServiceSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/StorageServiceSettings.php',
2571
- 'WindowsAzure\\Common\\Internal\\Utilities' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Utilities.php',
2572
- 'WindowsAzure\\Common\\Internal\\Validate' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Internal/Validate.php',
2573
- 'WindowsAzure\\Common\\Models\\GetServicePropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Models/GetServicePropertiesResult.php',
2574
- 'WindowsAzure\\Common\\Models\\Logging' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Models/Logging.php',
2575
- 'WindowsAzure\\Common\\Models\\Metrics' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Models/Metrics.php',
2576
- 'WindowsAzure\\Common\\Models\\OAuthAccessToken' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Models/OAuthAccessToken.php',
2577
- 'WindowsAzure\\Common\\Models\\RetentionPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Models/RetentionPolicy.php',
2578
- 'WindowsAzure\\Common\\Models\\ServiceProperties' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/Models/ServiceProperties.php',
2579
- 'WindowsAzure\\Common\\ServiceException' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/ServiceException.php',
2580
- 'WindowsAzure\\Common\\ServicesBuilder' => __DIR__ . '/..' . '/microsoft/windowsazure/src/Common/ServicesBuilder.php',
2581
- 'WindowsAzure\\MediaServices\\Authentication\\AccessToken' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AccessToken.php',
2582
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClient.php',
2583
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClientAsymmetricKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClientAsymmetricKey.php',
2584
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClientSymmetricKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClientSymmetricKey.php',
2585
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdClientUserCredentials' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdClientUserCredentials.php',
2586
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdTokenCredentialType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdTokenCredentialType.php',
2587
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdTokenCredentials' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdTokenCredentials.php',
2588
- 'WindowsAzure\\MediaServices\\Authentication\\AzureAdTokenProvider' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureAdTokenProvider.php',
2589
- 'WindowsAzure\\MediaServices\\Authentication\\AzureEnvironment' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureEnvironment.php',
2590
- 'WindowsAzure\\MediaServices\\Authentication\\AzureEnvironmentConstants' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureEnvironmentConstants.php',
2591
- 'WindowsAzure\\MediaServices\\Authentication\\AzureEnvironments' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/AzureEnvironments.php',
2592
- 'WindowsAzure\\MediaServices\\Authentication\\ITokenProvider' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Authentication/ITokenProvider.php',
2593
- 'WindowsAzure\\MediaServices\\Internal\\ContentPropertiesSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Internal/ContentPropertiesSerializer.php',
2594
- 'WindowsAzure\\MediaServices\\Internal\\IMediaServices' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Internal/IMediaServices.php',
2595
- 'WindowsAzure\\MediaServices\\MediaServicesRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/MediaServicesRestProxy.php',
2596
- 'WindowsAzure\\MediaServices\\Models\\AccessPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AccessPolicy.php',
2597
- 'WindowsAzure\\MediaServices\\Models\\AdMarkerSources' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AdMarkerSources.php',
2598
- 'WindowsAzure\\MediaServices\\Models\\Asset' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/Asset.php',
2599
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryPolicy.php',
2600
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyConfigurationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryPolicyConfigurationKey.php',
2601
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryPolicyType.php',
2602
- 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryProtocol' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AssetDeliveryProtocol.php',
2603
- 'WindowsAzure\\MediaServices\\Models\\AssetFile' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AssetFile.php',
2604
- 'WindowsAzure\\MediaServices\\Models\\AudioStream' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/AudioStream.php',
2605
- 'WindowsAzure\\MediaServices\\Models\\Channel' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/Channel.php',
2606
- 'WindowsAzure\\MediaServices\\Models\\ChannelEncoding' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelEncoding.php',
2607
- 'WindowsAzure\\MediaServices\\Models\\ChannelEncodingPresets' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelEncodingPresets.php',
2608
- 'WindowsAzure\\MediaServices\\Models\\ChannelEndpoint' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelEndpoint.php',
2609
- 'WindowsAzure\\MediaServices\\Models\\ChannelInput' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelInput.php',
2610
- 'WindowsAzure\\MediaServices\\Models\\ChannelInputAccessControl' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelInputAccessControl.php',
2611
- 'WindowsAzure\\MediaServices\\Models\\ChannelOutput' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelOutput.php',
2612
- 'WindowsAzure\\MediaServices\\Models\\ChannelOutputHls' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelOutputHls.php',
2613
- 'WindowsAzure\\MediaServices\\Models\\ChannelPreview' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelPreview.php',
2614
- 'WindowsAzure\\MediaServices\\Models\\ChannelPreviewAccessControl' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelPreviewAccessControl.php',
2615
- 'WindowsAzure\\MediaServices\\Models\\ChannelSlate' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelSlate.php',
2616
- 'WindowsAzure\\MediaServices\\Models\\ChannelState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ChannelState.php',
2617
- 'WindowsAzure\\MediaServices\\Models\\ContentKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ContentKey.php',
2618
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyAuthorizationPolicy.php',
2619
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyOption' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyAuthorizationPolicyOption.php',
2620
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyAuthorizationPolicyRestriction.php',
2621
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyDeliveryType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyDeliveryType.php',
2622
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyRestrictionType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyRestrictionType.php',
2623
- 'WindowsAzure\\MediaServices\\Models\\ContentKeyTypes' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ContentKeyTypes.php',
2624
- 'WindowsAzure\\MediaServices\\Models\\CrossSiteAccessPolicies' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/CrossSiteAccessPolicies.php',
2625
- 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnit' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/EncodingReservedUnit.php',
2626
- 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnitType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/EncodingReservedUnitType.php',
2627
- 'WindowsAzure\\MediaServices\\Models\\EncodingType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/EncodingType.php',
2628
- 'WindowsAzure\\MediaServices\\Models\\EncryptionSchemes' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/EncryptionSchemes.php',
2629
- 'WindowsAzure\\MediaServices\\Models\\ErrorDetail' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ErrorDetail.php',
2630
- 'WindowsAzure\\MediaServices\\Models\\IPAccessControl' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/IPAccessControl.php',
2631
- 'WindowsAzure\\MediaServices\\Models\\IPRange' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/IPRange.php',
2632
- 'WindowsAzure\\MediaServices\\Models\\IngestManifest' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifest.php',
2633
- 'WindowsAzure\\MediaServices\\Models\\IngestManifestAsset' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifestAsset.php',
2634
- 'WindowsAzure\\MediaServices\\Models\\IngestManifestFile' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifestFile.php',
2635
- 'WindowsAzure\\MediaServices\\Models\\IngestManifestStatistics' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/IngestManifestStatistics.php',
2636
- 'WindowsAzure\\MediaServices\\Models\\Job' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/Job.php',
2637
- 'WindowsAzure\\MediaServices\\Models\\JobTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/JobTemplate.php',
2638
- 'WindowsAzure\\MediaServices\\Models\\Locator' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/Locator.php',
2639
- 'WindowsAzure\\MediaServices\\Models\\MediaProcessor' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/MediaProcessor.php',
2640
- 'WindowsAzure\\MediaServices\\Models\\Operation' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/Operation.php',
2641
- 'WindowsAzure\\MediaServices\\Models\\OperationState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/OperationState.php',
2642
- 'WindowsAzure\\MediaServices\\Models\\Program' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/Program.php',
2643
- 'WindowsAzure\\MediaServices\\Models\\ProgramState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ProgramState.php',
2644
- 'WindowsAzure\\MediaServices\\Models\\ProtectionKeyTypes' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/ProtectionKeyTypes.php',
2645
- 'WindowsAzure\\MediaServices\\Models\\StorageAccount' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/StorageAccount.php',
2646
- 'WindowsAzure\\MediaServices\\Models\\StreamingProtocol' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/StreamingProtocol.php',
2647
- 'WindowsAzure\\MediaServices\\Models\\Task' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/Task.php',
2648
- 'WindowsAzure\\MediaServices\\Models\\TaskHistoricalEvent' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/TaskHistoricalEvent.php',
2649
- 'WindowsAzure\\MediaServices\\Models\\TaskOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/TaskOptions.php',
2650
- 'WindowsAzure\\MediaServices\\Models\\TaskTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/TaskTemplate.php',
2651
- 'WindowsAzure\\MediaServices\\Models\\VideoStream' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Models/VideoStream.php',
2652
- 'WindowsAzure\\MediaServices\\Templates\\AgcAndColorStripeRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/AgcAndColorStripeRestriction.php',
2653
- 'WindowsAzure\\MediaServices\\Templates\\AllowedTrackTypes' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/AllowedTrackTypes.php',
2654
- 'WindowsAzure\\MediaServices\\Templates\\AsymmetricTokenVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/AsymmetricTokenVerificationKey.php',
2655
- 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromHeader' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/ContentEncryptionKeyFromHeader.php',
2656
- 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromKeyIdentifier' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/ContentEncryptionKeyFromKeyIdentifier.php',
2657
- 'WindowsAzure\\MediaServices\\Templates\\ContentKeySpecs' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/ContentKeySpecs.php',
2658
- 'WindowsAzure\\MediaServices\\Templates\\ErrorMessages' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/ErrorMessages.php',
2659
- 'WindowsAzure\\MediaServices\\Templates\\ExplicitAnalogTelevisionRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/ExplicitAnalogTelevisionRestriction.php',
2660
- 'WindowsAzure\\MediaServices\\Templates\\FairPlayConfiguration' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/FairPlayConfiguration.php',
2661
- 'WindowsAzure\\MediaServices\\Templates\\Hdcp' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/Hdcp.php',
2662
- 'WindowsAzure\\MediaServices\\Templates\\MediaServicesLicenseTemplateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/MediaServicesLicenseTemplateSerializer.php',
2663
- 'WindowsAzure\\MediaServices\\Templates\\OpenIdConnectDiscoveryDocument' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/OpenIdConnectDiscoveryDocument.php',
2664
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyContentKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyContentKey.php',
2665
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseResponseTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyLicenseResponseTemplate.php',
2666
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyLicenseTemplate.php',
2667
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyLicenseType.php',
2668
- 'WindowsAzure\\MediaServices\\Templates\\PlayReadyPlayRight' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/PlayReadyPlayRight.php',
2669
- 'WindowsAzure\\MediaServices\\Templates\\RequiredOutputProtection' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/RequiredOutputProtection.php',
2670
- 'WindowsAzure\\MediaServices\\Templates\\ScmsRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/ScmsRestriction.php',
2671
- 'WindowsAzure\\MediaServices\\Templates\\SymmetricVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/SymmetricVerificationKey.php',
2672
- 'WindowsAzure\\MediaServices\\Templates\\TokenClaim' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/TokenClaim.php',
2673
- 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/TokenRestrictionTemplate.php',
2674
- 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/TokenRestrictionTemplateSerializer.php',
2675
- 'WindowsAzure\\MediaServices\\Templates\\TokenType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/TokenType.php',
2676
- 'WindowsAzure\\MediaServices\\Templates\\TokenVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/TokenVerificationKey.php',
2677
- 'WindowsAzure\\MediaServices\\Templates\\UnknownOutputPassingOption' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/UnknownOutputPassingOption.php',
2678
- 'WindowsAzure\\MediaServices\\Templates\\WidevineMessage' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/WidevineMessage.php',
2679
- 'WindowsAzure\\MediaServices\\Templates\\WidevineMessageSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/WidevineMessageSerializer.php',
2680
- 'WindowsAzure\\MediaServices\\Templates\\X509CertTokenVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/src/MediaServices/Templates/X509CertTokenVerificationKey.php',
2681
- 'WindowsAzure\\ServiceBus\\Internal\\Action' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/Action.php',
2682
- 'WindowsAzure\\ServiceBus\\Internal\\ActiveToken' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/ActiveToken.php',
2683
- 'WindowsAzure\\ServiceBus\\Internal\\Filter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/Filter.php',
2684
- 'WindowsAzure\\ServiceBus\\Internal\\IServiceBus' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/IServiceBus.php',
2685
- 'WindowsAzure\\ServiceBus\\Internal\\IWrap' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/IWrap.php',
2686
- 'WindowsAzure\\ServiceBus\\Internal\\WrapAccessTokenResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/WrapAccessTokenResult.php',
2687
- 'WindowsAzure\\ServiceBus\\Internal\\WrapRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/WrapRestProxy.php',
2688
- 'WindowsAzure\\ServiceBus\\Internal\\WrapTokenManager' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Internal/WrapTokenManager.php',
2689
- 'WindowsAzure\\ServiceBus\\Models\\BrokerProperties' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/BrokerProperties.php',
2690
- 'WindowsAzure\\ServiceBus\\Models\\BrokeredMessage' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/BrokeredMessage.php',
2691
- 'WindowsAzure\\ServiceBus\\Models\\CorrelationFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/CorrelationFilter.php',
2692
- 'WindowsAzure\\ServiceBus\\Models\\EmptyRuleAction' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/EmptyRuleAction.php',
2693
- 'WindowsAzure\\ServiceBus\\Models\\FalseFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/FalseFilter.php',
2694
- 'WindowsAzure\\ServiceBus\\Models\\ListOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListOptions.php',
2695
- 'WindowsAzure\\ServiceBus\\Models\\ListQueuesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListQueuesOptions.php',
2696
- 'WindowsAzure\\ServiceBus\\Models\\ListQueuesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListQueuesResult.php',
2697
- 'WindowsAzure\\ServiceBus\\Models\\ListRulesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListRulesOptions.php',
2698
- 'WindowsAzure\\ServiceBus\\Models\\ListRulesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListRulesResult.php',
2699
- 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListSubscriptionsOptions.php',
2700
- 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListSubscriptionsResult.php',
2701
- 'WindowsAzure\\ServiceBus\\Models\\ListTopicsOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListTopicsOptions.php',
2702
- 'WindowsAzure\\ServiceBus\\Models\\ListTopicsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ListTopicsResult.php',
2703
- 'WindowsAzure\\ServiceBus\\Models\\QueueDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/QueueDescription.php',
2704
- 'WindowsAzure\\ServiceBus\\Models\\QueueInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/QueueInfo.php',
2705
- 'WindowsAzure\\ServiceBus\\Models\\ReceiveMessageOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ReceiveMessageOptions.php',
2706
- 'WindowsAzure\\ServiceBus\\Models\\ReceiveMode' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/ReceiveMode.php',
2707
- 'WindowsAzure\\ServiceBus\\Models\\RuleDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/RuleDescription.php',
2708
- 'WindowsAzure\\ServiceBus\\Models\\RuleInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/RuleInfo.php',
2709
- 'WindowsAzure\\ServiceBus\\Models\\SqlFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/SqlFilter.php',
2710
- 'WindowsAzure\\ServiceBus\\Models\\SqlRuleAction' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/SqlRuleAction.php',
2711
- 'WindowsAzure\\ServiceBus\\Models\\SubscriptionDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/SubscriptionDescription.php',
2712
- 'WindowsAzure\\ServiceBus\\Models\\SubscriptionInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/SubscriptionInfo.php',
2713
- 'WindowsAzure\\ServiceBus\\Models\\TopicDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/TopicDescription.php',
2714
- 'WindowsAzure\\ServiceBus\\Models\\TopicInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/TopicInfo.php',
2715
- 'WindowsAzure\\ServiceBus\\Models\\TrueFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/Models/TrueFilter.php',
2716
- 'WindowsAzure\\ServiceBus\\ServiceBusRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceBus/ServiceBusRestProxy.php',
2717
- 'WindowsAzure\\ServiceManagement\\Internal\\IServiceManagement' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Internal/IServiceManagement.php',
2718
- 'WindowsAzure\\ServiceManagement\\Internal\\Service' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Internal/Service.php',
2719
- 'WindowsAzure\\ServiceManagement\\Internal\\WindowsAzureService' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Internal/WindowsAzureService.php',
2720
- 'WindowsAzure\\ServiceManagement\\Models\\AffinityGroup' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/AffinityGroup.php',
2721
- 'WindowsAzure\\ServiceManagement\\Models\\AsynchronousOperationResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/AsynchronousOperationResult.php',
2722
- 'WindowsAzure\\ServiceManagement\\Models\\ChangeDeploymentConfigurationOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/ChangeDeploymentConfigurationOptions.php',
2723
- 'WindowsAzure\\ServiceManagement\\Models\\CreateAffinityGroupOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/CreateAffinityGroupOptions.php',
2724
- 'WindowsAzure\\ServiceManagement\\Models\\CreateDeploymentOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/CreateDeploymentOptions.php',
2725
- 'WindowsAzure\\ServiceManagement\\Models\\CreateServiceOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/CreateServiceOptions.php',
2726
- 'WindowsAzure\\ServiceManagement\\Models\\Deployment' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/Deployment.php',
2727
- 'WindowsAzure\\ServiceManagement\\Models\\DeploymentSlot' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/DeploymentSlot.php',
2728
- 'WindowsAzure\\ServiceManagement\\Models\\DeploymentStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/DeploymentStatus.php',
2729
- 'WindowsAzure\\ServiceManagement\\Models\\GetAffinityGroupPropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetAffinityGroupPropertiesResult.php',
2730
- 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetDeploymentOptions.php',
2731
- 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetDeploymentResult.php',
2732
- 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetHostedServicePropertiesOptions.php',
2733
- 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetHostedServicePropertiesResult.php',
2734
- 'WindowsAzure\\ServiceManagement\\Models\\GetOperationStatusResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetOperationStatusResult.php',
2735
- 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServiceKeysResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetStorageServiceKeysResult.php',
2736
- 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServicePropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/GetStorageServicePropertiesResult.php',
2737
- 'WindowsAzure\\ServiceManagement\\Models\\HostedService' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/HostedService.php',
2738
- 'WindowsAzure\\ServiceManagement\\Models\\InputEndpoint' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/InputEndpoint.php',
2739
- 'WindowsAzure\\ServiceManagement\\Models\\KeyType' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/KeyType.php',
2740
- 'WindowsAzure\\ServiceManagement\\Models\\ListAffinityGroupsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/ListAffinityGroupsResult.php',
2741
- 'WindowsAzure\\ServiceManagement\\Models\\ListHostedServicesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/ListHostedServicesResult.php',
2742
- 'WindowsAzure\\ServiceManagement\\Models\\ListLocationsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/ListLocationsResult.php',
2743
- 'WindowsAzure\\ServiceManagement\\Models\\ListStorageServicesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/ListStorageServicesResult.php',
2744
- 'WindowsAzure\\ServiceManagement\\Models\\Location' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/Location.php',
2745
- 'WindowsAzure\\ServiceManagement\\Models\\Mode' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/Mode.php',
2746
- 'WindowsAzure\\ServiceManagement\\Models\\OperationStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/OperationStatus.php',
2747
- 'WindowsAzure\\ServiceManagement\\Models\\Role' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/Role.php',
2748
- 'WindowsAzure\\ServiceManagement\\Models\\RoleInstance' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/RoleInstance.php',
2749
- 'WindowsAzure\\ServiceManagement\\Models\\StorageService' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/StorageService.php',
2750
- 'WindowsAzure\\ServiceManagement\\Models\\UpdateServiceOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/UpdateServiceOptions.php',
2751
- 'WindowsAzure\\ServiceManagement\\Models\\UpgradeDeploymentOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/UpgradeDeploymentOptions.php',
2752
- 'WindowsAzure\\ServiceManagement\\Models\\UpgradeStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/Models/UpgradeStatus.php',
2753
- 'WindowsAzure\\ServiceManagement\\ServiceManagementRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceManagement/ServiceManagementRestProxy.php',
2754
- 'WindowsAzure\\ServiceRuntime\\Internal\\AcquireCurrentState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/AcquireCurrentState.php',
2755
- 'WindowsAzure\\ServiceRuntime\\Internal\\ChannelNotAvailableException' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ChannelNotAvailableException.php',
2756
- 'WindowsAzure\\ServiceRuntime\\Internal\\ChunkedGoalStateDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ChunkedGoalStateDeserializer.php',
2757
- 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/CurrentState.php',
2758
- 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/CurrentStatus.php',
2759
- 'WindowsAzure\\ServiceRuntime\\Internal\\FileInputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/FileInputChannel.php',
2760
- 'WindowsAzure\\ServiceRuntime\\Internal\\FileOutputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/FileOutputChannel.php',
2761
- 'WindowsAzure\\ServiceRuntime\\Internal\\GoalState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/GoalState.php',
2762
- 'WindowsAzure\\ServiceRuntime\\Internal\\ICurrentStateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ICurrentStateSerializer.php',
2763
- 'WindowsAzure\\ServiceRuntime\\Internal\\IGoalStateDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IGoalStateDeserializer.php',
2764
- 'WindowsAzure\\ServiceRuntime\\Internal\\IInputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IInputChannel.php',
2765
- 'WindowsAzure\\ServiceRuntime\\Internal\\IOutputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IOutputChannel.php',
2766
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentChange' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRoleEnvironmentChange.php',
2767
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentDataDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRoleEnvironmentDataDeserializer.php',
2768
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeClient.php',
2769
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClientFactory' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeClientFactory.php',
2770
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeCurrentStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeCurrentStateClient.php',
2771
- 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeGoalStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/IRuntimeGoalStateClient.php',
2772
- 'WindowsAzure\\ServiceRuntime\\Internal\\LocalResource' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/LocalResource.php',
2773
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeClient.php',
2774
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClientFactory' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeClientFactory.php',
2775
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeCurrentStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeCurrentStateClient.php',
2776
- 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeGoalStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Protocol1RuntimeGoalStateClient.php',
2777
- 'WindowsAzure\\ServiceRuntime\\Internal\\ReleaseCurrentState' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/ReleaseCurrentState.php',
2778
- 'WindowsAzure\\ServiceRuntime\\Internal\\Role' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/Role.php',
2779
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentConfigurationSettingChange' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentConfigurationSettingChange.php',
2780
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentData' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentData.php',
2781
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentNotAvailableException' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentNotAvailableException.php',
2782
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentTopologyChange' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleEnvironmentTopologyChange.php',
2783
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstance' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleInstance.php',
2784
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceEndpoint' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleInstanceEndpoint.php',
2785
- 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RoleInstanceStatus.php',
2786
- 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeKernel' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RuntimeKernel.php',
2787
- 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionManager' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RuntimeVersionManager.php',
2788
- 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionProtocolClient' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/RuntimeVersionProtocolClient.php',
2789
- 'WindowsAzure\\ServiceRuntime\\Internal\\XmlCurrentStateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/XmlCurrentStateSerializer.php',
2790
- 'WindowsAzure\\ServiceRuntime\\Internal\\XmlGoalStateDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/XmlGoalStateDeserializer.php',
2791
- 'WindowsAzure\\ServiceRuntime\\Internal\\XmlRoleEnvironmentDataDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/Internal/XmlRoleEnvironmentDataDeserializer.php',
2792
- 'WindowsAzure\\ServiceRuntime\\RoleEnvironment' => __DIR__ . '/..' . '/microsoft/windowsazure/src/ServiceRuntime/RoleEnvironment.php',
2793
- 'Zend\\Loader\\AutoloaderFactory' => __DIR__ . '/..' . '/zendframework/zend-loader/src/AutoloaderFactory.php',
2794
- 'Zend\\Loader\\ClassMapAutoloader' => __DIR__ . '/..' . '/zendframework/zend-loader/src/ClassMapAutoloader.php',
2795
- 'Zend\\Loader\\Exception\\BadMethodCallException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/BadMethodCallException.php',
2796
- 'Zend\\Loader\\Exception\\DomainException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/DomainException.php',
2797
- 'Zend\\Loader\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/ExceptionInterface.php',
2798
- 'Zend\\Loader\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/InvalidArgumentException.php',
2799
- 'Zend\\Loader\\Exception\\InvalidPathException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/InvalidPathException.php',
2800
- 'Zend\\Loader\\Exception\\MissingResourceNamespaceException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/MissingResourceNamespaceException.php',
2801
- 'Zend\\Loader\\Exception\\PluginLoaderException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/PluginLoaderException.php',
2802
- 'Zend\\Loader\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/RuntimeException.php',
2803
- 'Zend\\Loader\\Exception\\SecurityException' => __DIR__ . '/..' . '/zendframework/zend-loader/src/Exception/SecurityException.php',
2804
- 'Zend\\Loader\\ModuleAutoloader' => __DIR__ . '/..' . '/zendframework/zend-loader/src/ModuleAutoloader.php',
2805
- 'Zend\\Loader\\PluginClassLoader' => __DIR__ . '/..' . '/zendframework/zend-loader/src/PluginClassLoader.php',
2806
- 'Zend\\Loader\\PluginClassLocator' => __DIR__ . '/..' . '/zendframework/zend-loader/src/PluginClassLocator.php',
2807
- 'Zend\\Loader\\ShortNameLocator' => __DIR__ . '/..' . '/zendframework/zend-loader/src/ShortNameLocator.php',
2808
- 'Zend\\Loader\\SplAutoloader' => __DIR__ . '/..' . '/zendframework/zend-loader/src/SplAutoloader.php',
2809
- 'Zend\\Loader\\StandardAutoloader' => __DIR__ . '/..' . '/zendframework/zend-loader/src/StandardAutoloader.php',
2810
- 'Zend\\Mail\\Address' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Address.php',
2811
- 'Zend\\Mail\\AddressList' => __DIR__ . '/..' . '/zendframework/zend-mail/src/AddressList.php',
2812
- 'Zend\\Mail\\Address\\AddressInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Address/AddressInterface.php',
2813
- 'Zend\\Mail\\ConfigProvider' => __DIR__ . '/..' . '/zendframework/zend-mail/src/ConfigProvider.php',
2814
- 'Zend\\Mail\\Exception\\BadMethodCallException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Exception/BadMethodCallException.php',
2815
- 'Zend\\Mail\\Exception\\DomainException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Exception/DomainException.php',
2816
- 'Zend\\Mail\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Exception/ExceptionInterface.php',
2817
- 'Zend\\Mail\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Exception/InvalidArgumentException.php',
2818
- 'Zend\\Mail\\Exception\\OutOfBoundsException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Exception/OutOfBoundsException.php',
2819
- 'Zend\\Mail\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Exception/RuntimeException.php',
2820
- 'Zend\\Mail\\Header\\AbstractAddressList' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/AbstractAddressList.php',
2821
- 'Zend\\Mail\\Header\\Bcc' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Bcc.php',
2822
- 'Zend\\Mail\\Header\\Cc' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Cc.php',
2823
- 'Zend\\Mail\\Header\\ContentTransferEncoding' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/ContentTransferEncoding.php',
2824
- 'Zend\\Mail\\Header\\ContentType' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/ContentType.php',
2825
- 'Zend\\Mail\\Header\\Date' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Date.php',
2826
- 'Zend\\Mail\\Header\\Exception\\BadMethodCallException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Exception/BadMethodCallException.php',
2827
- 'Zend\\Mail\\Header\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Exception/ExceptionInterface.php',
2828
- 'Zend\\Mail\\Header\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Exception/InvalidArgumentException.php',
2829
- 'Zend\\Mail\\Header\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Exception/RuntimeException.php',
2830
- 'Zend\\Mail\\Header\\From' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/From.php',
2831
- 'Zend\\Mail\\Header\\GenericHeader' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/GenericHeader.php',
2832
- 'Zend\\Mail\\Header\\GenericMultiHeader' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/GenericMultiHeader.php',
2833
- 'Zend\\Mail\\Header\\HeaderInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/HeaderInterface.php',
2834
- 'Zend\\Mail\\Header\\HeaderLoader' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/HeaderLoader.php',
2835
- 'Zend\\Mail\\Header\\HeaderName' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/HeaderName.php',
2836
- 'Zend\\Mail\\Header\\HeaderValue' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/HeaderValue.php',
2837
- 'Zend\\Mail\\Header\\HeaderWrap' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/HeaderWrap.php',
2838
- 'Zend\\Mail\\Header\\MessageId' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/MessageId.php',
2839
- 'Zend\\Mail\\Header\\MimeVersion' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/MimeVersion.php',
2840
- 'Zend\\Mail\\Header\\MultipleHeadersInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/MultipleHeadersInterface.php',
2841
- 'Zend\\Mail\\Header\\Received' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Received.php',
2842
- 'Zend\\Mail\\Header\\ReplyTo' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/ReplyTo.php',
2843
- 'Zend\\Mail\\Header\\Sender' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Sender.php',
2844
- 'Zend\\Mail\\Header\\StructuredInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/StructuredInterface.php',
2845
- 'Zend\\Mail\\Header\\Subject' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/Subject.php',
2846
- 'Zend\\Mail\\Header\\To' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/To.php',
2847
- 'Zend\\Mail\\Header\\UnstructuredInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Header/UnstructuredInterface.php',
2848
- 'Zend\\Mail\\Headers' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Headers.php',
2849
- 'Zend\\Mail\\Message' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Message.php',
2850
- 'Zend\\Mail\\MessageFactory' => __DIR__ . '/..' . '/zendframework/zend-mail/src/MessageFactory.php',
2851
- 'Zend\\Mail\\Module' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Module.php',
2852
- 'Zend\\Mail\\Protocol\\AbstractProtocol' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/AbstractProtocol.php',
2853
- 'Zend\\Mail\\Protocol\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Exception/ExceptionInterface.php',
2854
- 'Zend\\Mail\\Protocol\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Exception/InvalidArgumentException.php',
2855
- 'Zend\\Mail\\Protocol\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Exception/RuntimeException.php',
2856
- 'Zend\\Mail\\Protocol\\Imap' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Imap.php',
2857
- 'Zend\\Mail\\Protocol\\Pop3' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Pop3.php',
2858
- 'Zend\\Mail\\Protocol\\ProtocolTrait' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/ProtocolTrait.php',
2859
- 'Zend\\Mail\\Protocol\\Smtp' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Smtp.php',
2860
- 'Zend\\Mail\\Protocol\\SmtpPluginManager' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/SmtpPluginManager.php',
2861
- 'Zend\\Mail\\Protocol\\SmtpPluginManagerFactory' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/SmtpPluginManagerFactory.php',
2862
- 'Zend\\Mail\\Protocol\\Smtp\\Auth\\Crammd5' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Smtp/Auth/Crammd5.php',
2863
- 'Zend\\Mail\\Protocol\\Smtp\\Auth\\Login' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Smtp/Auth/Login.php',
2864
- 'Zend\\Mail\\Protocol\\Smtp\\Auth\\Plain' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Protocol/Smtp/Auth/Plain.php',
2865
- 'Zend\\Mail\\Storage' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage.php',
2866
- 'Zend\\Mail\\Storage\\AbstractStorage' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/AbstractStorage.php',
2867
- 'Zend\\Mail\\Storage\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Exception/ExceptionInterface.php',
2868
- 'Zend\\Mail\\Storage\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Exception/InvalidArgumentException.php',
2869
- 'Zend\\Mail\\Storage\\Exception\\OutOfBoundsException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Exception/OutOfBoundsException.php',
2870
- 'Zend\\Mail\\Storage\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Exception/RuntimeException.php',
2871
- 'Zend\\Mail\\Storage\\Folder' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Folder.php',
2872
- 'Zend\\Mail\\Storage\\Folder\\FolderInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Folder/FolderInterface.php',
2873
- 'Zend\\Mail\\Storage\\Folder\\Maildir' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Folder/Maildir.php',
2874
- 'Zend\\Mail\\Storage\\Folder\\Mbox' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Folder/Mbox.php',
2875
- 'Zend\\Mail\\Storage\\Imap' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Imap.php',
2876
- 'Zend\\Mail\\Storage\\Maildir' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Maildir.php',
2877
- 'Zend\\Mail\\Storage\\Mbox' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Mbox.php',
2878
- 'Zend\\Mail\\Storage\\Message' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Message.php',
2879
- 'Zend\\Mail\\Storage\\Message\\File' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Message/File.php',
2880
- 'Zend\\Mail\\Storage\\Message\\MessageInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Message/MessageInterface.php',
2881
- 'Zend\\Mail\\Storage\\Part' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Part.php',
2882
- 'Zend\\Mail\\Storage\\Part\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Part/Exception/ExceptionInterface.php',
2883
- 'Zend\\Mail\\Storage\\Part\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Part/Exception/InvalidArgumentException.php',
2884
- 'Zend\\Mail\\Storage\\Part\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Part/Exception/RuntimeException.php',
2885
- 'Zend\\Mail\\Storage\\Part\\File' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Part/File.php',
2886
- 'Zend\\Mail\\Storage\\Part\\PartInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Part/PartInterface.php',
2887
- 'Zend\\Mail\\Storage\\Pop3' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Pop3.php',
2888
- 'Zend\\Mail\\Storage\\Writable\\Maildir' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Writable/Maildir.php',
2889
- 'Zend\\Mail\\Storage\\Writable\\WritableInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Storage/Writable/WritableInterface.php',
2890
- 'Zend\\Mail\\Transport\\Envelope' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Envelope.php',
2891
- 'Zend\\Mail\\Transport\\Exception\\DomainException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Exception/DomainException.php',
2892
- 'Zend\\Mail\\Transport\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Exception/ExceptionInterface.php',
2893
- 'Zend\\Mail\\Transport\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Exception/InvalidArgumentException.php',
2894
- 'Zend\\Mail\\Transport\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Exception/RuntimeException.php',
2895
- 'Zend\\Mail\\Transport\\Factory' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Factory.php',
2896
- 'Zend\\Mail\\Transport\\File' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/File.php',
2897
- 'Zend\\Mail\\Transport\\FileOptions' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/FileOptions.php',
2898
- 'Zend\\Mail\\Transport\\InMemory' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/InMemory.php',
2899
- 'Zend\\Mail\\Transport\\Null' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Null.php',
2900
- 'Zend\\Mail\\Transport\\Sendmail' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Sendmail.php',
2901
- 'Zend\\Mail\\Transport\\Smtp' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/Smtp.php',
2902
- 'Zend\\Mail\\Transport\\SmtpOptions' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/SmtpOptions.php',
2903
- 'Zend\\Mail\\Transport\\TransportInterface' => __DIR__ . '/..' . '/zendframework/zend-mail/src/Transport/TransportInterface.php',
2904
- 'Zend\\Mime\\Decode' => __DIR__ . '/..' . '/zendframework/zend-mime/src/Decode.php',
2905
- 'Zend\\Mime\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-mime/src/Exception/ExceptionInterface.php',
2906
- 'Zend\\Mime\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-mime/src/Exception/InvalidArgumentException.php',
2907
- 'Zend\\Mime\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-mime/src/Exception/RuntimeException.php',
2908
- 'Zend\\Mime\\Message' => __DIR__ . '/..' . '/zendframework/zend-mime/src/Message.php',
2909
- 'Zend\\Mime\\Mime' => __DIR__ . '/..' . '/zendframework/zend-mime/src/Mime.php',
2910
- 'Zend\\Mime\\Part' => __DIR__ . '/..' . '/zendframework/zend-mime/src/Part.php',
2911
- 'Zend\\Stdlib\\AbstractOptions' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/AbstractOptions.php',
2912
- 'Zend\\Stdlib\\ArrayObject' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ArrayObject.php',
2913
- 'Zend\\Stdlib\\ArraySerializableInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ArraySerializableInterface.php',
2914
- 'Zend\\Stdlib\\ArrayStack' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ArrayStack.php',
2915
- 'Zend\\Stdlib\\ArrayUtils' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ArrayUtils.php',
2916
- 'Zend\\Stdlib\\ArrayUtils\\MergeRemoveKey' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ArrayUtils/MergeRemoveKey.php',
2917
- 'Zend\\Stdlib\\ArrayUtils\\MergeReplaceKey' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKey.php',
2918
- 'Zend\\Stdlib\\ArrayUtils\\MergeReplaceKeyInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKeyInterface.php',
2919
- 'Zend\\Stdlib\\ConsoleHelper' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ConsoleHelper.php',
2920
- 'Zend\\Stdlib\\DispatchableInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/DispatchableInterface.php',
2921
- 'Zend\\Stdlib\\ErrorHandler' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ErrorHandler.php',
2922
- 'Zend\\Stdlib\\Exception\\BadMethodCallException' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Exception/BadMethodCallException.php',
2923
- 'Zend\\Stdlib\\Exception\\DomainException' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Exception/DomainException.php',
2924
- 'Zend\\Stdlib\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Exception/ExceptionInterface.php',
2925
- 'Zend\\Stdlib\\Exception\\ExtensionNotLoadedException' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Exception/ExtensionNotLoadedException.php',
2926
- 'Zend\\Stdlib\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Exception/InvalidArgumentException.php',
2927
- 'Zend\\Stdlib\\Exception\\LogicException' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Exception/LogicException.php',
2928
- 'Zend\\Stdlib\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Exception/RuntimeException.php',
2929
- 'Zend\\Stdlib\\FastPriorityQueue' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/FastPriorityQueue.php',
2930
- 'Zend\\Stdlib\\Glob' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Glob.php',
2931
- 'Zend\\Stdlib\\Guard\\AllGuardsTrait' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Guard/AllGuardsTrait.php',
2932
- 'Zend\\Stdlib\\Guard\\ArrayOrTraversableGuardTrait' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Guard/ArrayOrTraversableGuardTrait.php',
2933
- 'Zend\\Stdlib\\Guard\\EmptyGuardTrait' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Guard/EmptyGuardTrait.php',
2934
- 'Zend\\Stdlib\\Guard\\NullGuardTrait' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Guard/NullGuardTrait.php',
2935
- 'Zend\\Stdlib\\InitializableInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/InitializableInterface.php',
2936
- 'Zend\\Stdlib\\JsonSerializable' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/JsonSerializable.php',
2937
- 'Zend\\Stdlib\\Message' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Message.php',
2938
- 'Zend\\Stdlib\\MessageInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/MessageInterface.php',
2939
- 'Zend\\Stdlib\\ParameterObjectInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ParameterObjectInterface.php',
2940
- 'Zend\\Stdlib\\Parameters' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Parameters.php',
2941
- 'Zend\\Stdlib\\ParametersInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ParametersInterface.php',
2942
- 'Zend\\Stdlib\\PriorityList' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/PriorityList.php',
2943
- 'Zend\\Stdlib\\PriorityQueue' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/PriorityQueue.php',
2944
- 'Zend\\Stdlib\\Request' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Request.php',
2945
- 'Zend\\Stdlib\\RequestInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/RequestInterface.php',
2946
- 'Zend\\Stdlib\\Response' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/Response.php',
2947
- 'Zend\\Stdlib\\ResponseInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/ResponseInterface.php',
2948
- 'Zend\\Stdlib\\SplPriorityQueue' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/SplPriorityQueue.php',
2949
- 'Zend\\Stdlib\\SplQueue' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/SplQueue.php',
2950
- 'Zend\\Stdlib\\SplStack' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/SplStack.php',
2951
- 'Zend\\Stdlib\\StringUtils' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/StringUtils.php',
2952
- 'Zend\\Stdlib\\StringWrapper\\AbstractStringWrapper' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/StringWrapper/AbstractStringWrapper.php',
2953
- 'Zend\\Stdlib\\StringWrapper\\Iconv' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/StringWrapper/Iconv.php',
2954
- 'Zend\\Stdlib\\StringWrapper\\Intl' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/StringWrapper/Intl.php',
2955
- 'Zend\\Stdlib\\StringWrapper\\MbString' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/StringWrapper/MbString.php',
2956
- 'Zend\\Stdlib\\StringWrapper\\Native' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/StringWrapper/Native.php',
2957
- 'Zend\\Stdlib\\StringWrapper\\StringWrapperInterface' => __DIR__ . '/..' . '/zendframework/zend-stdlib/src/StringWrapper/StringWrapperInterface.php',
2958
- 'Zend\\Validator\\AbstractValidator' => __DIR__ . '/..' . '/zendframework/zend-validator/src/AbstractValidator.php',
2959
- 'Zend\\Validator\\Barcode' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode.php',
2960
- 'Zend\\Validator\\Barcode\\AbstractAdapter' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/AbstractAdapter.php',
2961
- 'Zend\\Validator\\Barcode\\AdapterInterface' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/AdapterInterface.php',
2962
- 'Zend\\Validator\\Barcode\\Codabar' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Codabar.php',
2963
- 'Zend\\Validator\\Barcode\\Code128' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Code128.php',
2964
- 'Zend\\Validator\\Barcode\\Code25' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Code25.php',
2965
- 'Zend\\Validator\\Barcode\\Code25interleaved' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Code25interleaved.php',
2966
- 'Zend\\Validator\\Barcode\\Code39' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Code39.php',
2967
- 'Zend\\Validator\\Barcode\\Code39ext' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Code39ext.php',
2968
- 'Zend\\Validator\\Barcode\\Code93' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Code93.php',
2969
- 'Zend\\Validator\\Barcode\\Code93ext' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Code93ext.php',
2970
- 'Zend\\Validator\\Barcode\\Ean12' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Ean12.php',
2971
- 'Zend\\Validator\\Barcode\\Ean13' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Ean13.php',
2972
- 'Zend\\Validator\\Barcode\\Ean14' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Ean14.php',
2973
- 'Zend\\Validator\\Barcode\\Ean18' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Ean18.php',
2974
- 'Zend\\Validator\\Barcode\\Ean2' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Ean2.php',
2975
- 'Zend\\Validator\\Barcode\\Ean5' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Ean5.php',
2976
- 'Zend\\Validator\\Barcode\\Ean8' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Ean8.php',
2977
- 'Zend\\Validator\\Barcode\\Gtin12' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Gtin12.php',
2978
- 'Zend\\Validator\\Barcode\\Gtin13' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Gtin13.php',
2979
- 'Zend\\Validator\\Barcode\\Gtin14' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Gtin14.php',
2980
- 'Zend\\Validator\\Barcode\\Identcode' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Identcode.php',
2981
- 'Zend\\Validator\\Barcode\\Intelligentmail' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Intelligentmail.php',
2982
- 'Zend\\Validator\\Barcode\\Issn' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Issn.php',
2983
- 'Zend\\Validator\\Barcode\\Itf14' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Itf14.php',
2984
- 'Zend\\Validator\\Barcode\\Leitcode' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Leitcode.php',
2985
- 'Zend\\Validator\\Barcode\\Planet' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Planet.php',
2986
- 'Zend\\Validator\\Barcode\\Postnet' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Postnet.php',
2987
- 'Zend\\Validator\\Barcode\\Royalmail' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Royalmail.php',
2988
- 'Zend\\Validator\\Barcode\\Sscc' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Sscc.php',
2989
- 'Zend\\Validator\\Barcode\\Upca' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Upca.php',
2990
- 'Zend\\Validator\\Barcode\\Upce' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Barcode/Upce.php',
2991
- 'Zend\\Validator\\Between' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Between.php',
2992
- 'Zend\\Validator\\Bitwise' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Bitwise.php',
2993
- 'Zend\\Validator\\Callback' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Callback.php',
2994
- 'Zend\\Validator\\ConfigProvider' => __DIR__ . '/..' . '/zendframework/zend-validator/src/ConfigProvider.php',
2995
- 'Zend\\Validator\\CreditCard' => __DIR__ . '/..' . '/zendframework/zend-validator/src/CreditCard.php',
2996
- 'Zend\\Validator\\Csrf' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Csrf.php',
2997
- 'Zend\\Validator\\Date' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Date.php',
2998
- 'Zend\\Validator\\DateStep' => __DIR__ . '/..' . '/zendframework/zend-validator/src/DateStep.php',
2999
- 'Zend\\Validator\\Db\\AbstractDb' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Db/AbstractDb.php',
3000
- 'Zend\\Validator\\Db\\NoRecordExists' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Db/NoRecordExists.php',
3001
- 'Zend\\Validator\\Db\\RecordExists' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Db/RecordExists.php',
3002
- 'Zend\\Validator\\Digits' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Digits.php',
3003
- 'Zend\\Validator\\EmailAddress' => __DIR__ . '/..' . '/zendframework/zend-validator/src/EmailAddress.php',
3004
- 'Zend\\Validator\\Exception\\BadMethodCallException' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Exception/BadMethodCallException.php',
3005
- 'Zend\\Validator\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Exception/ExceptionInterface.php',
3006
- 'Zend\\Validator\\Exception\\ExtensionNotLoadedException' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Exception/ExtensionNotLoadedException.php',
3007
- 'Zend\\Validator\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Exception/InvalidArgumentException.php',
3008
- 'Zend\\Validator\\Exception\\InvalidMagicMimeFileException' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Exception/InvalidMagicMimeFileException.php',
3009
- 'Zend\\Validator\\Exception\\RuntimeException' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Exception/RuntimeException.php',
3010
- 'Zend\\Validator\\Explode' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Explode.php',
3011
- 'Zend\\Validator\\File\\Count' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Count.php',
3012
- 'Zend\\Validator\\File\\Crc32' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Crc32.php',
3013
- 'Zend\\Validator\\File\\ExcludeExtension' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/ExcludeExtension.php',
3014
- 'Zend\\Validator\\File\\ExcludeMimeType' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/ExcludeMimeType.php',
3015
- 'Zend\\Validator\\File\\Exists' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Exists.php',
3016
- 'Zend\\Validator\\File\\Extension' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Extension.php',
3017
- 'Zend\\Validator\\File\\FilesSize' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/FilesSize.php',
3018
- 'Zend\\Validator\\File\\Hash' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Hash.php',
3019
- 'Zend\\Validator\\File\\ImageSize' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/ImageSize.php',
3020
- 'Zend\\Validator\\File\\IsCompressed' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/IsCompressed.php',
3021
- 'Zend\\Validator\\File\\IsImage' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/IsImage.php',
3022
- 'Zend\\Validator\\File\\Md5' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Md5.php',
3023
- 'Zend\\Validator\\File\\MimeType' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/MimeType.php',
3024
- 'Zend\\Validator\\File\\NotExists' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/NotExists.php',
3025
- 'Zend\\Validator\\File\\Sha1' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Sha1.php',
3026
- 'Zend\\Validator\\File\\Size' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Size.php',
3027
- 'Zend\\Validator\\File\\Upload' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/Upload.php',
3028
- 'Zend\\Validator\\File\\UploadFile' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/UploadFile.php',
3029
- 'Zend\\Validator\\File\\WordCount' => __DIR__ . '/..' . '/zendframework/zend-validator/src/File/WordCount.php',
3030
- 'Zend\\Validator\\GpsPoint' => __DIR__ . '/..' . '/zendframework/zend-validator/src/GpsPoint.php',
3031
- 'Zend\\Validator\\GreaterThan' => __DIR__ . '/..' . '/zendframework/zend-validator/src/GreaterThan.php',
3032
- 'Zend\\Validator\\Hex' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Hex.php',
3033
- 'Zend\\Validator\\Hostname' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Hostname.php',
3034
- 'Zend\\Validator\\Iban' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Iban.php',
3035
- 'Zend\\Validator\\Identical' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Identical.php',
3036
- 'Zend\\Validator\\InArray' => __DIR__ . '/..' . '/zendframework/zend-validator/src/InArray.php',
3037
- 'Zend\\Validator\\Ip' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Ip.php',
3038
- 'Zend\\Validator\\IsCountable' => __DIR__ . '/..' . '/zendframework/zend-validator/src/IsCountable.php',
3039
- 'Zend\\Validator\\IsInstanceOf' => __DIR__ . '/..' . '/zendframework/zend-validator/src/IsInstanceOf.php',
3040
- 'Zend\\Validator\\Isbn' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Isbn.php',
3041
- 'Zend\\Validator\\Isbn\\Isbn10' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Isbn/Isbn10.php',
3042
- 'Zend\\Validator\\Isbn\\Isbn13' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Isbn/Isbn13.php',
3043
- 'Zend\\Validator\\LessThan' => __DIR__ . '/..' . '/zendframework/zend-validator/src/LessThan.php',
3044
- 'Zend\\Validator\\Module' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Module.php',
3045
- 'Zend\\Validator\\NotEmpty' => __DIR__ . '/..' . '/zendframework/zend-validator/src/NotEmpty.php',
3046
- 'Zend\\Validator\\Regex' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Regex.php',
3047
- 'Zend\\Validator\\Sitemap\\Changefreq' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Sitemap/Changefreq.php',
3048
- 'Zend\\Validator\\Sitemap\\Lastmod' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Sitemap/Lastmod.php',
3049
- 'Zend\\Validator\\Sitemap\\Loc' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Sitemap/Loc.php',
3050
- 'Zend\\Validator\\Sitemap\\Priority' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Sitemap/Priority.php',
3051
- 'Zend\\Validator\\StaticValidator' => __DIR__ . '/..' . '/zendframework/zend-validator/src/StaticValidator.php',
3052
- 'Zend\\Validator\\Step' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Step.php',
3053
- 'Zend\\Validator\\StringLength' => __DIR__ . '/..' . '/zendframework/zend-validator/src/StringLength.php',
3054
- 'Zend\\Validator\\Timezone' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Timezone.php',
3055
- 'Zend\\Validator\\Translator\\TranslatorAwareInterface' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Translator/TranslatorAwareInterface.php',
3056
- 'Zend\\Validator\\Translator\\TranslatorInterface' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Translator/TranslatorInterface.php',
3057
- 'Zend\\Validator\\Uri' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Uri.php',
3058
- 'Zend\\Validator\\Uuid' => __DIR__ . '/..' . '/zendframework/zend-validator/src/Uuid.php',
3059
- 'Zend\\Validator\\ValidatorChain' => __DIR__ . '/..' . '/zendframework/zend-validator/src/ValidatorChain.php',
3060
- 'Zend\\Validator\\ValidatorInterface' => __DIR__ . '/..' . '/zendframework/zend-validator/src/ValidatorInterface.php',
3061
- 'Zend\\Validator\\ValidatorPluginManager' => __DIR__ . '/..' . '/zendframework/zend-validator/src/ValidatorPluginManager.php',
3062
- 'Zend\\Validator\\ValidatorPluginManagerAwareInterface' => __DIR__ . '/..' . '/zendframework/zend-validator/src/ValidatorPluginManagerAwareInterface.php',
3063
- 'Zend\\Validator\\ValidatorPluginManagerFactory' => __DIR__ . '/..' . '/zendframework/zend-validator/src/ValidatorPluginManagerFactory.php',
3064
- 'Zend\\Validator\\ValidatorProviderInterface' => __DIR__ . '/..' . '/zendframework/zend-validator/src/ValidatorProviderInterface.php',
3065
- 'file' => __DIR__ . '/../..' . '/backwpup.php',
3066
  'mikemccabe\\JsonPatch\\JsonPatch' => __DIR__ . '/..' . '/mikemccabe/json-patch-php/src/JsonPatch.php',
3067
  'mikemccabe\\JsonPatch\\JsonPatchException' => __DIR__ . '/..' . '/mikemccabe/json-patch-php/src/JsonPatch.php',
3068
  );
8
  {
9
  public static $files = array (
10
  '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
 
 
 
11
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
12
  );
13
 
16
  array (
17
  'mikemccabe\\JsonPatch\\' => 21,
18
  ),
 
 
 
 
 
 
 
 
19
  'W' =>
20
  array (
21
  'WindowsAzure\\' => 13,
29
  'P' =>
30
  array (
31
  'Psr\\Log\\' => 8,
 
32
  'Psr\\Container\\' => 14,
33
  ),
34
  'M' =>
35
  array (
36
  'Monolog\\' => 8,
 
37
  ),
38
  'I' =>
39
  array (
 
40
  'Inpsyde\\BackWPup\\Tests\\' => 23,
41
  'Inpsyde\\BackWPup\\' => 17,
42
  ),
 
 
 
 
 
 
43
  'F' =>
44
  array (
45
  'Firebase\\JWT\\' => 13,
55
  array (
56
  0 => __DIR__ . '/..' . '/mikemccabe/json-patch-php/src',
57
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  'WindowsAzure\\' =>
59
  array (
60
+ 0 => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure',
61
  ),
62
  'Symfony\\Polyfill\\Mbstring\\' =>
63
  array (
75
  array (
76
  0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
77
  ),
 
 
 
 
78
  'Psr\\Container\\' =>
79
  array (
80
  0 => __DIR__ . '/..' . '/psr/container/src',
83
  array (
84
  0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog',
85
  ),
 
 
 
 
 
 
 
 
86
  'Inpsyde\\BackWPup\\Tests\\' =>
87
  array (
88
  0 => __DIR__ . '/../..' . '/tests/php',
91
  array (
92
  0 => __DIR__ . '/../..' . '/inc',
93
  ),
 
 
 
 
 
 
 
 
 
 
 
 
94
  'Firebase\\JWT\\' =>
95
  array (
96
  0 => __DIR__ . '/..' . '/firebase/php-jwt/src',
122
  ),
123
  'M' =>
124
  array (
125
+ 'Mail_mimeDecode' =>
126
+ array (
127
+ 0 => __DIR__ . '/..' . '/pear/mail_mime-decode',
128
+ ),
129
  'Mail' =>
130
  array (
131
  0 => __DIR__ . '/..' . '/pear/mail_mime',
132
  ),
133
  ),
134
+ 'H' =>
135
+ array (
136
+ 'HTTP_Request2' =>
137
+ array (
138
+ 0 => __DIR__ . '/..' . '/pear/http_request2',
139
+ ),
140
+ ),
141
  'G' =>
142
  array (
143
  'Guzzle\\Tests' =>
144
  array (
145
  0 => __DIR__ . '/..' . '/guzzle/guzzle/tests',
146
+ 1 => __DIR__ . '/..' . '/guzzlehttp/guzzle/tests',
147
  ),
148
  'Guzzle' =>
149
  array (
150
  0 => __DIR__ . '/..' . '/guzzle/guzzle/src',
151
+ 1 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src',
152
  ),
153
  ),
154
  'C' =>
1250
  'Firebase\\JWT\\ExpiredException' => __DIR__ . '/..' . '/firebase/php-jwt/src/ExpiredException.php',
1251
  'Firebase\\JWT\\JWT' => __DIR__ . '/..' . '/firebase/php-jwt/src/JWT.php',
1252
  'Firebase\\JWT\\SignatureInvalidException' => __DIR__ . '/..' . '/firebase/php-jwt/src/SignatureInvalidException.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1253
  'Guzzle\\Batch\\AbstractBatchDecorator' => __DIR__ . '/..' . '/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php',
1254
  'Guzzle\\Batch\\Batch' => __DIR__ . '/..' . '/guzzle/guzzle/src/Guzzle/Batch/Batch.php',
1255
  'Guzzle\\Batch\\BatchBuilder' => __DIR__ . '/..' . '/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php',
1656
  'Guzzle\\Tests\\Service\\ServiceBuilderTest' => __DIR__ . '/..' . '/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php',
1657
  'Guzzle\\Tests\\Stream\\PhpStreamRequestFactoryTest' => __DIR__ . '/..' . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php',
1658
  'Guzzle\\Tests\\Stream\\StreamTest' => __DIR__ . '/..' . '/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php',
1659
+ 'HTTP_Request2' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2.php',
1660
+ 'HTTP_Request2Test' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2Test.php',
1661
+ 'HTTP_Request2_Adapter' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Adapter.php',
1662
+ 'HTTP_Request2_Adapter_CommonNetworkTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/CommonNetworkTest.php',
1663
+ 'HTTP_Request2_Adapter_Curl' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Adapter/Curl.php',
1664
+ 'HTTP_Request2_Adapter_CurlTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/CurlTest.php',
1665
+ 'HTTP_Request2_Adapter_Mock' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Adapter/Mock.php',
1666
+ 'HTTP_Request2_Adapter_MockTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/MockTest.php',
1667
+ 'HTTP_Request2_Adapter_Skip_CurlTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/SkippedTests.php',
1668
+ 'HTTP_Request2_Adapter_Skip_SocketProxyTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/SkippedTests.php',
1669
+ 'HTTP_Request2_Adapter_Skip_SocketTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/SkippedTests.php',
1670
+ 'HTTP_Request2_Adapter_Socket' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Adapter/Socket.php',
1671
+ 'HTTP_Request2_Adapter_SocketProxyTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/SocketProxyTest.php',
1672
+ 'HTTP_Request2_Adapter_SocketTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/Adapter/SocketTest.php',
1673
+ 'HTTP_Request2_AllTests' => __DIR__ . '/..' . '/pear/http_request2/tests/AllTests.php',
1674
+ 'HTTP_Request2_ConnectionException' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Exception.php',
1675
+ 'HTTP_Request2_CookieJar' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/CookieJar.php',
1676
+ 'HTTP_Request2_CookieJarTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/CookieJarTest.php',
1677
+ 'HTTP_Request2_Exception' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Exception.php',
1678
+ 'HTTP_Request2_LogicException' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Exception.php',
1679
+ 'HTTP_Request2_MessageException' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Exception.php',
1680
+ 'HTTP_Request2_MockObserver' => __DIR__ . '/..' . '/pear/http_request2/tests/ObserverTest.php',
1681
+ 'HTTP_Request2_MultipartBody' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/MultipartBody.php',
1682
+ 'HTTP_Request2_MultipartBodyTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/MultipartBodyTest.php',
1683
+ 'HTTP_Request2_NotImplementedException' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Exception.php',
1684
+ 'HTTP_Request2_ObserverTest' => __DIR__ . '/..' . '/pear/http_request2/tests/ObserverTest.php',
1685
+ 'HTTP_Request2_Observer_Log' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Observer/Log.php',
1686
+ 'HTTP_Request2_Observer_UncompressingDownload' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Observer/UncompressingDownload.php',
1687
+ 'HTTP_Request2_Response' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/Response.php',
1688
+ 'HTTP_Request2_ResponseTest' => __DIR__ . '/..' . '/pear/http_request2/tests/Request2/ResponseTest.php',
1689
+ 'HTTP_Request2_SOCKS5' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/SOCKS5.php',
1690
+ 'HTTP_Request2_SocketWrapper' => __DIR__ . '/..' . '/pear/http_request2/HTTP/Request2/SocketWrapper.php',
1691
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\Downloader' => __DIR__ . '/../..' . '/inc/Pro/Restore/LogDownloader/Downloader.php',
1692
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\DownloaderFactory' => __DIR__ . '/../..' . '/inc/Pro/Restore/LogDownloader/DownloaderFactory.php',
1693
  'Inpsyde\\BackWPup\\Pro\\Restore\\LogDownloader\\View' => __DIR__ . '/../..' . '/inc/Pro/Restore/LogDownloader/View.php',
1723
  'Inpsyde_PhoneHome_HttpClient' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/HttpClient.php',
1724
  'Inpsyde_PhoneHome_Template_Buttons' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Template/Buttons.php',
1725
  'Inpsyde_PhoneHome_Template_Loader' => __DIR__ . '/..' . '/inpsyde/phone-home-client/src/Template/Loader.php',
 
 
 
1726
  'Mail_mime' => __DIR__ . '/..' . '/pear/mail_mime/Mail/mime.php',
1727
+ 'Mail_mimeDecode' => __DIR__ . '/..' . '/pear/mail_mime-decode/Mail/mimeDecode.php',
1728
  'Mail_mimePart' => __DIR__ . '/..' . '/pear/mail_mime/Mail/mimePart.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1729
  'Monolog\\ErrorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ErrorHandler.php',
1730
  'Monolog\\Formatter\\ChromePHPFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php',
1731
  'Monolog\\Formatter\\ElasticaFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php',
2161
  'Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php',
2162
  'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php',
2163
  'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php',
 
 
 
 
 
 
 
2164
  'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php',
2165
  'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php',
2166
  'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php',
2236
  'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriter.php',
2237
  'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php',
2238
  'System' => __DIR__ . '/..' . '/pear/pear-core-minimal/src/System.php',
2239
+ 'WindowsAzure\\Blob\\BlobRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/BlobRestProxy.php',
2240
+ 'WindowsAzure\\Blob\\Internal\\IBlob' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Internal/IBlob.php',
2241
+ 'WindowsAzure\\Blob\\Models\\AccessCondition' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AccessCondition.php',
2242
+ 'WindowsAzure\\Blob\\Models\\AccessPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AccessPolicy.php',
2243
+ 'WindowsAzure\\Blob\\Models\\AcquireLeaseOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AcquireLeaseOptions.php',
2244
+ 'WindowsAzure\\Blob\\Models\\AcquireLeaseResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/AcquireLeaseResult.php',
2245
+ 'WindowsAzure\\Blob\\Models\\Blob' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/Blob.php',
2246
+ 'WindowsAzure\\Blob\\Models\\BlobBlockType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobBlockType.php',
2247
+ 'WindowsAzure\\Blob\\Models\\BlobPrefix' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobPrefix.php',
2248
+ 'WindowsAzure\\Blob\\Models\\BlobProperties' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobProperties.php',
2249
+ 'WindowsAzure\\Blob\\Models\\BlobServiceOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobServiceOptions.php',
2250
+ 'WindowsAzure\\Blob\\Models\\BlobType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlobType.php',
2251
+ 'WindowsAzure\\Blob\\Models\\Block' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/Block.php',
2252
+ 'WindowsAzure\\Blob\\Models\\BlockList' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BlockList.php',
2253
+ 'WindowsAzure\\Blob\\Models\\BreakLeaseResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/BreakLeaseResult.php',
2254
+ 'WindowsAzure\\Blob\\Models\\CommitBlobBlocksOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CommitBlobBlocksOptions.php',
2255
+ 'WindowsAzure\\Blob\\Models\\Container' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/Container.php',
2256
+ 'WindowsAzure\\Blob\\Models\\ContainerAcl' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ContainerACL.php',
2257
+ 'WindowsAzure\\Blob\\Models\\ContainerProperties' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ContainerProperties.php',
2258
+ 'WindowsAzure\\Blob\\Models\\CopyBlobOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CopyBlobOptions.php',
2259
+ 'WindowsAzure\\Blob\\Models\\CopyBlobResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CopyBlobResult.php',
2260
+ 'WindowsAzure\\Blob\\Models\\CreateBlobBlockOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobBlockOptions.php',
2261
+ 'WindowsAzure\\Blob\\Models\\CreateBlobOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobOptions.php',
2262
+ 'WindowsAzure\\Blob\\Models\\CreateBlobPagesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobPagesOptions.php',
2263
+ 'WindowsAzure\\Blob\\Models\\CreateBlobPagesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobPagesResult.php',
2264
+ 'WindowsAzure\\Blob\\Models\\CreateBlobSnapshotOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobSnapshotOptions.php',
2265
+ 'WindowsAzure\\Blob\\Models\\CreateBlobSnapshotResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateBlobSnapshotResult.php',
2266
+ 'WindowsAzure\\Blob\\Models\\CreateContainerOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/CreateContainerOptions.php',
2267
+ 'WindowsAzure\\Blob\\Models\\DeleteBlobOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/DeleteBlobOptions.php',
2268
+ 'WindowsAzure\\Blob\\Models\\DeleteContainerOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/DeleteContainerOptions.php',
2269
+ 'WindowsAzure\\Blob\\Models\\GetBlobMetadataOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobMetadataOptions.php',
2270
+ 'WindowsAzure\\Blob\\Models\\GetBlobMetadataResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobMetadataResult.php',
2271
+ 'WindowsAzure\\Blob\\Models\\GetBlobOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobOptions.php',
2272
+ 'WindowsAzure\\Blob\\Models\\GetBlobPropertiesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobPropertiesOptions.php',
2273
+ 'WindowsAzure\\Blob\\Models\\GetBlobPropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobPropertiesResult.php',
2274
+ 'WindowsAzure\\Blob\\Models\\GetBlobResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetBlobResult.php',
2275
+ 'WindowsAzure\\Blob\\Models\\GetContainerAclResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetContainerACLResult.php',
2276
+ 'WindowsAzure\\Blob\\Models\\GetContainerPropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/GetContainerPropertiesResult.php',
2277
+ 'WindowsAzure\\Blob\\Models\\LeaseMode' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/LeaseMode.php',
2278
+ 'WindowsAzure\\Blob\\Models\\ListBlobBlocksOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobBlocksOptions.php',
2279
+ 'WindowsAzure\\Blob\\Models\\ListBlobBlocksResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobBlocksResult.php',
2280
+ 'WindowsAzure\\Blob\\Models\\ListBlobsOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobsOptions.php',
2281
+ 'WindowsAzure\\Blob\\Models\\ListBlobsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListBlobsResult.php',
2282
+ 'WindowsAzure\\Blob\\Models\\ListContainersOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListContainersOptions.php',
2283
+ 'WindowsAzure\\Blob\\Models\\ListContainersResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListContainersResult.php',
2284
+ 'WindowsAzure\\Blob\\Models\\ListPageBlobRangesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListPageBlobRangesOptions.php',
2285
+ 'WindowsAzure\\Blob\\Models\\ListPageBlobRangesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/ListPageBlobRangesResult.php',
2286
+ 'WindowsAzure\\Blob\\Models\\PageRange' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/PageRange.php',
2287
+ 'WindowsAzure\\Blob\\Models\\PageWriteOption' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/PageWriteOption.php',
2288
+ 'WindowsAzure\\Blob\\Models\\PublicAccessType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/PublicAccessType.php',
2289
+ 'WindowsAzure\\Blob\\Models\\SetBlobMetadataOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobMetadataOptions.php',
2290
+ 'WindowsAzure\\Blob\\Models\\SetBlobMetadataResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobMetadataResult.php',
2291
+ 'WindowsAzure\\Blob\\Models\\SetBlobPropertiesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobPropertiesOptions.php',
2292
+ 'WindowsAzure\\Blob\\Models\\SetBlobPropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetBlobPropertiesResult.php',
2293
+ 'WindowsAzure\\Blob\\Models\\SetContainerMetadataOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SetContainerMetadataOptions.php',
2294
+ 'WindowsAzure\\Blob\\Models\\SignedIdentifier' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Blob/Models/SignedIdentifier.php',
2295
+ 'WindowsAzure\\Common\\CloudConfigurationManager' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/CloudConfigurationManager.php',
2296
+ 'WindowsAzure\\Common\\Internal\\Atom\\AtomBase' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/AtomBase.php',
2297
+ 'WindowsAzure\\Common\\Internal\\Atom\\AtomLink' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/AtomLink.php',
2298
+ 'WindowsAzure\\Common\\Internal\\Atom\\Category' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Category.php',
2299
+ 'WindowsAzure\\Common\\Internal\\Atom\\Content' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Content.php',
2300
+ 'WindowsAzure\\Common\\Internal\\Atom\\Entry' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Entry.php',
2301
+ 'WindowsAzure\\Common\\Internal\\Atom\\Feed' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Feed.php',
2302
+ 'WindowsAzure\\Common\\Internal\\Atom\\Generator' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Generator.php',
2303
+ 'WindowsAzure\\Common\\Internal\\Atom\\Person' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Person.php',
2304
+ 'WindowsAzure\\Common\\Internal\\Atom\\Source' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Atom/Source.php',
2305
+ 'WindowsAzure\\Common\\Internal\\Authentication\\IAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/IAuthScheme.php',
2306
+ 'WindowsAzure\\Common\\Internal\\Authentication\\OAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/OAuthScheme.php',
2307
+ 'WindowsAzure\\Common\\Internal\\Authentication\\SharedKeyAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/SharedKeyAuthScheme.php',
2308
+ 'WindowsAzure\\Common\\Internal\\Authentication\\StorageAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/StorageAuthScheme.php',
2309
+ 'WindowsAzure\\Common\\Internal\\Authentication\\TableSharedKeyLiteAuthScheme' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php',
2310
+ 'WindowsAzure\\Common\\Internal\\ConnectionStringParser' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ConnectionStringParser.php',
2311
+ 'WindowsAzure\\Common\\Internal\\ConnectionStringSource' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ConnectionStringSource.php',
2312
+ 'WindowsAzure\\Common\\Internal\\FilterableService' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/FilterableService.php',
2313
+ 'WindowsAzure\\Common\\Internal\\Filters\\AuthenticationFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/AuthenticationFilter.php',
2314
+ 'WindowsAzure\\Common\\Internal\\Filters\\DateFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/DateFilter.php',
2315
+ 'WindowsAzure\\Common\\Internal\\Filters\\ExponentialRetryPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/ExponentialRetryPolicy.php',
2316
+ 'WindowsAzure\\Common\\Internal\\Filters\\HeadersFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/HeadersFilter.php',
2317
+ 'WindowsAzure\\Common\\Internal\\Filters\\RetryPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/RetryPolicy.php',
2318
+ 'WindowsAzure\\Common\\Internal\\Filters\\RetryPolicyFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/RetryPolicyFilter.php',
2319
+ 'WindowsAzure\\Common\\Internal\\Filters\\WrapFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Filters/WrapFilter.php',
2320
+ 'WindowsAzure\\Common\\Internal\\Http\\BatchRequest' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/BatchRequest.php',
2321
+ 'WindowsAzure\\Common\\Internal\\Http\\BatchResponse' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/BatchResponse.php',
2322
+ 'WindowsAzure\\Common\\Internal\\Http\\HttpCallContext' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/HttpCallContext.php',
2323
+ 'WindowsAzure\\Common\\Internal\\Http\\HttpClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/HttpClient.php',
2324
+ 'WindowsAzure\\Common\\Internal\\Http\\IHttpClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/IHttpClient.php',
2325
+ 'WindowsAzure\\Common\\Internal\\Http\\IUrl' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/IUrl.php',
2326
+ 'WindowsAzure\\Common\\Internal\\Http\\Url' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Http/Url.php',
2327
+ 'WindowsAzure\\Common\\Internal\\IServiceFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/IServiceFilter.php',
2328
+ 'WindowsAzure\\Common\\Internal\\InvalidArgumentTypeException' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/InvalidArgumentTypeException.php',
2329
+ 'WindowsAzure\\Common\\Internal\\Logger' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Logger.php',
2330
+ 'WindowsAzure\\Common\\Internal\\MediaServicesSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/MediaServicesSettings.php',
2331
+ 'WindowsAzure\\Common\\Internal\\OAuthRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/OAuthRestProxy.php',
2332
+ 'WindowsAzure\\Common\\Internal\\ParserState' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ConnectionStringParser.php',
2333
+ 'WindowsAzure\\Common\\Internal\\Resources' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Resources.php',
2334
+ 'WindowsAzure\\Common\\Internal\\RestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/RestProxy.php',
2335
+ 'WindowsAzure\\Common\\Internal\\Serialization\\ISerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Serialization/ISerializer.php',
2336
+ 'WindowsAzure\\Common\\Internal\\Serialization\\JsonSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Serialization/JsonSerializer.php',
2337
+ 'WindowsAzure\\Common\\Internal\\Serialization\\XmlSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Serialization/XmlSerializer.php',
2338
+ 'WindowsAzure\\Common\\Internal\\ServiceBusSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceBusSettings.php',
2339
+ 'WindowsAzure\\Common\\Internal\\ServiceManagementSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceManagementSettings.php',
2340
+ 'WindowsAzure\\Common\\Internal\\ServiceRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceRestProxy.php',
2341
+ 'WindowsAzure\\Common\\Internal\\ServiceSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/ServiceSettings.php',
2342
+ 'WindowsAzure\\Common\\Internal\\StorageServiceSettings' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/StorageServiceSettings.php',
2343
+ 'WindowsAzure\\Common\\Internal\\Utilities' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Utilities.php',
2344
+ 'WindowsAzure\\Common\\Internal\\Validate' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Internal/Validate.php',
2345
+ 'WindowsAzure\\Common\\Models\\GetServicePropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Models/GetServicePropertiesResult.php',
2346
+ 'WindowsAzure\\Common\\Models\\Logging' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Models/Logging.php',
2347
+ 'WindowsAzure\\Common\\Models\\Metrics' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Models/Metrics.php',
2348
+ 'WindowsAzure\\Common\\Models\\OAuthAccessToken' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Models/OAuthAccessToken.php',
2349
+ 'WindowsAzure\\Common\\Models\\RetentionPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Models/RetentionPolicy.php',
2350
+ 'WindowsAzure\\Common\\Models\\ServiceProperties' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/Models/ServiceProperties.php',
2351
+ 'WindowsAzure\\Common\\ServiceException' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/ServiceException.php',
2352
+ 'WindowsAzure\\Common\\ServicesBuilder' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Common/ServicesBuilder.php',
2353
+ 'WindowsAzure\\MediaServices\\Internal\\ContentPropertiesSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Internal/ContentPropertiesSerializer.php',
2354
+ 'WindowsAzure\\MediaServices\\Internal\\IMediaServices' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Internal/IMediaServices.php',
2355
+ 'WindowsAzure\\MediaServices\\MediaServicesRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/MediaServicesRestProxy.php',
2356
+ 'WindowsAzure\\MediaServices\\Models\\AccessPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AccessPolicy.php',
2357
+ 'WindowsAzure\\MediaServices\\Models\\Asset' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Asset.php',
2358
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryPolicy.php',
2359
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyConfigurationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryPolicyConfigurationKey.php',
2360
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryPolicyType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryPolicyType.php',
2361
+ 'WindowsAzure\\MediaServices\\Models\\AssetDeliveryProtocol' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetDeliveryProtocol.php',
2362
+ 'WindowsAzure\\MediaServices\\Models\\AssetFile' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/AssetFile.php',
2363
+ 'WindowsAzure\\MediaServices\\Models\\ContentKey' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKey.php',
2364
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyAuthorizationPolicy.php',
2365
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyOption' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyAuthorizationPolicyOption.php',
2366
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicyRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyAuthorizationPolicyRestriction.php',
2367
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyDeliveryType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyDeliveryType.php',
2368
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyRestrictionType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyRestrictionType.php',
2369
+ 'WindowsAzure\\MediaServices\\Models\\ContentKeyTypes' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ContentKeyTypes.php',
2370
+ 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnit' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/EncodingReservedUnit.php',
2371
+ 'WindowsAzure\\MediaServices\\Models\\EncodingReservedUnitType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/EncodingReservedUnitType.php',
2372
+ 'WindowsAzure\\MediaServices\\Models\\EncryptionSchemes' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/EncryptionSchemes.php',
2373
+ 'WindowsAzure\\MediaServices\\Models\\ErrorDetail' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ErrorDetail.php',
2374
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifest' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifest.php',
2375
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifestAsset' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifestAsset.php',
2376
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifestFile' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifestFile.php',
2377
+ 'WindowsAzure\\MediaServices\\Models\\IngestManifestStatistics' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/IngestManifestStatistics.php',
2378
+ 'WindowsAzure\\MediaServices\\Models\\Job' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Job.php',
2379
+ 'WindowsAzure\\MediaServices\\Models\\JobTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/JobTemplate.php',
2380
+ 'WindowsAzure\\MediaServices\\Models\\Locator' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Locator.php',
2381
+ 'WindowsAzure\\MediaServices\\Models\\MediaProcessor' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/MediaProcessor.php',
2382
+ 'WindowsAzure\\MediaServices\\Models\\ProtectionKeyTypes' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/ProtectionKeyTypes.php',
2383
+ 'WindowsAzure\\MediaServices\\Models\\StorageAccount' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/StorageAccount.php',
2384
+ 'WindowsAzure\\MediaServices\\Models\\Task' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/Task.php',
2385
+ 'WindowsAzure\\MediaServices\\Models\\TaskHistoricalEvent' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/TaskHistoricalEvent.php',
2386
+ 'WindowsAzure\\MediaServices\\Models\\TaskOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/TaskOptions.php',
2387
+ 'WindowsAzure\\MediaServices\\Models\\TaskTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Models/TaskTemplate.php',
2388
+ 'WindowsAzure\\MediaServices\\Templates\\AgcAndColorStripeRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/AgcAndColorStripeRestriction.php',
2389
+ 'WindowsAzure\\MediaServices\\Templates\\AllowedTrackTypes' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/AllowedTrackTypes.php',
2390
+ 'WindowsAzure\\MediaServices\\Templates\\AsymmetricTokenVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/AsymmetricTokenVerificationKey.php',
2391
+ 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromHeader' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ContentEncryptionKeyFromHeader.php',
2392
+ 'WindowsAzure\\MediaServices\\Templates\\ContentEncryptionKeyFromKeyIdentifier' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ContentEncryptionKeyFromKeyIdentifier.php',
2393
+ 'WindowsAzure\\MediaServices\\Templates\\ContentKeySpecs' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ContentKeySpecs.php',
2394
+ 'WindowsAzure\\MediaServices\\Templates\\ErrorMessages' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ErrorMessages.php',
2395
+ 'WindowsAzure\\MediaServices\\Templates\\ExplicitAnalogTelevisionRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ExplicitAnalogTelevisionRestriction.php',
2396
+ 'WindowsAzure\\MediaServices\\Templates\\Hdcp' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/Hdcp.php',
2397
+ 'WindowsAzure\\MediaServices\\Templates\\MediaServicesLicenseTemplateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/MediaServicesLicenseTemplateSerializer.php',
2398
+ 'WindowsAzure\\MediaServices\\Templates\\OpenIdConnectDiscoveryDocument' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/OpenIdConnectDiscoveryDocument.php',
2399
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyContentKey' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyContentKey.php',
2400
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseResponseTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyLicenseResponseTemplate.php',
2401
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyLicenseTemplate.php',
2402
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyLicenseType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyLicenseType.php',
2403
+ 'WindowsAzure\\MediaServices\\Templates\\PlayReadyPlayRight' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/PlayReadyPlayRight.php',
2404
+ 'WindowsAzure\\MediaServices\\Templates\\RequiredOutputProtection' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/RequiredOutputProtection.php',
2405
+ 'WindowsAzure\\MediaServices\\Templates\\ScmsRestriction' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/ScmsRestriction.php',
2406
+ 'WindowsAzure\\MediaServices\\Templates\\SymmetricVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/SymmetricVerificationKey.php',
2407
+ 'WindowsAzure\\MediaServices\\Templates\\TokenClaim' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenClaim.php',
2408
+ 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplate' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenRestrictionTemplate.php',
2409
+ 'WindowsAzure\\MediaServices\\Templates\\TokenRestrictionTemplateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenRestrictionTemplateSerializer.php',
2410
+ 'WindowsAzure\\MediaServices\\Templates\\TokenType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenType.php',
2411
+ 'WindowsAzure\\MediaServices\\Templates\\TokenVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/TokenVerificationKey.php',
2412
+ 'WindowsAzure\\MediaServices\\Templates\\UnknownOutputPassingOption' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/UnknownOutputPassingOption.php',
2413
+ 'WindowsAzure\\MediaServices\\Templates\\WidevineMessage' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/WidevineMessage.php',
2414
+ 'WindowsAzure\\MediaServices\\Templates\\WidevineMessageSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/WidevineMessageSerializer.php',
2415
+ 'WindowsAzure\\MediaServices\\Templates\\X509CertTokenVerificationKey' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/MediaServices/Templates/X509CertTokenVerificationKey.php',
2416
+ 'WindowsAzure\\Queue\\Internal\\IQueue' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Internal/IQueue.php',
2417
+ 'WindowsAzure\\Queue\\Models\\CreateMessageOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/CreateMessageOptions.php',
2418
+ 'WindowsAzure\\Queue\\Models\\CreateQueueOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/CreateQueueOptions.php',
2419
+ 'WindowsAzure\\Queue\\Models\\GetQueueMetadataResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/GetQueueMetadataResult.php',
2420
+ 'WindowsAzure\\Queue\\Models\\ListMessagesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListMessagesOptions.php',
2421
+ 'WindowsAzure\\Queue\\Models\\ListMessagesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListMessagesResult.php',
2422
+ 'WindowsAzure\\Queue\\Models\\ListQueuesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListQueuesOptions.php',
2423
+ 'WindowsAzure\\Queue\\Models\\ListQueuesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/ListQueuesResult.php',
2424
+ 'WindowsAzure\\Queue\\Models\\PeekMessagesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/PeekMessagesOptions.php',
2425
+ 'WindowsAzure\\Queue\\Models\\PeekMessagesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/PeekMessagesResult.php',
2426
+ 'WindowsAzure\\Queue\\Models\\Queue' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/Queue.php',
2427
+ 'WindowsAzure\\Queue\\Models\\QueueMessage' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/QueueMessage.php',
2428
+ 'WindowsAzure\\Queue\\Models\\QueueServiceOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/QueueServiceOptions.php',
2429
+ 'WindowsAzure\\Queue\\Models\\UpdateMessageResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/UpdateMessageResult.php',
2430
+ 'WindowsAzure\\Queue\\Models\\WindowsAzureQueueMessage' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/Models/WindowsAzureQueueMessage.php',
2431
+ 'WindowsAzure\\Queue\\QueueRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Queue/QueueRestProxy.php',
2432
+ 'WindowsAzure\\ServiceBus\\Internal\\Action' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/Action.php',
2433
+ 'WindowsAzure\\ServiceBus\\Internal\\ActiveToken' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/ActiveToken.php',
2434
+ 'WindowsAzure\\ServiceBus\\Internal\\Filter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/Filter.php',
2435
+ 'WindowsAzure\\ServiceBus\\Internal\\IServiceBus' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/IServiceBus.php',
2436
+ 'WindowsAzure\\ServiceBus\\Internal\\IWrap' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/IWrap.php',
2437
+ 'WindowsAzure\\ServiceBus\\Internal\\WrapAccessTokenResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/WrapAccessTokenResult.php',
2438
+ 'WindowsAzure\\ServiceBus\\Internal\\WrapRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/WrapRestProxy.php',
2439
+ 'WindowsAzure\\ServiceBus\\Internal\\WrapTokenManager' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Internal/WrapTokenManager.php',
2440
+ 'WindowsAzure\\ServiceBus\\Models\\BrokerProperties' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/BrokerProperties.php',
2441
+ 'WindowsAzure\\ServiceBus\\Models\\BrokeredMessage' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/BrokeredMessage.php',
2442
+ 'WindowsAzure\\ServiceBus\\Models\\CorrelationFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/CorrelationFilter.php',
2443
+ 'WindowsAzure\\ServiceBus\\Models\\EmptyRuleAction' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/EmptyRuleAction.php',
2444
+ 'WindowsAzure\\ServiceBus\\Models\\FalseFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/FalseFilter.php',
2445
+ 'WindowsAzure\\ServiceBus\\Models\\ListOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListOptions.php',
2446
+ 'WindowsAzure\\ServiceBus\\Models\\ListQueuesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListQueuesOptions.php',
2447
+ 'WindowsAzure\\ServiceBus\\Models\\ListQueuesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListQueuesResult.php',
2448
+ 'WindowsAzure\\ServiceBus\\Models\\ListRulesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListRulesOptions.php',
2449
+ 'WindowsAzure\\ServiceBus\\Models\\ListRulesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListRulesResult.php',
2450
+ 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListSubscriptionsOptions.php',
2451
+ 'WindowsAzure\\ServiceBus\\Models\\ListSubscriptionsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListSubscriptionsResult.php',
2452
+ 'WindowsAzure\\ServiceBus\\Models\\ListTopicsOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListTopicsOptions.php',
2453
+ 'WindowsAzure\\ServiceBus\\Models\\ListTopicsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ListTopicsResult.php',
2454
+ 'WindowsAzure\\ServiceBus\\Models\\QueueDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/QueueDescription.php',
2455
+ 'WindowsAzure\\ServiceBus\\Models\\QueueInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/QueueInfo.php',
2456
+ 'WindowsAzure\\ServiceBus\\Models\\ReceiveMessageOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ReceiveMessageOptions.php',
2457
+ 'WindowsAzure\\ServiceBus\\Models\\ReceiveMode' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/ReceiveMode.php',
2458
+ 'WindowsAzure\\ServiceBus\\Models\\RuleDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/RuleDescription.php',
2459
+ 'WindowsAzure\\ServiceBus\\Models\\RuleInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/RuleInfo.php',
2460
+ 'WindowsAzure\\ServiceBus\\Models\\SqlFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SqlFilter.php',
2461
+ 'WindowsAzure\\ServiceBus\\Models\\SqlRuleAction' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SqlRuleAction.php',
2462
+ 'WindowsAzure\\ServiceBus\\Models\\SubscriptionDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SubscriptionDescription.php',
2463
+ 'WindowsAzure\\ServiceBus\\Models\\SubscriptionInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/SubscriptionInfo.php',
2464
+ 'WindowsAzure\\ServiceBus\\Models\\TopicDescription' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/TopicDescription.php',
2465
+ 'WindowsAzure\\ServiceBus\\Models\\TopicInfo' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/TopicInfo.php',
2466
+ 'WindowsAzure\\ServiceBus\\Models\\TrueFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/Models/TrueFilter.php',
2467
+ 'WindowsAzure\\ServiceBus\\ServiceBusRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceBus/ServiceBusRestProxy.php',
2468
+ 'WindowsAzure\\ServiceManagement\\Internal\\IServiceManagement' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Internal/IServiceManagement.php',
2469
+ 'WindowsAzure\\ServiceManagement\\Internal\\Service' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Internal/Service.php',
2470
+ 'WindowsAzure\\ServiceManagement\\Internal\\WindowsAzureService' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Internal/WindowsAzureService.php',
2471
+ 'WindowsAzure\\ServiceManagement\\Models\\AffinityGroup' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/AffinityGroup.php',
2472
+ 'WindowsAzure\\ServiceManagement\\Models\\AsynchronousOperationResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/AsynchronousOperationResult.php',
2473
+ 'WindowsAzure\\ServiceManagement\\Models\\ChangeDeploymentConfigurationOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ChangeDeploymentConfigurationOptions.php',
2474
+ 'WindowsAzure\\ServiceManagement\\Models\\CreateAffinityGroupOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/CreateAffinityGroupOptions.php',
2475
+ 'WindowsAzure\\ServiceManagement\\Models\\CreateDeploymentOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/CreateDeploymentOptions.php',
2476
+ 'WindowsAzure\\ServiceManagement\\Models\\CreateServiceOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/CreateServiceOptions.php',
2477
+ 'WindowsAzure\\ServiceManagement\\Models\\Deployment' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Deployment.php',
2478
+ 'WindowsAzure\\ServiceManagement\\Models\\DeploymentSlot' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/DeploymentSlot.php',
2479
+ 'WindowsAzure\\ServiceManagement\\Models\\DeploymentStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/DeploymentStatus.php',
2480
+ 'WindowsAzure\\ServiceManagement\\Models\\GetAffinityGroupPropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetAffinityGroupPropertiesResult.php',
2481
+ 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetDeploymentOptions.php',
2482
+ 'WindowsAzure\\ServiceManagement\\Models\\GetDeploymentResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetDeploymentResult.php',
2483
+ 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetHostedServicePropertiesOptions.php',
2484
+ 'WindowsAzure\\ServiceManagement\\Models\\GetHostedServicePropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetHostedServicePropertiesResult.php',
2485
+ 'WindowsAzure\\ServiceManagement\\Models\\GetOperationStatusResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetOperationStatusResult.php',
2486
+ 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServiceKeysResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetStorageServiceKeysResult.php',
2487
+ 'WindowsAzure\\ServiceManagement\\Models\\GetStorageServicePropertiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/GetStorageServicePropertiesResult.php',
2488
+ 'WindowsAzure\\ServiceManagement\\Models\\HostedService' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/HostedService.php',
2489
+ 'WindowsAzure\\ServiceManagement\\Models\\InputEndpoint' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/InputEndpoint.php',
2490
+ 'WindowsAzure\\ServiceManagement\\Models\\KeyType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/KeyType.php',
2491
+ 'WindowsAzure\\ServiceManagement\\Models\\ListAffinityGroupsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListAffinityGroupsResult.php',
2492
+ 'WindowsAzure\\ServiceManagement\\Models\\ListHostedServicesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListHostedServicesResult.php',
2493
+ 'WindowsAzure\\ServiceManagement\\Models\\ListLocationsResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListLocationsResult.php',
2494
+ 'WindowsAzure\\ServiceManagement\\Models\\ListStorageServicesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/ListStorageServicesResult.php',
2495
+ 'WindowsAzure\\ServiceManagement\\Models\\Location' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Location.php',
2496
+ 'WindowsAzure\\ServiceManagement\\Models\\Mode' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Mode.php',
2497
+ 'WindowsAzure\\ServiceManagement\\Models\\OperationStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/OperationStatus.php',
2498
+ 'WindowsAzure\\ServiceManagement\\Models\\Role' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/Role.php',
2499
+ 'WindowsAzure\\ServiceManagement\\Models\\RoleInstance' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/RoleInstance.php',
2500
+ 'WindowsAzure\\ServiceManagement\\Models\\StorageService' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/StorageService.php',
2501
+ 'WindowsAzure\\ServiceManagement\\Models\\UpdateServiceOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/UpdateServiceOptions.php',
2502
+ 'WindowsAzure\\ServiceManagement\\Models\\UpgradeDeploymentOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/UpgradeDeploymentOptions.php',
2503
+ 'WindowsAzure\\ServiceManagement\\Models\\UpgradeStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/Models/UpgradeStatus.php',
2504
+ 'WindowsAzure\\ServiceManagement\\ServiceManagementRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceManagement/ServiceManagementRestProxy.php',
2505
+ 'WindowsAzure\\ServiceRuntime\\Internal\\AcquireCurrentState' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/AcquireCurrentState.php',
2506
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ChannelNotAvailableException' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ChannelNotAvailableException.php',
2507
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ChunkedGoalStateDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ChunkedGoalStateDeserializer.php',
2508
+ 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentState' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/CurrentState.php',
2509
+ 'WindowsAzure\\ServiceRuntime\\Internal\\CurrentStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/CurrentStatus.php',
2510
+ 'WindowsAzure\\ServiceRuntime\\Internal\\FileInputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/FileInputChannel.php',
2511
+ 'WindowsAzure\\ServiceRuntime\\Internal\\FileOutputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/FileOutputChannel.php',
2512
+ 'WindowsAzure\\ServiceRuntime\\Internal\\GoalState' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/GoalState.php',
2513
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ICurrentStateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ICurrentStateSerializer.php',
2514
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IGoalStateDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IGoalStateDeserializer.php',
2515
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IInputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IInputChannel.php',
2516
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IOutputChannel' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IOutputChannel.php',
2517
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentChange' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRoleEnvironmentChange.php',
2518
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRoleEnvironmentDataDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRoleEnvironmentDataDeserializer.php',
2519
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeClient.php',
2520
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeClientFactory' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeClientFactory.php',
2521
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeCurrentStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeCurrentStateClient.php',
2522
+ 'WindowsAzure\\ServiceRuntime\\Internal\\IRuntimeGoalStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/IRuntimeGoalStateClient.php',
2523
+ 'WindowsAzure\\ServiceRuntime\\Internal\\LocalResource' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/LocalResource.php',
2524
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeClient.php',
2525
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeClientFactory' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeClientFactory.php',
2526
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeCurrentStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeCurrentStateClient.php',
2527
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Protocol1RuntimeGoalStateClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Protocol1RuntimeGoalStateClient.php',
2528
+ 'WindowsAzure\\ServiceRuntime\\Internal\\ReleaseCurrentState' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/ReleaseCurrentState.php',
2529
+ 'WindowsAzure\\ServiceRuntime\\Internal\\Role' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/Role.php',
2530
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentConfigurationSettingChange' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentConfigurationSettingChange.php',
2531
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentData' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentData.php',
2532
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentNotAvailableException' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentNotAvailableException.php',
2533
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleEnvironmentTopologyChange' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleEnvironmentTopologyChange.php',
2534
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstance' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleInstance.php',
2535
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceEndpoint' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleInstanceEndpoint.php',
2536
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RoleInstanceStatus' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RoleInstanceStatus.php',
2537
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeKernel' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RuntimeKernel.php',
2538
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionManager' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RuntimeVersionManager.php',
2539
+ 'WindowsAzure\\ServiceRuntime\\Internal\\RuntimeVersionProtocolClient' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/RuntimeVersionProtocolClient.php',
2540
+ 'WindowsAzure\\ServiceRuntime\\Internal\\XmlCurrentStateSerializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/XmlCurrentStateSerializer.php',
2541
+ 'WindowsAzure\\ServiceRuntime\\Internal\\XmlGoalStateDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/XmlGoalStateDeserializer.php',
2542
+ 'WindowsAzure\\ServiceRuntime\\Internal\\XmlRoleEnvironmentDataDeserializer' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/Internal/XmlRoleEnvironmentDataDeserializer.php',
2543
+ 'WindowsAzure\\ServiceRuntime\\RoleEnvironment' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/ServiceRuntime/RoleEnvironment.php',
2544
+ 'WindowsAzure\\Table\\Internal\\AtomReaderWriter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Internal/AtomReaderWriter.php',
2545
+ 'WindowsAzure\\Table\\Internal\\IAtomReaderWriter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Internal/IAtomReaderWriter.php',
2546
+ 'WindowsAzure\\Table\\Internal\\IMimeReaderWriter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Internal/IMimeReaderWriter.php',
2547
+ 'WindowsAzure\\Table\\Internal\\ITable' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Internal/ITable.php',
2548
+ 'WindowsAzure\\Table\\Internal\\MimeReaderWriter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Internal/MimeReaderWriter.php',
2549
+ 'WindowsAzure\\Table\\Models\\BatchError' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchError.php',
2550
+ 'WindowsAzure\\Table\\Models\\BatchOperation' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperation.php',
2551
+ 'WindowsAzure\\Table\\Models\\BatchOperationParameterName' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperationParameterName.php',
2552
+ 'WindowsAzure\\Table\\Models\\BatchOperationType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperationType.php',
2553
+ 'WindowsAzure\\Table\\Models\\BatchOperations' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchOperations.php',
2554
+ 'WindowsAzure\\Table\\Models\\BatchResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/BatchResult.php',
2555
+ 'WindowsAzure\\Table\\Models\\DeleteEntityOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/DeleteEntityOptions.php',
2556
+ 'WindowsAzure\\Table\\Models\\EdmType' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/EdmType.php',
2557
+ 'WindowsAzure\\Table\\Models\\Entity' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Entity.php',
2558
+ 'WindowsAzure\\Table\\Models\\Filters\\BinaryFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/BinaryFilter.php',
2559
+ 'WindowsAzure\\Table\\Models\\Filters\\ConstantFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/ConstantFilter.php',
2560
+ 'WindowsAzure\\Table\\Models\\Filters\\Filter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/Filter.php',
2561
+ 'WindowsAzure\\Table\\Models\\Filters\\PropertyNameFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/PropertyNameFilter.php',
2562
+ 'WindowsAzure\\Table\\Models\\Filters\\QueryStringFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/QueryStringFilter.php',
2563
+ 'WindowsAzure\\Table\\Models\\Filters\\UnaryFilter' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Filters/UnaryFilter.php',
2564
+ 'WindowsAzure\\Table\\Models\\GetEntityResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/GetEntityResult.php',
2565
+ 'WindowsAzure\\Table\\Models\\GetTableResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/GetTableResult.php',
2566
+ 'WindowsAzure\\Table\\Models\\InsertEntityResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/InsertEntityResult.php',
2567
+ 'WindowsAzure\\Table\\Models\\Property' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Property.php',
2568
+ 'WindowsAzure\\Table\\Models\\Query' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/Query.php',
2569
+ 'WindowsAzure\\Table\\Models\\QueryEntitiesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryEntitiesOptions.php',
2570
+ 'WindowsAzure\\Table\\Models\\QueryEntitiesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryEntitiesResult.php',
2571
+ 'WindowsAzure\\Table\\Models\\QueryTablesOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryTablesOptions.php',
2572
+ 'WindowsAzure\\Table\\Models\\QueryTablesResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/QueryTablesResult.php',
2573
+ 'WindowsAzure\\Table\\Models\\TableServiceOptions' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/TableServiceOptions.php',
2574
+ 'WindowsAzure\\Table\\Models\\UpdateEntityResult' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/Models/UpdateEntityResult.php',
2575
+ 'WindowsAzure\\Table\\TableRestProxy' => __DIR__ . '/..' . '/microsoft/windowsazure/WindowsAzure/Table/TableRestProxy.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2576
  'mikemccabe\\JsonPatch\\JsonPatch' => __DIR__ . '/..' . '/mikemccabe/json-patch-php/src/JsonPatch.php',
2577
  'mikemccabe\\JsonPatch\\JsonPatchException' => __DIR__ . '/..' . '/mikemccabe/json-patch-php/src/JsonPatch.php',
2578
  );
vendor/composer/include_paths.php CHANGED
@@ -8,7 +8,9 @@ $baseDir = dirname($vendorDir);
8
  return array(
9
  $vendorDir . '/pear/archive_tar',
10
  $vendorDir . '/pear/console_getopt',
 
11
  $vendorDir . '/pear/mail_mime',
 
12
  $vendorDir . '/pear/net_url2',
13
  $vendorDir . '/pear/pear-core-minimal/src',
14
  $vendorDir . '/pear/pear_exception',
8
  return array(
9
  $vendorDir . '/pear/archive_tar',
10
  $vendorDir . '/pear/console_getopt',
11
+ $vendorDir . '/pear/http_request2',
12
  $vendorDir . '/pear/mail_mime',
13
+ $vendorDir . '/pear/mail_mime-decode',
14
  $vendorDir . '/pear/net_url2',
15
  $vendorDir . '/pear/pear-core-minimal/src',
16
  $vendorDir . '/pear/pear_exception',
vendor/composer/installed.json CHANGED
@@ -120,58 +120,25 @@
120
  "rfc4648"
121
  ]
122
  },
123
- {
124
- "name": "container-interop/container-interop",
125
- "version": "1.2.0",
126
- "version_normalized": "1.2.0.0",
127
- "source": {
128
- "type": "git",
129
- "url": "https://github.com/container-interop/container-interop.git",
130
- "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8"
131
- },
132
- "dist": {
133
- "type": "zip",
134
- "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8",
135
- "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8",
136
- "shasum": ""
137
- },
138
- "require": {
139
- "psr/container": "^1.0"
140
- },
141
- "time": "2017-02-14T19:40:03+00:00",
142
- "type": "library",
143
- "installation-source": "dist",
144
- "autoload": {
145
- "psr-4": {
146
- "Interop\\Container\\": "src/Interop/Container/"
147
- }
148
- },
149
- "notification-url": "https://packagist.org/downloads/",
150
- "license": [
151
- "MIT"
152
- ],
153
- "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
154
- "homepage": "https://github.com/container-interop/container-interop"
155
- },
156
  {
157
  "name": "firebase/php-jwt",
158
- "version": "v4.0.0",
159
- "version_normalized": "4.0.0.0",
160
  "source": {
161
  "type": "git",
162
  "url": "https://github.com/firebase/php-jwt.git",
163
- "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35"
164
  },
165
  "dist": {
166
  "type": "zip",
167
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35",
168
- "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35",
169
  "shasum": ""
170
  },
171
  "require": {
172
  "php": ">=5.3.0"
173
  },
174
- "time": "2016-07-18T04:51:16+00:00",
175
  "type": "library",
176
  "installation-source": "dist",
177
  "autoload": {
@@ -298,46 +265,69 @@
298
  },
299
  {
300
  "name": "guzzlehttp/guzzle",
301
- "version": "6.3.3",
302
- "version_normalized": "6.3.3.0",
303
  "source": {
304
  "type": "git",
305
  "url": "https://github.com/guzzle/guzzle.git",
306
- "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
307
  },
308
  "dist": {
309
  "type": "zip",
310
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
311
- "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
312
  "shasum": ""
313
  },
314
  "require": {
315
- "guzzlehttp/promises": "^1.0",
316
- "guzzlehttp/psr7": "^1.4",
317
- "php": ">=5.5"
318
- },
319
- "require-dev": {
320
  "ext-curl": "*",
321
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
322
- "psr/log": "^1.0"
323
  },
324
- "suggest": {
325
- "psr/log": "Required for using the Log middleware"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
326
  },
327
- "time": "2018-04-22T15:46:56+00:00",
328
  "type": "library",
329
  "extra": {
330
  "branch-alias": {
331
- "dev-master": "6.3-dev"
332
  }
333
  },
334
  "installation-source": "dist",
335
  "autoload": {
336
- "files": [
337
- "src/functions_include.php"
338
- ],
339
- "psr-4": {
340
- "GuzzleHttp\\": "src/"
341
  }
342
  },
343
  "notification-url": "https://packagist.org/downloads/",
@@ -349,9 +339,13 @@
349
  "name": "Michael Dowling",
350
  "email": "mtdowling@gmail.com",
351
  "homepage": "https://github.com/mtdowling"
 
 
 
 
352
  }
353
  ],
354
- "description": "Guzzle is a PHP HTTP client library",
355
  "homepage": "http://guzzlephp.org/",
356
  "keywords": [
357
  "client",
@@ -363,126 +357,6 @@
363
  "web service"
364
  ]
365
  },
366
- {
367
- "name": "guzzlehttp/promises",
368
- "version": "v1.3.1",
369
- "version_normalized": "1.3.1.0",
370
- "source": {
371
- "type": "git",
372
- "url": "https://github.com/guzzle/promises.git",
373
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
374
- },
375
- "dist": {
376
- "type": "zip",
377
- "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
378
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
379
- "shasum": ""
380
- },
381
- "require": {
382
- "php": ">=5.5.0"
383
- },
384
- "require-dev": {
385
- "phpunit/phpunit": "^4.0"
386
- },
387
- "time": "2016-12-20T10:07:11+00:00",
388
- "type": "library",
389
- "extra": {
390
- "branch-alias": {
391
- "dev-master": "1.4-dev"
392
- }
393
- },
394
- "installation-source": "dist",
395
- "autoload": {
396
- "psr-4": {
397
- "GuzzleHttp\\Promise\\": "src/"
398
- },
399
- "files": [
400
- "src/functions_include.php"
401
- ]
402
- },
403
- "notification-url": "https://packagist.org/downloads/",
404
- "license": [
405
- "MIT"
406
- ],
407
- "authors": [
408
- {
409
- "name": "Michael Dowling",
410
- "email": "mtdowling@gmail.com",
411
- "homepage": "https://github.com/mtdowling"
412
- }
413
- ],
414
- "description": "Guzzle promises library",
415
- "keywords": [
416
- "promise"
417
- ]
418
- },
419
- {
420
- "name": "guzzlehttp/psr7",
421
- "version": "1.4.2",
422
- "version_normalized": "1.4.2.0",
423
- "source": {
424
- "type": "git",
425
- "url": "https://github.com/guzzle/psr7.git",
426
- "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
427
- },
428
- "dist": {
429
- "type": "zip",
430
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
431
- "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
432
- "shasum": ""
433
- },
434
- "require": {
435
- "php": ">=5.4.0",
436
- "psr/http-message": "~1.0"
437
- },
438
- "provide": {
439
- "psr/http-message-implementation": "1.0"
440
- },
441
- "require-dev": {
442
- "phpunit/phpunit": "~4.0"
443
- },
444
- "time": "2017-03-20T17:10:46+00:00",
445
- "type": "library",
446
- "extra": {
447
- "branch-alias": {
448
- "dev-master": "1.4-dev"
449
- }
450
- },
451
- "installation-source": "dist",
452
- "autoload": {
453
- "psr-4": {
454
- "GuzzleHttp\\Psr7\\": "src/"
455
- },
456
- "files": [
457
- "src/functions_include.php"
458
- ]
459
- },
460
- "notification-url": "https://packagist.org/downloads/",
461
- "license": [
462
- "MIT"
463
- ],
464
- "authors": [
465
- {
466
- "name": "Michael Dowling",
467
- "email": "mtdowling@gmail.com",
468
- "homepage": "https://github.com/mtdowling"
469
- },
470
- {
471
- "name": "Tobias Schultze",
472
- "homepage": "https://github.com/Tobion"
473
- }
474
- ],
475
- "description": "PSR-7 message implementation that also provides common utility methods",
476
- "keywords": [
477
- "http",
478
- "message",
479
- "request",
480
- "response",
481
- "stream",
482
- "uri",
483
- "url"
484
- ]
485
- },
486
  {
487
  "name": "inpsyde/phone-home-client",
488
  "version": "0.1.1",
@@ -526,107 +400,34 @@
526
  ],
527
  "description": "A WordPress package to be used by plugins to add a page that ask for phone-home consensus and send data in case user approves."
528
  },
529
- {
530
- "name": "microsoft/azure-storage",
531
- "version": "v0.19.1",
532
- "version_normalized": "0.19.1.0",
533
- "source": {
534
- "type": "git",
535
- "url": "https://github.com/Azure/azure-storage-php.git",
536
- "reference": "e1702ae9e6194fa392b64a11737c5e3252d2c8e6"
537
- },
538
- "dist": {
539
- "type": "zip",
540
- "url": "https://api.github.com/repos/Azure/azure-storage-php/zipball/e1702ae9e6194fa392b64a11737c5e3252d2c8e6",
541
- "reference": "e1702ae9e6194fa392b64a11737c5e3252d2c8e6",
542
- "shasum": ""
543
- },
544
- "require": {
545
- "guzzlehttp/guzzle": "~6.0",
546
- "php": ">=5.5.0"
547
- },
548
- "require-dev": {
549
- "friendsofphp/php-cs-fixer": "@stable",
550
- "mikey179/vfsstream": "~1.6",
551
- "pdepend/pdepend": "~2.2",
552
- "phpdocumentor/phpdocumentor": "dev-master",
553
- "phploc/phploc": "~2.1",
554
- "phpmd/phpmd": "@stable",
555
- "phpunit/phpunit": "~4.0",
556
- "sebastian/phpcpd": "~2.0",
557
- "squizlabs/php_codesniffer": "@stable",
558
- "theseer/phpdox": "~0.8"
559
- },
560
- "time": "2017-09-25T08:35:45+00:00",
561
- "type": "library",
562
- "extra": {
563
- "branch-alias": {
564
- "dev-master": "0.10.x-dev"
565
- }
566
- },
567
- "installation-source": "dist",
568
- "autoload": {
569
- "psr-4": {
570
- "MicrosoftAzure\\Storage\\": "src/"
571
- }
572
- },
573
- "notification-url": "https://packagist.org/downloads/",
574
- "license": [
575
- "MIT"
576
- ],
577
- "authors": [
578
- {
579
- "name": "Azure Storage PHP SDK",
580
- "email": "dmsh@microsoft.com"
581
- }
582
- ],
583
- "description": "This project provides a set of PHP client libraries that make it easy to access Microsoft Azure storage APIs.",
584
- "keywords": [
585
- "azure",
586
- "php",
587
- "sdk",
588
- "storage"
589
- ],
590
- "abandoned": "microsoft/azure-storage-blob, microsoft/azure-storage-table, microsoft/azure-storage-queue, microsoft/azure-storage-file"
591
- },
592
  {
593
  "name": "microsoft/windowsazure",
594
- "version": "v0.5.7",
595
- "version_normalized": "0.5.7.0",
596
  "source": {
597
  "type": "git",
598
  "url": "https://github.com/Azure/azure-sdk-for-php.git",
599
- "reference": "498a386a351a5caefa8533bd9539f2bcfbff1c00"
600
  },
601
  "dist": {
602
  "type": "zip",
603
- "url": "https://api.github.com/repos/Azure/azure-sdk-for-php/zipball/498a386a351a5caefa8533bd9539f2bcfbff1c00",
604
- "reference": "498a386a351a5caefa8533bd9539f2bcfbff1c00",
605
  "shasum": ""
606
  },
607
  "require": {
608
- "firebase/php-jwt": "^4.0",
609
- "guzzlehttp/guzzle": "^6.2",
610
- "microsoft/azure-storage": "^0.19.1",
611
  "pear/mail_mime": "^1.10",
 
612
  "pear/net_url2": "^2.2",
613
- "php": ">=5.6",
614
- "zendframework/zend-mail": "^2.7",
615
- "zendframework/zend-mime": "^2.6"
616
  },
617
  "require-dev": {
618
- "friendsofphp/php-cs-fixer": "^1.12.2",
619
- "mayflower/php-codebrowser": "^1.1",
620
  "mikey179/vfsstream": "^1.6",
621
- "pdepend/pdepend": "^2.2",
622
- "phpdocumentor/phpdocumentor": "^2.8",
623
- "phploc/phploc": "^2.1",
624
- "phpmd/phpmd": "^2.4",
625
- "phpunit/phpunit": "^4.8",
626
- "sebastian/phpcpd": "^2.0",
627
- "squizlabs/php_codesniffer": "^2.6"
628
- },
629
- "time": "2017-11-27T23:49:28+00:00",
630
  "type": "library",
631
  "extra": {
632
  "branch-alias": {
@@ -636,7 +437,7 @@
636
  "installation-source": "dist",
637
  "autoload": {
638
  "psr-4": {
639
- "WindowsAzure\\": "src/"
640
  }
641
  },
642
  "notification-url": "https://packagist.org/downloads/",
@@ -882,6 +683,67 @@
882
  ],
883
  "description": "More info available on: http://pear.php.net/package/Console_Getopt"
884
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
885
  {
886
  "name": "pear/mail_mime",
887
  "version": "1.10.2",
@@ -930,6 +792,56 @@
930
  "description": "Mail_Mime provides classes to create MIME messages",
931
  "homepage": "http://pear.php.net/package/Mail_Mime"
932
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
933
  {
934
  "name": "pear/net_url2",
935
  "version": "v2.2.2",
@@ -1202,58 +1114,6 @@
1202
  "psr"
1203
  ]
1204
  },
1205
- {
1206
- "name": "psr/http-message",
1207
- "version": "1.0.1",
1208
- "version_normalized": "1.0.1.0",
1209
- "source": {
1210
- "type": "git",
1211
- "url": "https://github.com/php-fig/http-message.git",
1212
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
1213
- },
1214
- "dist": {
1215
- "type": "zip",
1216
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
1217
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
1218
- "shasum": ""
1219
- },
1220
- "require": {
1221
- "php": ">=5.3.0"
1222
- },
1223
- "time": "2016-08-06T14:39:51+00:00",
1224
- "type": "library",
1225
- "extra": {
1226
- "branch-alias": {
1227
- "dev-master": "1.0.x-dev"
1228
- }
1229
- },
1230
- "installation-source": "dist",
1231
- "autoload": {
1232
- "psr-4": {
1233
- "Psr\\Http\\Message\\": "src/"
1234
- }
1235
- },
1236
- "notification-url": "https://packagist.org/downloads/",
1237
- "license": [
1238
- "MIT"
1239
- ],
1240
- "authors": [
1241
- {
1242
- "name": "PHP-FIG",
1243
- "homepage": "http://www.php-fig.org/"
1244
- }
1245
- ],
1246
- "description": "Common interface for HTTP messages",
1247
- "homepage": "https://github.com/php-fig/http-message",
1248
- "keywords": [
1249
- "http",
1250
- "http-message",
1251
- "psr",
1252
- "psr-7",
1253
- "request",
1254
- "response"
1255
- ]
1256
- },
1257
  {
1258
  "name": "psr/log",
1259
  "version": "1.0.2",
@@ -1420,8 +1280,8 @@
1420
  },
1421
  {
1422
  "name": "symfony/event-dispatcher",
1423
- "version": "v2.8.39",
1424
- "version_normalized": "2.8.39.0",
1425
  "source": {
1426
  "type": "git",
1427
  "url": "https://github.com/symfony/event-dispatcher.git",
@@ -1543,17 +1403,17 @@
1543
  },
1544
  {
1545
  "name": "symfony/translation",
1546
- "version": "v2.8.39",
1547
- "version_normalized": "2.8.39.0",
1548
  "source": {
1549
  "type": "git",
1550
  "url": "https://github.com/symfony/translation.git",
1551
- "reference": "6f744108f846097cb250d90c8c463ddd23b43f60"
1552
  },
1553
  "dist": {
1554
  "type": "zip",
1555
- "url": "https://api.github.com/repos/symfony/translation/zipball/6f744108f846097cb250d90c8c463ddd23b43f60",
1556
- "reference": "6f744108f846097cb250d90c8c463ddd23b43f60",
1557
  "shasum": ""
1558
  },
1559
  "require": {
@@ -1574,7 +1434,7 @@
1574
  "symfony/config": "",
1575
  "symfony/yaml": ""
1576
  },
1577
- "time": "2018-04-30T01:21:07+00:00",
1578
  "type": "library",
1579
  "extra": {
1580
  "branch-alias": {
@@ -1606,290 +1466,5 @@
1606
  ],
1607
  "description": "Symfony Translation Component",
1608
  "homepage": "https://symfony.com"
1609
- },
1610
- {
1611
- "name": "zendframework/zend-loader",
1612
- "version": "2.6.0",
1613
- "version_normalized": "2.6.0.0",
1614
- "source": {
1615
- "type": "git",
1616
- "url": "https://github.com/zendframework/zend-loader.git",
1617
- "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c"
1618
- },
1619
- "dist": {
1620
- "type": "zip",
1621
- "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/78f11749ea340f6ca316bca5958eef80b38f9b6c",
1622
- "reference": "78f11749ea340f6ca316bca5958eef80b38f9b6c",
1623
- "shasum": ""
1624
- },
1625
- "require": {
1626
- "php": "^5.6 || ^7.0"
1627
- },
1628
- "require-dev": {
1629
- "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4",
1630
- "zendframework/zend-coding-standard": "~1.0.0"
1631
- },
1632
- "time": "2018-04-30T15:20:54+00:00",
1633
- "type": "library",
1634
- "extra": {
1635
- "branch-alias": {
1636
- "dev-master": "2.6.x-dev",
1637
- "dev-develop": "2.7.x-dev"
1638
- }
1639
- },
1640
- "installation-source": "dist",
1641
- "autoload": {
1642
- "psr-4": {
1643
- "Zend\\Loader\\": "src/"
1644
- }
1645
- },
1646
- "notification-url": "https://packagist.org/downloads/",
1647
- "license": [
1648
- "BSD-3-Clause"
1649
- ],
1650
- "description": "Autoloading and plugin loading strategies",
1651
- "keywords": [
1652
- "ZendFramework",
1653
- "loader",
1654
- "zf"
1655
- ]
1656
- },
1657
- {
1658
- "name": "zendframework/zend-mail",
1659
- "version": "2.9.0",
1660
- "version_normalized": "2.9.0.0",
1661
- "source": {
1662
- "type": "git",
1663
- "url": "https://github.com/zendframework/zend-mail.git",
1664
- "reference": "067248425f285dec0bdb74256a8f67f9092f115e"
1665
- },
1666
- "dist": {
1667
- "type": "zip",
1668
- "url": "https://api.github.com/repos/zendframework/zend-mail/zipball/067248425f285dec0bdb74256a8f67f9092f115e",
1669
- "reference": "067248425f285dec0bdb74256a8f67f9092f115e",
1670
- "shasum": ""
1671
- },
1672
- "require": {
1673
- "ext-iconv": "*",
1674
- "php": "^7.1",
1675
- "zendframework/zend-loader": "^2.5",
1676
- "zendframework/zend-mime": "^2.5",
1677
- "zendframework/zend-stdlib": "^2.7 || ^3.0",
1678
- "zendframework/zend-validator": "^2.10.2"
1679
- },
1680
- "require-dev": {
1681
- "phpunit/phpunit": "^6.0.8 || ^5.7.15",
1682
- "zendframework/zend-coding-standard": "~1.0.0",
1683
- "zendframework/zend-config": "^2.6",
1684
- "zendframework/zend-crypt": "^2.6",
1685
- "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3"
1686
- },
1687
- "suggest": {
1688
- "ext-intl": "Handle IDN in AddressList hostnames",
1689
- "zendframework/zend-crypt": "Crammd5 support in SMTP Auth",
1690
- "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3 when using SMTP to deliver messages"
1691
- },
1692
- "time": "2018-03-01T18:57:00+00:00",
1693
- "type": "library",
1694
- "extra": {
1695
- "branch-alias": {
1696
- "dev-master": "2.8-dev",
1697
- "dev-develop": "2.9-dev"
1698
- },
1699
- "zf": {
1700
- "component": "Zend\\Mail",
1701
- "config-provider": "Zend\\Mail\\ConfigProvider"
1702
- }
1703
- },
1704
- "installation-source": "dist",
1705
- "autoload": {
1706
- "psr-4": {
1707
- "Zend\\Mail\\": "src/"
1708
- }
1709
- },
1710
- "notification-url": "https://packagist.org/downloads/",
1711
- "license": [
1712
- "BSD-3-Clause"
1713
- ],
1714
- "description": "provides generalized functionality to compose and send both text and MIME-compliant multipart e-mail messages",
1715
- "homepage": "https://github.com/zendframework/zend-mail",
1716
- "keywords": [
1717
- "mail",
1718
- "zf2"
1719
- ]
1720
- },
1721
- {
1722
- "name": "zendframework/zend-mime",
1723
- "version": "2.7.1",
1724
- "version_normalized": "2.7.1.0",
1725
- "source": {
1726
- "type": "git",
1727
- "url": "https://github.com/zendframework/zend-mime.git",
1728
- "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2"
1729
- },
1730
- "dist": {
1731
- "type": "zip",
1732
- "url": "https://api.github.com/repos/zendframework/zend-mime/zipball/52ae5fa9f12845cae749271034a2d594f0e4c6f2",
1733
- "reference": "52ae5fa9f12845cae749271034a2d594f0e4c6f2",
1734
- "shasum": ""
1735
- },
1736
- "require": {
1737
- "php": "^5.6 || ^7.0",
1738
- "zendframework/zend-stdlib": "^2.7 || ^3.0"
1739
- },
1740
- "require-dev": {
1741
- "phpunit/phpunit": "^5.7.21 || ^6.3",
1742
- "zendframework/zend-coding-standard": "~1.0.0",
1743
- "zendframework/zend-mail": "^2.6"
1744
- },
1745
- "suggest": {
1746
- "zendframework/zend-mail": "Zend\\Mail component"
1747
- },
1748
- "time": "2018-05-14T19:02:50+00:00",
1749
- "type": "library",
1750
- "extra": {
1751
- "branch-alias": {
1752
- "dev-master": "2.7-dev",
1753
- "dev-develop": "2.8-dev"
1754
- }
1755
- },
1756
- "installation-source": "dist",
1757
- "autoload": {
1758
- "psr-4": {
1759
- "Zend\\Mime\\": "src/"
1760
- }
1761
- },
1762
- "notification-url": "https://packagist.org/downloads/",
1763
- "license": [
1764
- "BSD-3-Clause"
1765
- ],
1766
- "description": "Create and parse MIME messages and parts",
1767
- "homepage": "https://github.com/zendframework/zend-mime",
1768
- "keywords": [
1769
- "ZendFramework",
1770
- "mime",
1771
- "zf"
1772
- ]
1773
- },
1774
- {
1775
- "name": "zendframework/zend-stdlib",
1776
- "version": "3.2.0",
1777
- "version_normalized": "3.2.0.0",
1778
- "source": {
1779
- "type": "git",
1780
- "url": "https://github.com/zendframework/zend-stdlib.git",
1781
- "reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae"
1782
- },
1783
- "dist": {
1784
- "type": "zip",
1785
- "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
1786
- "reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
1787
- "shasum": ""
1788
- },
1789
- "require": {
1790
- "php": "^5.6 || ^7.0"
1791
- },
1792
- "require-dev": {
1793
- "phpbench/phpbench": "^0.13",
1794
- "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
1795
- "zendframework/zend-coding-standard": "~1.0.0"
1796
- },
1797
- "time": "2018-04-30T13:50:40+00:00",
1798
- "type": "library",
1799
- "extra": {
1800
- "branch-alias": {
1801
- "dev-master": "3.2.x-dev",
1802
- "dev-develop": "3.3.x-dev"
1803
- }
1804
- },
1805
- "installation-source": "dist",
1806
- "autoload": {
1807
- "psr-4": {
1808
- "Zend\\Stdlib\\": "src/"
1809
- }
1810
- },
1811
- "notification-url": "https://packagist.org/downloads/",
1812
- "license": [
1813
- "BSD-3-Clause"
1814
- ],
1815
- "description": "SPL extensions, array utilities, error handlers, and more",
1816
- "keywords": [
1817
- "ZendFramework",
1818
- "stdlib",
1819
- "zf"
1820
- ]
1821
- },
1822
- {
1823
- "name": "zendframework/zend-validator",
1824
- "version": "2.10.2",
1825
- "version_normalized": "2.10.2.0",
1826
- "source": {
1827
- "type": "git",
1828
- "url": "https://github.com/zendframework/zend-validator.git",
1829
- "reference": "38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9"
1830
- },
1831
- "dist": {
1832
- "type": "zip",
1833
- "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9",
1834
- "reference": "38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9",
1835
- "shasum": ""
1836
- },
1837
- "require": {
1838
- "container-interop/container-interop": "^1.1",
1839
- "php": "^5.6 || ^7.0",
1840
- "zendframework/zend-stdlib": "^2.7.6 || ^3.1"
1841
- },
1842
- "require-dev": {
1843
- "phpunit/phpunit": "^6.0.8 || ^5.7.15",
1844
- "zendframework/zend-cache": "^2.6.1",
1845
- "zendframework/zend-coding-standard": "~1.0.0",
1846
- "zendframework/zend-config": "^2.6",
1847
- "zendframework/zend-db": "^2.7",
1848
- "zendframework/zend-filter": "^2.6",
1849
- "zendframework/zend-http": "^2.5.4",
1850
- "zendframework/zend-i18n": "^2.6",
1851
- "zendframework/zend-math": "^2.6",
1852
- "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
1853
- "zendframework/zend-session": "^2.8",
1854
- "zendframework/zend-uri": "^2.5"
1855
- },
1856
- "suggest": {
1857
- "zendframework/zend-db": "Zend\\Db component, required by the (No)RecordExists validator",
1858
- "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator",
1859
- "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages",
1860
- "zendframework/zend-i18n-resources": "Translations of validator messages",
1861
- "zendframework/zend-math": "Zend\\Math component, required by the Csrf validator",
1862
- "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
1863
- "zendframework/zend-session": "Zend\\Session component, ^2.8; required by the Csrf validator",
1864
- "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators"
1865
- },
1866
- "time": "2018-02-01T17:05:33+00:00",
1867
- "type": "library",
1868
- "extra": {
1869
- "branch-alias": {
1870
- "dev-master": "2.10.x-dev",
1871
- "dev-develop": "2.11.x-dev"
1872
- },
1873
- "zf": {
1874
- "component": "Zend\\Validator",
1875
- "config-provider": "Zend\\Validator\\ConfigProvider"
1876
- }
1877
- },
1878
- "installation-source": "dist",
1879
- "autoload": {
1880
- "psr-4": {
1881
- "Zend\\Validator\\": "src/"
1882
- }
1883
- },
1884
- "notification-url": "https://packagist.org/downloads/",
1885
- "license": [
1886
- "BSD-3-Clause"
1887
- ],
1888
- "description": "provides a set of commonly needed validators",
1889
- "homepage": "https://github.com/zendframework/zend-validator",
1890
- "keywords": [
1891
- "validator",
1892
- "zf2"
1893
- ]
1894
  }
1895
  ]
120
  "rfc4648"
121
  ]
122
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  {
124
  "name": "firebase/php-jwt",
125
+ "version": "v3.0.0",
126
+ "version_normalized": "3.0.0.0",
127
  "source": {
128
  "type": "git",
129
  "url": "https://github.com/firebase/php-jwt.git",
130
+ "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1"
131
  },
132
  "dist": {
133
  "type": "zip",
134
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1",
135
+ "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1",
136
  "shasum": ""
137
  },
138
  "require": {
139
  "php": ">=5.3.0"
140
  },
141
+ "time": "2015-07-22T18:31:08+00:00",
142
  "type": "library",
143
  "installation-source": "dist",
144
  "autoload": {
265
  },
266
  {
267
  "name": "guzzlehttp/guzzle",
268
+ "version": "v3.8.1",
269
+ "version_normalized": "3.8.1.0",
270
  "source": {
271
  "type": "git",
272
  "url": "https://github.com/guzzle/guzzle.git",
273
+ "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba"
274
  },
275
  "dist": {
276
  "type": "zip",
277
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba",
278
+ "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba",
279
  "shasum": ""
280
  },
281
  "require": {
 
 
 
 
 
282
  "ext-curl": "*",
283
+ "php": ">=5.3.3",
284
+ "symfony/event-dispatcher": ">=2.1"
285
  },
286
+ "replace": {
287
+ "guzzle/batch": "self.version",
288
+ "guzzle/cache": "self.version",
289
+ "guzzle/common": "self.version",
290
+ "guzzle/http": "self.version",
291
+ "guzzle/inflection": "self.version",
292
+ "guzzle/iterator": "self.version",
293
+ "guzzle/log": "self.version",
294
+ "guzzle/parser": "self.version",
295
+ "guzzle/plugin": "self.version",
296
+ "guzzle/plugin-async": "self.version",
297
+ "guzzle/plugin-backoff": "self.version",
298
+ "guzzle/plugin-cache": "self.version",
299
+ "guzzle/plugin-cookie": "self.version",
300
+ "guzzle/plugin-curlauth": "self.version",
301
+ "guzzle/plugin-error-response": "self.version",
302
+ "guzzle/plugin-history": "self.version",
303
+ "guzzle/plugin-log": "self.version",
304
+ "guzzle/plugin-md5": "self.version",
305
+ "guzzle/plugin-mock": "self.version",
306
+ "guzzle/plugin-oauth": "self.version",
307
+ "guzzle/service": "self.version",
308
+ "guzzle/stream": "self.version"
309
+ },
310
+ "require-dev": {
311
+ "doctrine/cache": "*",
312
+ "monolog/monolog": "1.*",
313
+ "phpunit/phpunit": "3.7.*",
314
+ "psr/log": "1.0.*",
315
+ "symfony/class-loader": "*",
316
+ "zendframework/zend-cache": "<2.3",
317
+ "zendframework/zend-log": "<2.3"
318
  },
319
+ "time": "2014-01-28T22:29:15+00:00",
320
  "type": "library",
321
  "extra": {
322
  "branch-alias": {
323
+ "dev-master": "3.8-dev"
324
  }
325
  },
326
  "installation-source": "dist",
327
  "autoload": {
328
+ "psr-0": {
329
+ "Guzzle": "src/",
330
+ "Guzzle\\Tests": "tests/"
 
 
331
  }
332
  },
333
  "notification-url": "https://packagist.org/downloads/",
339
  "name": "Michael Dowling",
340
  "email": "mtdowling@gmail.com",
341
  "homepage": "https://github.com/mtdowling"
342
+ },
343
+ {
344
+ "name": "Guzzle Community",
345
+ "homepage": "https://github.com/guzzle/guzzle/contributors"
346
  }
347
  ],
348
+ "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
349
  "homepage": "http://guzzlephp.org/",
350
  "keywords": [
351
  "client",
357
  "web service"
358
  ]
359
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
  {
361
  "name": "inpsyde/phone-home-client",
362
  "version": "0.1.1",
400
  ],
401
  "description": "A WordPress package to be used by plugins to add a page that ask for phone-home consensus and send data in case user approves."
402
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403
  {
404
  "name": "microsoft/windowsazure",
405
+ "version": "v0.4.2",
406
+ "version_normalized": "0.4.2.0",
407
  "source": {
408
  "type": "git",
409
  "url": "https://github.com/Azure/azure-sdk-for-php.git",
410
+ "reference": "b157dcac862659f0b55dc10302335bfcb9e878b5"
411
  },
412
  "dist": {
413
  "type": "zip",
414
+ "url": "https://api.github.com/repos/Azure/azure-sdk-for-php/zipball/b157dcac862659f0b55dc10302335bfcb9e878b5",
415
+ "reference": "b157dcac862659f0b55dc10302335bfcb9e878b5",
416
  "shasum": ""
417
  },
418
  "require": {
419
+ "firebase/php-jwt": "^3.0",
420
+ "pear/http_request2": "^2.3",
 
421
  "pear/mail_mime": "^1.10",
422
+ "pear/mail_mime-decode": "^1.5",
423
  "pear/net_url2": "^2.2",
424
+ "php": ">=5.4"
 
 
425
  },
426
  "require-dev": {
 
 
427
  "mikey179/vfsstream": "^1.6",
428
+ "phpunit/phpunit": "^4.7"
429
+ },
430
+ "time": "2016-04-12T18:11:35+00:00",
 
 
 
 
 
 
431
  "type": "library",
432
  "extra": {
433
  "branch-alias": {
437
  "installation-source": "dist",
438
  "autoload": {
439
  "psr-4": {
440
+ "WindowsAzure\\": "WindowsAzure/"
441
  }
442
  },
443
  "notification-url": "https://packagist.org/downloads/",
683
  ],
684
  "description": "More info available on: http://pear.php.net/package/Console_Getopt"
685
  },
686
+ {
687
+ "name": "pear/http_request2",
688
+ "version": "v2.3.0",
689
+ "version_normalized": "2.3.0.0",
690
+ "source": {
691
+ "type": "git",
692
+ "url": "https://github.com/pear/HTTP_Request2.git",
693
+ "reference": "3599cf0fe455a4e281da464f6510bfc5c2ce54c4"
694
+ },
695
+ "dist": {
696
+ "type": "zip",
697
+ "url": "https://api.github.com/repos/pear/HTTP_Request2/zipball/3599cf0fe455a4e281da464f6510bfc5c2ce54c4",
698
+ "reference": "3599cf0fe455a4e281da464f6510bfc5c2ce54c4",
699
+ "shasum": ""
700
+ },
701
+ "require": {
702
+ "pear/net_url2": "^2.2.0",
703
+ "pear/pear_exception": "^1.0.0",
704
+ "php": ">=5.2.0"
705
+ },
706
+ "suggest": {
707
+ "ext-fileinfo": "Adds support for looking up mime-types using finfo.",
708
+ "ext-zlib": "Allows handling gzip compressed responses.",
709
+ "lib-curl": "Allows using cURL as a request backend.",
710
+ "lib-openssl": "Allows handling SSL requests when not using cURL."
711
+ },
712
+ "time": "2016-02-13T20:20:39+00:00",
713
+ "type": "library",
714
+ "extra": {
715
+ "branch-alias": {
716
+ "dev-trunk": "2.2-dev"
717
+ }
718
+ },
719
+ "installation-source": "dist",
720
+ "autoload": {
721
+ "psr-0": {
722
+ "HTTP_Request2": ""
723
+ }
724
+ },
725
+ "notification-url": "https://packagist.org/downloads/",
726
+ "include-path": [
727
+ "./"
728
+ ],
729
+ "license": [
730
+ "BSD-3-Clause"
731
+ ],
732
+ "authors": [
733
+ {
734
+ "name": "Alexey Borzov",
735
+ "email": "avb@php.net"
736
+ }
737
+ ],
738
+ "description": "Provides an easy way to perform HTTP requests.",
739
+ "homepage": "http://pear.php.net/package/HTTP_Request2",
740
+ "keywords": [
741
+ "PEAR",
742
+ "curl",
743
+ "http",
744
+ "request"
745
+ ]
746
+ },
747
  {
748
  "name": "pear/mail_mime",
749
  "version": "1.10.2",
792
  "description": "Mail_Mime provides classes to create MIME messages",
793
  "homepage": "http://pear.php.net/package/Mail_Mime"
794
  },
795
+ {
796
+ "name": "pear/mail_mime-decode",
797
+ "version": "1.5.5.2",
798
+ "version_normalized": "1.5.5.2",
799
+ "source": {
800
+ "type": "git",
801
+ "url": "https://github.com/dreamfactorysoftware/Mail_mimeDecode.git",
802
+ "reference": "a53c1ce051b212e23f7f67ea8d31015640de1129"
803
+ },
804
+ "dist": {
805
+ "type": "zip",
806
+ "url": "https://api.github.com/repos/dreamfactorysoftware/Mail_mimeDecode/zipball/a53c1ce051b212e23f7f67ea8d31015640de1129",
807
+ "reference": "a53c1ce051b212e23f7f67ea8d31015640de1129",
808
+ "shasum": ""
809
+ },
810
+ "require": {
811
+ "pear/pear_exception": "*"
812
+ },
813
+ "require-dev": {
814
+ "phpunit/phpunit": "*"
815
+ },
816
+ "time": "2014-04-15T19:29:16+00:00",
817
+ "type": "library",
818
+ "installation-source": "dist",
819
+ "autoload": {
820
+ "psr-0": {
821
+ "Mail_mimeDecode": ""
822
+ }
823
+ },
824
+ "notification-url": "https://packagist.org/downloads/",
825
+ "include-path": [
826
+ "./"
827
+ ],
828
+ "license": [
829
+ "BSD-2-Clause"
830
+ ],
831
+ "authors": [
832
+ {
833
+ "name": "Cipriano Groenendal",
834
+ "email": "cipri@php.net",
835
+ "role": "Lead"
836
+ },
837
+ {
838
+ "name": "Aleksander Machniak",
839
+ "email": "alec@php.net",
840
+ "role": "Lead"
841
+ }
842
+ ],
843
+ "description": "More info available on: http://pear.php.net/package/Mail_mimeDecode"
844
+ },
845
  {
846
  "name": "pear/net_url2",
847
  "version": "v2.2.2",
1114
  "psr"
1115
  ]
1116
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1117
  {
1118
  "name": "psr/log",
1119
  "version": "1.0.2",
1280
  },
1281
  {
1282
  "name": "symfony/event-dispatcher",
1283
+ "version": "v2.8.40",
1284
+ "version_normalized": "2.8.40.0",
1285
  "source": {
1286
  "type": "git",
1287
  "url": "https://github.com/symfony/event-dispatcher.git",
1403
  },
1404
  {
1405
  "name": "symfony/translation",
1406
+ "version": "v2.8.40",
1407
+ "version_normalized": "2.8.40.0",
1408
  "source": {
1409
  "type": "git",
1410
  "url": "https://github.com/symfony/translation.git",
1411
+ "reference": "c6a27966a92fa361bf2c3a938abc6dee91f7ad67"
1412
  },
1413
  "dist": {
1414
  "type": "zip",
1415
+ "url": "https://api.github.com/repos/symfony/translation/zipball/c6a27966a92fa361bf2c3a938abc6dee91f7ad67",
1416
+ "reference": "c6a27966a92fa361bf2c3a938abc6dee91f7ad67",
1417
  "shasum": ""
1418
  },
1419
  "require": {
1434
  "symfony/config": "",
1435
  "symfony/yaml": ""
1436
  },
1437
+ "time": "2018-05-21T09:59:10+00:00",
1438
  "type": "library",
1439
  "extra": {
1440
  "branch-alias": {
1466
  ],
1467
  "description": "Symfony Translation Component",
1468
  "homepage": "https://symfony.com"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1469
  }
1470
  ]
vendor/container-interop/container-interop/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- composer.lock
2
- composer.phar
3
- /vendor/
 
 
 
vendor/container-interop/container-interop/LICENSE DELETED
@@ -1,20 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2013 container-interop
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of
6
- this software and associated documentation files (the "Software"), to deal in
7
- the Software without restriction, including without limitation the rights to
8
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- the Software, and to permit persons to whom the Software is furnished to do so,
10
- subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/README.md DELETED
@@ -1,148 +0,0 @@
1
- # Container Interoperability
2
-
3
- [![Latest Stable Version](https://poser.pugx.org/container-interop/container-interop/v/stable.png)](https://packagist.org/packages/container-interop/container-interop)
4
- [![Total Downloads](https://poser.pugx.org/container-interop/container-interop/downloads.svg)](https://packagist.org/packages/container-interop/container-interop)
5
-
6
- ## Deprecation warning!
7
-
8
- Starting Feb. 13th 2017, container-interop is officially deprecated in favor of [PSR-11](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-11-container.md).
9
- Container-interop has been the test-bed of PSR-11. From v1.2, container-interop directly extends PSR-11 interfaces.
10
- Therefore, all containers implementing container-interop are now *de-facto* compatible with PSR-11.
11
-
12
- - Projects implementing container-interop interfaces are encouraged to directly implement PSR-11 interfaces instead.
13
- - Projects consuming container-interop interfaces are very strongly encouraged to directly type-hint on PSR-11 interfaces, in order to be compatible with PSR-11 containers that are not compatible with container-interop.
14
-
15
- Regarding the delegate lookup feature, that is present in container-interop and not in PSR-11, the feature is actually a design pattern. It is therefore not deprecated. Documentation regarding this design pattern will be migrated from this repository into a separate website in the future.
16
-
17
- ## About
18
-
19
- *container-interop* tries to identify and standardize features in *container* objects (service locators,
20
- dependency injection containers, etc.) to achieve interoperability.
21
-
22
- Through discussions and trials, we try to create a standard, made of common interfaces but also recommendations.
23
-
24
- If PHP projects that provide container implementations begin to adopt these common standards, then PHP
25
- applications and projects that use containers can depend on the common interfaces instead of specific
26
- implementations. This facilitates a high-level of interoperability and flexibility that allows users to consume
27
- *any* container implementation that can be adapted to these interfaces.
28
-
29
- The work done in this project is not officially endorsed by the [PHP-FIG](http://www.php-fig.org/), but it is being
30
- worked on by members of PHP-FIG and other good developers. We adhere to the spirit and ideals of PHP-FIG, and hope
31
- this project will pave the way for one or more future PSRs.
32
-
33
-
34
- ## Installation
35
-
36
- You can install this package through Composer:
37
-
38
- ```json
39
- composer require container-interop/container-interop
40
- ```
41
-
42
- The packages adheres to the [SemVer](http://semver.org/) specification, and there will be full backward compatibility
43
- between minor versions.
44
-
45
- ## Standards
46
-
47
- ### Available
48
-
49
- - [`ContainerInterface`](src/Interop/Container/ContainerInterface.php).
50
- [Description](docs/ContainerInterface.md) [Meta Document](docs/ContainerInterface-meta.md).
51
- Describes the interface of a container that exposes methods to read its entries.
52
- - [*Delegate lookup feature*](docs/Delegate-lookup.md).
53
- [Meta Document](docs/Delegate-lookup-meta.md).
54
- Describes the ability for a container to delegate the lookup of its dependencies to a third-party container. This
55
- feature lets several containers work together in a single application.
56
-
57
- ### Proposed
58
-
59
- View open [request for comments](https://github.com/container-interop/container-interop/labels/RFC)
60
-
61
- ## Compatible projects
62
-
63
- ### Projects implementing `ContainerInterface`
64
-
65
- - [Acclimate](https://github.com/jeremeamia/acclimate-container): Adapters for
66
- Aura.Di, Laravel, Nette DI, Pimple, Symfony DI, ZF2 Service manager, ZF2
67
- Dependency injection and any container using `ArrayAccess`
68
- - [Aura.Di](https://github.com/auraphp/Aura.Di)
69
- - [auryn-container-interop](https://github.com/elazar/auryn-container-interop)
70
- - [Burlap](https://github.com/codeeverything/burlap)
71
- - [Chernozem](https://github.com/pyrsmk/Chernozem)
72
- - [Data Manager](https://github.com/chrismichaels84/data-manager)
73
- - [Disco](https://github.com/bitexpert/disco)
74
- - [InDI](https://github.com/idealogica/indi)
75
- - [League/Container](http://container.thephpleague.com/)
76
- - [Mouf](http://mouf-php.com)
77
- - [Njasm Container](https://github.com/njasm/container)
78
- - [PHP-DI](http://php-di.org)
79
- - [Picotainer](https://github.com/thecodingmachine/picotainer)
80
- - [PimpleInterop](https://github.com/moufmouf/pimple-interop)
81
- - [Pimple3-ContainerInterop](https://github.com/Sam-Burns/pimple3-containerinterop) (using Pimple v3)
82
- - [SitePoint Container](https://github.com/sitepoint/Container)
83
- - [Thruster Container](https://github.com/ThrusterIO/container) (PHP7 only)
84
- - [Ultra-Lite Container](https://github.com/ultra-lite/container)
85
- - [Unbox](https://github.com/mindplay-dk/unbox)
86
- - [XStatic](https://github.com/jeremeamia/xstatic)
87
- - [Zend\ServiceManager](https://github.com/zendframework/zend-servicemanager)
88
- - [Zit](https://github.com/inxilpro/Zit)
89
-
90
- ### Projects implementing the *delegate lookup* feature
91
-
92
- - [Aura.Di](https://github.com/auraphp/Aura.Di)
93
- - [Burlap](https://github.com/codeeverything/burlap)
94
- - [Chernozem](https://github.com/pyrsmk/Chernozem)
95
- - [InDI](https://github.com/idealogica/indi)
96
- - [League/Container](http://container.thephpleague.com/)
97
- - [Mouf](http://mouf-php.com)
98
- - [Picotainer](https://github.com/thecodingmachine/picotainer)
99
- - [PHP-DI](http://php-di.org)
100
- - [PimpleInterop](https://github.com/moufmouf/pimple-interop)
101
- - [Ultra-Lite Container](https://github.com/ultra-lite/container)
102
-
103
- ### Middlewares implementing `ContainerInterface`
104
-
105
- - [Alias-Container](https://github.com/thecodingmachine/alias-container): add
106
- aliases support to any container
107
- - [Prefixer-Container](https://github.com/thecodingmachine/prefixer-container):
108
- dynamically prefix identifiers
109
- - [Lazy-Container](https://github.com/snapshotpl/lazy-container): lazy services
110
-
111
- ### Projects using `ContainerInterface`
112
-
113
- The list below contains only a sample of all the projects consuming `ContainerInterface`. For a more complete list have a look [here](http://packanalyst.com/class?q=Interop%5CContainer%5CContainerInterface).
114
-
115
- | | Downloads |
116
- | --- | --- |
117
- | [Adroit](https://github.com/bitexpert/adroit) | ![](https://img.shields.io/packagist/dt/bitexpert/adroit.svg) |
118
- | [Behat](https://github.com/Behat/Behat/pull/974) | ![](https://img.shields.io/packagist/dt/behat/behat.svg) |
119
- | [blast-facades](https://github.com/phpthinktank/blast-facades): Minimize complexity and represent dependencies as facades. | ![](https://img.shields.io/packagist/dt/blast/facades.svg) |
120
- | [interop.silex.di](https://github.com/thecodingmachine/interop.silex.di): an extension to [Silex](http://silex.sensiolabs.org/) that adds support for any *container-interop* compatible container | ![](https://img.shields.io/packagist/dt/mouf/interop.silex.di.svg) |
121
- | [mindplay/walkway](https://github.com/mindplay-dk/walkway): a modular request router | ![](https://img.shields.io/packagist/dt/mindplay/walkway.svg) |
122
- | [mindplay/middleman](https://github.com/mindplay-dk/middleman): minimalist PSR-7 middleware dispatcher | ![](https://img.shields.io/packagist/dt/mindplay/middleman.svg) |
123
- | [PHP-DI/Invoker](https://github.com/PHP-DI/Invoker): extensible and configurable invoker/dispatcher | ![](https://img.shields.io/packagist/dt/php-di/invoker.svg) |
124
- | [Prophiler](https://github.com/fabfuel/prophiler) | ![](https://img.shields.io/packagist/dt/fabfuel/prophiler.svg) |
125
- | [Silly](https://github.com/mnapoli/silly): CLI micro-framework | ![](https://img.shields.io/packagist/dt/mnapoli/silly.svg) |
126
- | [Slim v3](https://github.com/slimphp/Slim) | ![](https://img.shields.io/packagist/dt/slim/slim.svg) |
127
- | [Splash](http://mouf-php.com/packages/mouf/mvc.splash-common/version/8.0-dev/README.md) | ![](https://img.shields.io/packagist/dt/mouf/mvc.splash-common.svg) |
128
- | [Woohoo Labs. Harmony](https://github.com/woohoolabs/harmony): a flexible micro-framework | ![](https://img.shields.io/packagist/dt/woohoolabs/harmony.svg) |
129
- | [zend-expressive](https://github.com/zendframework/zend-expressive) | ![](https://img.shields.io/packagist/dt/zendframework/zend-expressive.svg) |
130
-
131
-
132
- ## Workflow
133
-
134
- Everyone is welcome to join and contribute.
135
-
136
- The general workflow looks like this:
137
-
138
- 1. Someone opens a discussion (GitHub issue) to suggest an interface
139
- 1. Feedback is gathered
140
- 1. The interface is added to a development branch
141
- 1. We release alpha versions so that the interface can be experimented with
142
- 1. Discussions and edits ensue until the interface is deemed stable by a general consensus
143
- 1. A new minor version of the package is released
144
-
145
- We try to not break BC by creating new interfaces instead of editing existing ones.
146
-
147
- While we currently work on interfaces, we are open to anything that might help towards interoperability, may that
148
- be code, best practices, etc.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/composer.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "name": "container-interop/container-interop",
3
- "type": "library",
4
- "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
5
- "homepage": "https://github.com/container-interop/container-interop",
6
- "license": "MIT",
7
- "autoload": {
8
- "psr-4": {
9
- "Interop\\Container\\": "src/Interop/Container/"
10
- }
11
- },
12
- "require": {
13
- "psr/container": "^1.0"
14
- }
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/docs/ContainerInterface-meta.md DELETED
@@ -1,114 +0,0 @@
1
- # ContainerInterface Meta Document
2
-
3
- ## Introduction
4
-
5
- This document describes the process and discussions that lead to the `ContainerInterface`.
6
- Its goal is to explain the reasons behind each decision.
7
-
8
- ## Goal
9
-
10
- The goal set by `ContainerInterface` is to standardize how frameworks and libraries make use of a
11
- container to obtain objects and parameters.
12
-
13
- By standardizing such a behavior, frameworks and libraries using the `ContainerInterface`
14
- could work with any compatible container.
15
- That would allow end users to choose their own container based on their own preferences.
16
-
17
- It is important to distinguish the two usages of a container:
18
-
19
- - configuring entries
20
- - fetching entries
21
-
22
- Most of the time, those two sides are not used by the same party.
23
- While it is often end users who tend to configure entries, it is generally the framework that fetch
24
- entries to build the application.
25
-
26
- This is why this interface focuses only on how entries can be fetched from a container.
27
-
28
- ## Interface name
29
-
30
- The interface name has been thoroughly discussed and was decided by a vote.
31
-
32
- The list of options considered with their respective votes are:
33
-
34
- - `ContainerInterface`: +8
35
- - `ProviderInterface`: +2
36
- - `LocatorInterface`: 0
37
- - `ReadableContainerInterface`: -5
38
- - `ServiceLocatorInterface`: -6
39
- - `ObjectFactory`: -6
40
- - `ObjectStore`: -8
41
- - `ConsumerInterface`: -9
42
-
43
- [Full results of the vote](https://github.com/container-interop/container-interop/wiki/%231-interface-name:-Vote)
44
-
45
- The complete discussion can be read in [the issue #1](https://github.com/container-interop/container-interop/issues/1).
46
-
47
- ## Interface methods
48
-
49
- The choice of which methods the interface would contain was made after a statistical analysis of existing containers.
50
- The results of this analysis are available [in this document](https://gist.github.com/mnapoli/6159681).
51
-
52
- The summary of the analysis showed that:
53
-
54
- - all containers offer a method to get an entry by its id
55
- - a large majority name such method `get()`
56
- - for all containers, the `get()` method has 1 mandatory parameter of type string
57
- - some containers have an optional additional argument for `get()`, but it doesn't have the same purpose between containers
58
- - a large majority of the containers offer a method to test if it can return an entry by its id
59
- - a majority name such method `has()`
60
- - for all containers offering `has()`, the method has exactly 1 parameter of type string
61
- - a large majority of the containers throw an exception rather than returning null when an entry is not found in `get()`
62
- - a large majority of the containers don't implement `ArrayAccess`
63
-
64
- The question of whether to include methods to define entries has been discussed in
65
- [issue #1](https://github.com/container-interop/container-interop/issues/1).
66
- It has been judged that such methods do not belong in the interface described here because it is out of its scope
67
- (see the "Goal" section).
68
-
69
- As a result, the `ContainerInterface` contains two methods:
70
-
71
- - `get()`, returning anything, with one mandatory string parameter. Should throw an exception if the entry is not found.
72
- - `has()`, returning a boolean, with one mandatory string parameter.
73
-
74
- ### Number of parameters in `get()` method
75
-
76
- While `ContainerInterface` only defines one mandatory parameter in `get()`, it is not incompatible with
77
- existing containers that have additional optional parameters. PHP allows an implementation to offer more parameters
78
- as long as they are optional, because the implementation *does* satisfy the interface.
79
-
80
- This issue has been discussed in [issue #6](https://github.com/container-interop/container-interop/issues/6).
81
-
82
- ### Type of the `$id` parameter
83
-
84
- The type of the `$id` parameter in `get()` and `has()` has been discussed in
85
- [issue #6](https://github.com/container-interop/container-interop/issues/6).
86
- While `string` is used in all the containers that were analyzed, it was suggested that allowing
87
- anything (such as objects) could allow containers to offer a more advanced query API.
88
-
89
- An example given was to use the container as an object builder. The `$id` parameter would then be an
90
- object that would describe how to create an instance.
91
-
92
- The conclusion of the discussion was that this was beyond the scope of getting entries from a container without
93
- knowing how the container provided them, and it was more fit for a factory.
94
-
95
- ## Contributors
96
-
97
- Are listed here all people that contributed in the discussions or votes, by alphabetical order:
98
-
99
- - [Amy Stephen](https://github.com/AmyStephen)
100
- - [David Négrier](https://github.com/moufmouf)
101
- - [Don Gilbert](https://github.com/dongilbert)
102
- - [Jason Judge](https://github.com/judgej)
103
- - [Jeremy Lindblom](https://github.com/jeremeamia)
104
- - [Marco Pivetta](https://github.com/Ocramius)
105
- - [Matthieu Napoli](https://github.com/mnapoli)
106
- - [Paul M. Jones](https://github.com/pmjones)
107
- - [Stephan Hochdörfer](https://github.com/shochdoerfer)
108
- - [Taylor Otwell](https://github.com/taylorotwell)
109
-
110
- ## Relevant links
111
-
112
- - [`ContainerInterface.php`](https://github.com/container-interop/container-interop/blob/master/src/Interop/Container/ContainerInterface.php)
113
- - [List of all issues](https://github.com/container-interop/container-interop/issues?labels=ContainerInterface&milestone=&page=1&state=closed)
114
- - [Vote for the interface name](https://github.com/container-interop/container-interop/wiki/%231-interface-name:-Vote)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/docs/ContainerInterface.md DELETED
@@ -1,158 +0,0 @@
1
- Container interface
2
- ===================
3
-
4
- This document describes a common interface for dependency injection containers.
5
-
6
- The goal set by `ContainerInterface` is to standardize how frameworks and libraries make use of a
7
- container to obtain objects and parameters (called *entries* in the rest of this document).
8
-
9
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
10
- "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
11
- interpreted as described in [RFC 2119][].
12
-
13
- The word `implementor` in this document is to be interpreted as someone
14
- implementing the `ContainerInterface` in a dependency injection-related library or framework.
15
- Users of dependency injections containers (DIC) are referred to as `user`.
16
-
17
- [RFC 2119]: http://tools.ietf.org/html/rfc2119
18
-
19
- 1. Specification
20
- -----------------
21
-
22
- ### 1.1 Basics
23
-
24
- - The `Interop\Container\ContainerInterface` exposes two methods : `get` and `has`.
25
-
26
- - `get` takes one mandatory parameter: an entry identifier. It MUST be a string.
27
- A call to `get` can return anything (a *mixed* value), or throws an exception if the identifier
28
- is not known to the container. Two successive calls to `get` with the same
29
- identifier SHOULD return the same value. However, depending on the `implementor`
30
- design and/or `user` configuration, different values might be returned, so
31
- `user` SHOULD NOT rely on getting the same value on 2 successive calls.
32
- While `ContainerInterface` only defines one mandatory parameter in `get()`, implementations
33
- MAY accept additional optional parameters.
34
-
35
- - `has` takes one unique parameter: an entry identifier. It MUST return `true`
36
- if an entry identifier is known to the container and `false` if it is not.
37
- `has($id)` returning true does not mean that `get($id)` will not throw an exception.
38
- It does however mean that `get($id)` will not throw a `NotFoundException`.
39
-
40
- ### 1.2 Exceptions
41
-
42
- Exceptions directly thrown by the container MUST implement the
43
- [`Interop\Container\Exception\ContainerException`](../src/Interop/Container/Exception/ContainerException.php).
44
-
45
- A call to the `get` method with a non-existing id SHOULD throw a
46
- [`Interop\Container\Exception\NotFoundException`](../src/Interop/Container/Exception/NotFoundException.php).
47
-
48
- ### 1.3 Additional features
49
-
50
- This section describes additional features that MAY be added to a container. Containers are not
51
- required to implement these features to respect the ContainerInterface.
52
-
53
- #### 1.3.1 Delegate lookup feature
54
-
55
- The goal of the *delegate lookup* feature is to allow several containers to share entries.
56
- Containers implementing this feature can perform dependency lookups in other containers.
57
-
58
- Containers implementing this feature will offer a greater lever of interoperability
59
- with other containers. Implementation of this feature is therefore RECOMMENDED.
60
-
61
- A container implementing this feature:
62
-
63
- - MUST implement the `ContainerInterface`
64
- - MUST provide a way to register a delegate container (using a constructor parameter, or a setter,
65
- or any possible way). The delegate container MUST implement the `ContainerInterface`.
66
-
67
- When a container is configured to use a delegate container for dependencies:
68
-
69
- - Calls to the `get` method should only return an entry if the entry is part of the container.
70
- If the entry is not part of the container, an exception should be thrown
71
- (as requested by the `ContainerInterface`).
72
- - Calls to the `has` method should only return `true` if the entry is part of the container.
73
- If the entry is not part of the container, `false` should be returned.
74
- - If the fetched entry has dependencies, **instead** of performing
75
- the dependency lookup in the container, the lookup is performed on the *delegate container*.
76
-
77
- Important! By default, the lookup SHOULD be performed on the delegate container **only**, not on the container itself.
78
-
79
- It is however allowed for containers to provide exception cases for special entries, and a way to lookup
80
- into the same container (or another container) instead of the delegate container.
81
-
82
- 2. Package
83
- ----------
84
-
85
- The interfaces and classes described as well as relevant exception are provided as part of the
86
- [container-interop/container-interop](https://packagist.org/packages/container-interop/container-interop) package.
87
-
88
- 3. `Interop\Container\ContainerInterface`
89
- -----------------------------------------
90
-
91
- ```php
92
- <?php
93
- namespace Interop\Container;
94
-
95
- use Interop\Container\Exception\ContainerException;
96
- use Interop\Container\Exception\NotFoundException;
97
-
98
- /**
99
- * Describes the interface of a container that exposes methods to read its entries.
100
- */
101
- interface ContainerInterface
102
- {
103
- /**
104
- * Finds an entry of the container by its identifier and returns it.
105
- *
106
- * @param string $id Identifier of the entry to look for.
107
- *
108
- * @throws NotFoundException No entry was found for this identifier.
109
- * @throws ContainerException Error while retrieving the entry.
110
- *
111
- * @return mixed Entry.
112
- */
113
- public function get($id);
114
-
115
- /**
116
- * Returns true if the container can return an entry for the given identifier.
117
- * Returns false otherwise.
118
- *
119
- * `has($id)` returning true does not mean that `get($id)` will not throw an exception.
120
- * It does however mean that `get($id)` will not throw a `NotFoundException`.
121
- *
122
- * @param string $id Identifier of the entry to look for.
123
- *
124
- * @return boolean
125
- */
126
- public function has($id);
127
- }
128
- ```
129
-
130
- 4. `Interop\Container\Exception\ContainerException`
131
- ---------------------------------------------------
132
-
133
- ```php
134
- <?php
135
- namespace Interop\Container\Exception;
136
-
137
- /**
138
- * Base interface representing a generic exception in a container.
139
- */
140
- interface ContainerException
141
- {
142
- }
143
- ```
144
-
145
- 5. `Interop\Container\Exception\NotFoundException`
146
- ---------------------------------------------------
147
-
148
- ```php
149
- <?php
150
- namespace Interop\Container\Exception;
151
-
152
- /**
153
- * No entry was found in the container.
154
- */
155
- interface NotFoundException extends ContainerException
156
- {
157
- }
158
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/docs/Delegate-lookup-meta.md DELETED
@@ -1,259 +0,0 @@
1
- Delegate lookup feature Meta Document
2
- =====================================
3
-
4
- 1. Summary
5
- ----------
6
-
7
- This document describes the *delegate lookup feature*.
8
- Containers are not required to implement this feature to respect the `ContainerInterface`.
9
- However, containers implementing this feature will offer a greater lever of interoperability
10
- with other containers, allowing multiple containers to share entries in the same application.
11
- Implementation of this feature is therefore recommanded.
12
-
13
- 2. Why Bother?
14
- --------------
15
-
16
- The [`ContainerInterface`](../src/Interop/Container/ContainerInterface.php) ([meta doc](ContainerInterface.md))
17
- standardizes how frameworks and libraries make use of a container to obtain objects and parameters.
18
-
19
- By standardizing such a behavior, frameworks and libraries relying on the `ContainerInterface`
20
- could work with any compatible container.
21
- That would allow end users to choose their own container based on their own preferences.
22
-
23
- The `ContainerInterface` is also enough if we want to have several containers side-by-side in the same
24
- application. For instance, this is what the [CompositeContainer](https://github.com/jeremeamia/acclimate-container/blob/master/src/CompositeContainer.php)
25
- class of [Acclimate](https://github.com/jeremeamia/acclimate-container) is designed for:
26
-
27
- ![Side by side containers](images/side_by_side_containers.png)
28
-
29
- However, an instance in container 1 cannot reference an instance in container 2.
30
-
31
- It would be better if an instance of container 1 could reference an instance in container 2,
32
- and the opposite should be true.
33
-
34
- ![Interoperating containers](images/interoperating_containers.png)
35
-
36
- In the sample above, entry 1 in container 1 is referencing entry 3 in container 2.
37
-
38
- 3. Scope
39
- --------
40
-
41
- ### 3.1 Goals
42
-
43
- The goal of the *delegate lookup* feature is to allow several containers to share entries.
44
-
45
- 4. Approaches
46
- -------------
47
-
48
- ### 4.1 Chosen Approach
49
-
50
- Containers implementing this feature can perform dependency lookups in other containers.
51
-
52
- A container implementing this feature:
53
-
54
- - must implement the `ContainerInterface`
55
- - must provide a way to register a *delegate container* (using a constructor parameter, or a setter, or any
56
- possible way). The *delegate container* must implement the `ContainerInterface`.
57
-
58
- When a *delegate container* is configured on a container:
59
-
60
- - Calls to the `get` method should only return an entry if the entry is part of the container.
61
- If the entry is not part of the container, an exception should be thrown (as required in the `ContainerInterface`).
62
- - Calls to the `has` method should only return *true* if the entry is part of the container.
63
- If the entry is not part of the container, *false* should be returned.
64
- - Finally, the important part: if the entry we are fetching has dependencies,
65
- **instead** of perfoming the dependency lookup in the container, the lookup is performed on the *delegate container*.
66
-
67
- Important! By default, the lookup should be performed on the delegate container **only**, not on the container itself.
68
-
69
- It is however allowed for containers to provide exception cases for special entries, and a way to lookup into
70
- the same container (or another container) instead of the delegate container.
71
-
72
- ### 4.2 Typical usage
73
-
74
- The *delegate container* will usually be a composite container. A composite container is a container that
75
- contains several other containers. When performing a lookup on a composite container, the inner containers are
76
- queried until one container returns an entry.
77
- An inner container implementing the *delegate lookup feature* will return entries it contains, but if these
78
- entries have dependencies, the dependencies lookup calls will be performed on the composite container, giving
79
- a chance to all containers to answer.
80
-
81
- Interestingly enough, the order in which containers are added in the composite container matters. Indeed,
82
- the first containers to be added in the composite container can "override" the entries of containers with
83
- lower priority.
84
-
85
- ![Containers priority](images/priority.png)
86
-
87
- In the example above, "container 2" contains a controller "myController" and the controller is referencing an
88
- "entityManager" entry. "Container 1" contains also an entry named "entityManager".
89
- Without the *delegate lookup* feature, when requesting the "myController" instance to container 2, it would take
90
- in charge the instanciation of both entries.
91
-
92
- However, using the *delegate lookup* feature, here is what happens when we ask the composite container for the
93
- "myController" instance:
94
-
95
- - The composite container asks container 1 if if contains the "myController" instance. The answer is no.
96
- - The composite container asks container 2 if if contains the "myController" instance. The answer is yes.
97
- - The composite container performs a `get` call on container 2 for the "myController" instance.
98
- - Container 2 sees that "myController" has a dependency on "entityManager".
99
- - Container 2 delegates the lookup of "entityManager" to the composite container.
100
- - The composite container asks container 1 if if contains the "entityManager" instance. The answer is yes.
101
- - The composite container performs a `get` call on container 1 for the "entityManager" instance.
102
-
103
- In the end, we get a controller instanciated by container 2 that references an entityManager instanciated
104
- by container 1.
105
-
106
- ### 4.3 Alternative: the fallback strategy
107
-
108
- The first proposed approach we tried was to perform all the lookups in the "local" container,
109
- and if a lookup fails in the container, to use the delegate container. In this scenario, the
110
- delegate container is used in "fallback" mode.
111
-
112
- This strategy has been described in @moufmouf blog post: http://mouf-php.com/container-interop-whats-next (solution 1).
113
- It was also discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-33570697) and
114
- [here](https://github.com/container-interop/container-interop/pull/20#issuecomment-56599631).
115
-
116
- Problems with this strategy:
117
-
118
- - Heavy problem regarding infinite loops
119
- - Unable to overload a container entry with the delegate container entry
120
-
121
- ### 4.4 Alternative: force implementing an interface
122
-
123
- The first proposed approach was to develop a `ParentAwareContainerInterface` interface.
124
- It was proposed here: https://github.com/container-interop/container-interop/pull/8
125
-
126
- The interface would have had the behaviour of the delegate lookup feature but would have forced the addition of
127
- a `setParentContainter` method:
128
-
129
- ```php
130
- interface ParentAwareContainerInterface extends ReadableContainerInterface {
131
- /**
132
- * Sets the parent container associated to that container. This container will call
133
- * the parent container to fetch dependencies.
134
- *
135
- * @param ContainerInterface $container
136
- */
137
- public function setParentContainer(ContainerInterface $container);
138
- }
139
- ```
140
-
141
- The interface idea was first questioned by @Ocramius [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51721777).
142
- @Ocramius expressed the idea that an interface should not contain setters, otherwise, it is forcing implementation
143
- details on the class implementing the interface.
144
- Then @mnapoli made a proposal for a "convention" [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51841079),
145
- this idea was further discussed until all participants in the discussion agreed to remove the interface idea
146
- and replace it with a "standard" feature.
147
-
148
- **Pros:**
149
-
150
- If we had had an interface, we could have delegated the registration of the delegate/composite container to the
151
- the delegate/composite container itself.
152
- For instance:
153
-
154
- ```php
155
- $containerA = new ContainerA();
156
- $containerB = new ContainerB();
157
-
158
- $compositeContainer = new CompositeContainer([$containerA, $containerB]);
159
-
160
- // The call to 'setParentContainer' is delegated to the CompositeContainer
161
- // It is not the responsibility of the user anymore.
162
- class CompositeContainer {
163
- ...
164
-
165
- public function __construct($containers) {
166
- foreach ($containers as $container) {
167
- if ($container instanceof ParentAwareContainerInterface) {
168
- $container->setParentContainer($this);
169
- }
170
- }
171
- ...
172
- }
173
- }
174
-
175
- ```
176
-
177
- **Cons:**
178
-
179
- Cons have been extensively discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-51721777).
180
- Basically, forcing a setter into an interface is a bad idea. Setters are similar to constructor arguments,
181
- and it's a bad idea to standardize a constructor: how the delegate container is configured into a container is an implementation detail. This outweights the benefits of the interface.
182
-
183
- ### 4.4 Alternative: no exception case for delegate lookups
184
-
185
- Originally, the proposed wording for delegate lookup calls was:
186
-
187
- > Important! The lookup MUST be performed on the delegate container **only**, not on the container itself.
188
-
189
- This was later replaced by:
190
-
191
- > Important! By default, the lookup SHOULD be performed on the delegate container **only**, not on the container itself.
192
- >
193
- > It is however allowed for containers to provide exception cases for special entries, and a way to lookup
194
- > into the same container (or another container) instead of the delegate container.
195
-
196
- Exception cases have been allowed to avoid breaking dependencies with some services that must be provided
197
- by the container (on @njasm proposal). This was proposed here: https://github.com/container-interop/container-interop/pull/20#issuecomment-56597235
198
-
199
- ### 4.5 Alternative: having one of the containers act as the composite container
200
-
201
- In real-life scenarios, we usually have a big framework (Symfony 2, Zend Framework 2, etc...) and we want to
202
- add another DI container to this container. Most of the time, the "big" framework will be responsible for
203
- creating the controller's instances, using it's own DI container. Until *container-interop* is fully adopted,
204
- the "big" framework will not be aware of the existence of a composite container that it should use instead
205
- of its own container.
206
-
207
- For this real-life use cases, @mnapoli and @moufmouf proposed to extend the "big" framework's DI container
208
- to make it act as a composite container.
209
-
210
- This has been discussed [here](https://github.com/container-interop/container-interop/pull/8#issuecomment-40367194)
211
- and [here](http://mouf-php.com/container-interop-whats-next#solution4).
212
-
213
- This was implemented in Symfony 2 using:
214
-
215
- - [interop.symfony.di](https://github.com/thecodingmachine/interop.symfony.di/tree/v0.1.0)
216
- - [framework interop](https://github.com/mnapoli/framework-interop/)
217
-
218
- This was implemented in Silex using:
219
-
220
- - [interop.silex.di](https://github.com/thecodingmachine/interop.silex.di)
221
-
222
- Having a container act as the composite container is not part of the delegate lookup standard because it is
223
- simply a temporary design pattern used to make existing frameworks that do not support yet ContainerInterop
224
- play nice with other DI containers.
225
-
226
-
227
- 5. Implementations
228
- ------------------
229
-
230
- The following projects already implement the delegate lookup feature:
231
-
232
- - [Mouf](http://mouf-php.com), through the [`setDelegateLookupContainer` method](https://github.com/thecodingmachine/mouf/blob/2.0/src/Mouf/MoufManager.php#L2120)
233
- - [PHP-DI](http://php-di.org/), through the [`$wrapperContainer` parameter of the constructor](https://github.com/mnapoli/PHP-DI/blob/master/src/DI/Container.php#L72)
234
- - [pimple-interop](https://github.com/moufmouf/pimple-interop), through the [`$container` parameter of the constructor](https://github.com/moufmouf/pimple-interop/blob/master/src/Interop/Container/Pimple/PimpleInterop.php#L62)
235
-
236
- 6. People
237
- ---------
238
-
239
- Are listed here all people that contributed in the discussions, by alphabetical order:
240
-
241
- - [Alexandru Pătrănescu](https://github.com/drealecs)
242
- - [Ben Peachey](https://github.com/potherca)
243
- - [David Négrier](https://github.com/moufmouf)
244
- - [Jeremy Lindblom](https://github.com/jeremeamia)
245
- - [Marco Pivetta](https://github.com/Ocramius)
246
- - [Matthieu Napoli](https://github.com/mnapoli)
247
- - [Nelson J Morais](https://github.com/njasm)
248
- - [Phil Sturgeon](https://github.com/philsturgeon)
249
- - [Stephan Hochdörfer](https://github.com/shochdoerfer)
250
-
251
- 7. Relevant Links
252
- -----------------
253
-
254
- _**Note:** Order descending chronologically._
255
-
256
- - [Pull request on the delegate lookup feature](https://github.com/container-interop/container-interop/pull/20)
257
- - [Pull request on the interface idea](https://github.com/container-interop/container-interop/pull/8)
258
- - [Original article exposing the delegate lookup idea along many others](http://mouf-php.com/container-interop-whats-next)
259
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/docs/Delegate-lookup.md DELETED
@@ -1,60 +0,0 @@
1
- Delegate lookup feature
2
- =======================
3
-
4
- This document describes a standard for dependency injection containers.
5
-
6
- The goal set by the *delegate lookup* feature is to allow several containers to share entries.
7
- Containers implementing this feature can perform dependency lookups in other containers.
8
-
9
- Containers implementing this feature will offer a greater lever of interoperability
10
- with other containers. Implementation of this feature is therefore RECOMMENDED.
11
-
12
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
13
- "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
14
- interpreted as described in [RFC 2119][].
15
-
16
- The word `implementor` in this document is to be interpreted as someone
17
- implementing the delegate lookup feature in a dependency injection-related library or framework.
18
- Users of dependency injections containers (DIC) are referred to as `user`.
19
-
20
- [RFC 2119]: http://tools.ietf.org/html/rfc2119
21
-
22
- 1. Vocabulary
23
- -------------
24
-
25
- In a dependency injection container, the container is used to fetch entries.
26
- Entries can have dependencies on other entries. Usually, these other entries are fetched by the container.
27
-
28
- The *delegate lookup* feature is the ability for a container to fetch dependencies in
29
- another container. In the rest of the document, the word "container" will reference the container
30
- implemented by the implementor. The word "delegate container" will reference the container we are
31
- fetching the dependencies from.
32
-
33
- 2. Specification
34
- ----------------
35
-
36
- A container implementing the *delegate lookup* feature:
37
-
38
- - MUST implement the [`ContainerInterface`](ContainerInterface.md)
39
- - MUST provide a way to register a delegate container (using a constructor parameter, or a setter,
40
- or any possible way). The delegate container MUST implement the [`ContainerInterface`](ContainerInterface.md).
41
-
42
- When a container is configured to use a delegate container for dependencies:
43
-
44
- - Calls to the `get` method should only return an entry if the entry is part of the container.
45
- If the entry is not part of the container, an exception should be thrown
46
- (as requested by the [`ContainerInterface`](ContainerInterface.md)).
47
- - Calls to the `has` method should only return `true` if the entry is part of the container.
48
- If the entry is not part of the container, `false` should be returned.
49
- - If the fetched entry has dependencies, **instead** of performing
50
- the dependency lookup in the container, the lookup is performed on the *delegate container*.
51
-
52
- Important: By default, the dependency lookups SHOULD be performed on the delegate container **only**, not on the container itself.
53
-
54
- It is however allowed for containers to provide exception cases for special entries, and a way to lookup
55
- into the same container (or another container) instead of the delegate container.
56
-
57
- 3. Package / Interface
58
- ----------------------
59
-
60
- This feature is not tied to any code, interface or package.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/docs/images/interoperating_containers.png DELETED
Binary file
vendor/container-interop/container-interop/docs/images/priority.png DELETED
Binary file
vendor/container-interop/container-interop/docs/images/side_by_side_containers.png DELETED
Binary file
vendor/container-interop/container-interop/src/Interop/Container/ContainerInterface.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
- /**
3
- * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
4
- */
5
-
6
- namespace Interop\Container;
7
-
8
- use Psr\Container\ContainerInterface as PsrContainerInterface;
9
-
10
- /**
11
- * Describes the interface of a container that exposes methods to read its entries.
12
- */
13
- interface ContainerInterface extends PsrContainerInterface
14
- {
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/src/Interop/Container/Exception/ContainerException.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
- /**
3
- * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
4
- */
5
-
6
- namespace Interop\Container\Exception;
7
-
8
- use Psr\Container\ContainerExceptionInterface as PsrContainerException;
9
-
10
- /**
11
- * Base interface representing a generic exception in a container.
12
- */
13
- interface ContainerException extends PsrContainerException
14
- {
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
- /**
3
- * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
4
- */
5
-
6
- namespace Interop\Container\Exception;
7
-
8
- use Psr\Container\NotFoundExceptionInterface as PsrNotFoundException;
9
-
10
- /**
11
- * No entry was found in the container.
12
- */
13
- interface NotFoundException extends ContainerException, PsrNotFoundException
14
- {
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/LICENSE DELETED
@@ -1,30 +0,0 @@
1
- Copyright (c) 2011, Neuman Vong
2
-
3
- All rights reserved.
4
-
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions are met:
7
-
8
- * Redistributions of source code must retain the above copyright
9
- notice, this list of conditions and the following disclaimer.
10
-
11
- * Redistributions in binary form must reproduce the above
12
- copyright notice, this list of conditions and the following
13
- disclaimer in the documentation and/or other materials provided
14
- with the distribution.
15
-
16
- * Neither the name of Neuman Vong nor the names of other
17
- contributors may be used to endorse or promote products derived
18
- from this software without specific prior written permission.
19
-
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/README.md DELETED
@@ -1,119 +0,0 @@
1
- [![Build Status](https://travis-ci.org/firebase/php-jwt.png?branch=master)](https://travis-ci.org/firebase/php-jwt)
2
- [![Latest Stable Version](https://poser.pugx.org/firebase/php-jwt/v/stable)](https://packagist.org/packages/firebase/php-jwt)
3
- [![Total Downloads](https://poser.pugx.org/firebase/php-jwt/downloads)](https://packagist.org/packages/firebase/php-jwt)
4
- [![License](https://poser.pugx.org/firebase/php-jwt/license)](https://packagist.org/packages/firebase/php-jwt)
5
-
6
- PHP-JWT
7
- =======
8
- A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to [RFC 7519](https://tools.ietf.org/html/rfc7519).
9
-
10
- Installation
11
- ------------
12
-
13
- Use composer to manage your dependencies and download PHP-JWT:
14
-
15
- ```bash
16
- composer require firebase/php-jwt
17
- ```
18
-
19
- Example
20
- -------
21
- ```php
22
- <?php
23
- use \Firebase\JWT\JWT;
24
-
25
- $key = "example_key";
26
- $token = array(
27
- "iss" => "http://example.org",
28
- "aud" => "http://example.com",
29
- "iat" => 1356999524,
30
- "nbf" => 1357000000
31
- );
32
-
33
- /**
34
- * IMPORTANT:
35
- * You must specify supported algorithms for your application. See
36
- * https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
37
- * for a list of spec-compliant algorithms.
38
- */
39
- $jwt = JWT::encode($token, $key);
40
- $decoded = JWT::decode($jwt, $key, array('HS256'));
41
-
42
- print_r($decoded);
43
-
44
- /*
45
- NOTE: This will now be an object instead of an associative array. To get
46
- an associative array, you will need to cast it as such:
47
- */
48
-
49
- $decoded_array = (array) $decoded;
50
-
51
- /**
52
- * You can add a leeway to account for when there is a clock skew times between
53
- * the signing and verifying servers. It is recommended that this leeway should
54
- * not be bigger than a few minutes.
55
- *
56
- * Source: http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#nbfDef
57
- */
58
- JWT::$leeway = 60; // $leeway in seconds
59
- $decoded = JWT::decode($jwt, $key, array('HS256'));
60
-
61
- ?>
62
- ```
63
-
64
- Changelog
65
- ---------
66
-
67
- #### 4.0.0 / 2016-07-17
68
- - Add support for late static binding. See [#88](https://github.com/firebase/php-jwt/pull/88) for details. Thanks to [@chappy84](https://github.com/chappy84)!
69
- - Use static `$timestamp` instead of `time()` to improve unit testing. See [#93](https://github.com/firebase/php-jwt/pull/93) for details. Thanks to [@josephmcdermott](https://github.com/josephmcdermott)!
70
- - Fixes to exceptions classes. See [#81](https://github.com/firebase/php-jwt/pull/81) for details. Thanks to [@Maks3w](https://github.com/Maks3w)!
71
- - Fixes to PHPDoc. See [#76](https://github.com/firebase/php-jwt/pull/76) for details. Thanks to [@akeeman](https://github.com/akeeman)!
72
-
73
- #### 3.0.0 / 2015-07-22
74
- - Minimum PHP version updated from `5.2.0` to `5.3.0`.
75
- - Add `\Firebase\JWT` namespace. See
76
- [#59](https://github.com/firebase/php-jwt/pull/59) for details. Thanks to
77
- [@Dashron](https://github.com/Dashron)!
78
- - Require a non-empty key to decode and verify a JWT. See
79
- [#60](https://github.com/firebase/php-jwt/pull/60) for details. Thanks to
80
- [@sjones608](https://github.com/sjones608)!
81
- - Cleaner documentation blocks in the code. See
82
- [#62](https://github.com/firebase/php-jwt/pull/62) for details. Thanks to
83
- [@johanderuijter](https://github.com/johanderuijter)!
84
-
85
- #### 2.2.0 / 2015-06-22
86
- - Add support for adding custom, optional JWT headers to `JWT::encode()`. See
87
- [#53](https://github.com/firebase/php-jwt/pull/53/files) for details. Thanks to
88
- [@mcocaro](https://github.com/mcocaro)!
89
-
90
- #### 2.1.0 / 2015-05-20
91
- - Add support for adding a leeway to `JWT:decode()` that accounts for clock skew
92
- between signing and verifying entities. Thanks to [@lcabral](https://github.com/lcabral)!
93
- - Add support for passing an object implementing the `ArrayAccess` interface for
94
- `$keys` argument in `JWT::decode()`. Thanks to [@aztech-dev](https://github.com/aztech-dev)!
95
-
96
- #### 2.0.0 / 2015-04-01
97
- - **Note**: It is strongly recommended that you update to > v2.0.0 to address
98
- known security vulnerabilities in prior versions when both symmetric and
99
- asymmetric keys are used together.
100
- - Update signature for `JWT::decode(...)` to require an array of supported
101
- algorithms to use when verifying token signatures.
102
-
103
-
104
- Tests
105
- -----
106
- Run the tests using phpunit:
107
-
108
- ```bash
109
- $ pear install PHPUnit
110
- $ phpunit --configuration phpunit.xml.dist
111
- PHPUnit 3.7.10 by Sebastian Bergmann.
112
- .....
113
- Time: 0 seconds, Memory: 2.50Mb
114
- OK (5 tests, 5 assertions)
115
- ```
116
-
117
- License
118
- -------
119
- [3-Clause BSD](http://opensource.org/licenses/BSD-3-Clause).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "firebase/php-jwt",
3
- "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
4
- "homepage": "https://github.com/firebase/php-jwt",
5
- "authors": [
6
- {
7
- "name": "Neuman Vong",
8
- "email": "neuman+pear@twilio.com",
9
- "role": "Developer"
10
- },
11
- {
12
- "name": "Anant Narayanan",
13
- "email": "anant@php.net",
14
- "role": "Developer"
15
- }
16
- ],
17
- "license": "BSD-3-Clause",
18
- "require": {
19
- "php": ">=5.3.0"
20
- },
21
- "autoload": {
22
- "psr-4": {
23
- "Firebase\\JWT\\": "src"
24
- }
25
- },
26
- "minimum-stability": "dev"
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/composer.lock DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "_readme": [
3
- "This file locks the dependencies of your project to a known state",
4
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
- "This file is @generated automatically"
6
- ],
7
- "hash": "60a5df5d283a7ae9000173248eba8909",
8
- "packages": [],
9
- "packages-dev": [],
10
- "aliases": [],
11
- "minimum-stability": "dev",
12
- "stability-flags": [],
13
- "prefer-stable": false,
14
- "prefer-lowest": false,
15
- "platform": {
16
- "php": ">=5.2.0"
17
- },
18
- "platform-dev": []
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/firebase/php-jwt/run-tests.sh ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ #!/usr/bin/env bash
3
+ gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
4
+ if [ $? -ne 0 ]; then
5
+ echo -e "\033[33mDownloading PGP Public Key...\033[0m"
6
+ gpg --recv-keys D8406D0D82947747293778314AA394086372C20A
7
+ # Sebastian Bergmann <sb@sebastian-bergmann.de>
8
+ gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
9
+ if [ $? -ne 0 ]; then
10
+ echo -e "\033[31mCould not download PGP public key for verification\033[0m"
11
+ exit
12
+ fi
13
+ fi
14
+
15
+ # Let's grab the latest release and its signature
16
+ if [ ! -f phpunit.phar ]; then
17
+ wget https://phar.phpunit.de/phpunit.phar
18
+ fi
19
+ if [ ! -f phpunit.phar.asc ]; then
20
+ wget https://phar.phpunit.de/phpunit.phar.asc
21
+ fi
22
+
23
+ # Verify before running
24
+ gpg --verify phpunit.phar.asc phpunit.phar
25
+ if [ $? -eq 0 ]; then
26
+ echo
27
+ echo -e "\033[33mBegin Unit Testing\033[0m"
28
+ # Run the testing suite
29
+ php --version
30
+ php phpunit.phar --configuration phpunit.xml.dist
31
+ else
32
+ echo
33
+ chmod -x phpunit.phar
34
+ mv phpunit.phar /tmp/bad-phpunit.phar
35
+ mv phpunit.phar.asc /tmp/bad-phpunit.phar.asc
36
+ echo -e "\033[31mSignature did not match! PHPUnit has been moved to /tmp/bad-phpunit.phar\033[0m"
37
+ exit 1
38
+ fi
vendor/firebase/php-jwt/src/JWT.php CHANGED
@@ -29,14 +29,6 @@ class JWT
29
  */
30
  public static $leeway = 0;
31
 
32
- /**
33
- * Allow the current timestamp to be specified.
34
- * Useful for fixing a value within unit testing.
35
- *
36
- * Will default to PHP time() value if null.
37
- */
38
- public static $timestamp = null;
39
-
40
  public static $supported_algs = array(
41
  'HS256' => array('hash_hmac', 'SHA256'),
42
  'HS512' => array('hash_hmac', 'SHA512'),
@@ -47,14 +39,15 @@ class JWT
47
  /**
48
  * Decodes a JWT string into a PHP object.
49
  *
50
- * @param string $jwt The JWT
51
- * @param string|array $key The key, or map of keys.
52
- * If the algorithm used is asymmetric, this is the public key
53
- * @param array $allowed_algs List of supported verification algorithms
54
- * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
55
  *
56
  * @return object The JWT's payload as a PHP object
57
  *
 
58
  * @throws UnexpectedValueException Provided JWT was invalid
59
  * @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed
60
  * @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf'
@@ -66,52 +59,47 @@ class JWT
66
  */
67
  public static function decode($jwt, $key, $allowed_algs = array())
68
  {
69
- $timestamp = is_null(static::$timestamp) ? time() : static::$timestamp;
70
-
71
  if (empty($key)) {
72
  throw new InvalidArgumentException('Key may not be empty');
73
  }
74
- if (!is_array($allowed_algs)) {
75
- throw new InvalidArgumentException('Algorithm not allowed');
76
- }
77
  $tks = explode('.', $jwt);
78
  if (count($tks) != 3) {
79
  throw new UnexpectedValueException('Wrong number of segments');
80
  }
81
  list($headb64, $bodyb64, $cryptob64) = $tks;
82
- if (null === ($header = static::jsonDecode(static::urlsafeB64Decode($headb64)))) {
83
  throw new UnexpectedValueException('Invalid header encoding');
84
  }
85
- if (null === $payload = static::jsonDecode(static::urlsafeB64Decode($bodyb64))) {
86
  throw new UnexpectedValueException('Invalid claims encoding');
87
  }
88
- $sig = static::urlsafeB64Decode($cryptob64);
89
 
90
  if (empty($header->alg)) {
91
- throw new UnexpectedValueException('Empty algorithm');
92
  }
93
- if (empty(static::$supported_algs[$header->alg])) {
94
- throw new UnexpectedValueException('Algorithm not supported');
95
  }
96
- if (!in_array($header->alg, $allowed_algs)) {
97
- throw new UnexpectedValueException('Algorithm not allowed');
98
  }
99
  if (is_array($key) || $key instanceof \ArrayAccess) {
100
  if (isset($header->kid)) {
101
  $key = $key[$header->kid];
102
  } else {
103
- throw new UnexpectedValueException('"kid" empty, unable to lookup correct key');
104
  }
105
  }
106
 
107
  // Check the signature
108
- if (!static::verify("$headb64.$bodyb64", $sig, $key, $header->alg)) {
109
  throw new SignatureInvalidException('Signature verification failed');
110
  }
111
 
112
  // Check if the nbf if it is defined. This is the time that the
113
  // token can actually be used. If it's not yet that time, abort.
114
- if (isset($payload->nbf) && $payload->nbf > ($timestamp + static::$leeway)) {
115
  throw new BeforeValidException(
116
  'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->nbf)
117
  );
@@ -120,14 +108,14 @@ class JWT
120
  // Check that this token has been created before 'now'. This prevents
121
  // using tokens that have been created for later use (and haven't
122
  // correctly used the nbf claim).
123
- if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway)) {
124
  throw new BeforeValidException(
125
  'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat)
126
  );
127
  }
128
 
129
  // Check if this token has expired.
130
- if (isset($payload->exp) && ($timestamp - static::$leeway) >= $payload->exp) {
131
  throw new ExpiredException('Expired token');
132
  }
133
 
@@ -142,7 +130,6 @@ class JWT
142
  * If the algorithm used is asymmetric, this is the private key
143
  * @param string $alg The signing algorithm.
144
  * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
145
- * @param mixed $keyId
146
  * @param array $head An array with header elements to attach
147
  *
148
  * @return string A signed JWT
@@ -160,12 +147,12 @@ class JWT
160
  $header = array_merge($head, $header);
161
  }
162
  $segments = array();
163
- $segments[] = static::urlsafeB64Encode(static::jsonEncode($header));
164
- $segments[] = static::urlsafeB64Encode(static::jsonEncode($payload));
165
  $signing_input = implode('.', $segments);
166
 
167
- $signature = static::sign($signing_input, $key, $alg);
168
- $segments[] = static::urlsafeB64Encode($signature);
169
 
170
  return implode('.', $segments);
171
  }
@@ -184,10 +171,10 @@ class JWT
184
  */
185
  public static function sign($msg, $key, $alg = 'HS256')
186
  {
187
- if (empty(static::$supported_algs[$alg])) {
188
  throw new DomainException('Algorithm not supported');
189
  }
190
- list($function, $algorithm) = static::$supported_algs[$alg];
191
  switch($function) {
192
  case 'hash_hmac':
193
  return hash_hmac($algorithm, $msg, $key, true);
@@ -217,11 +204,11 @@ class JWT
217
  */
218
  private static function verify($msg, $signature, $key, $alg)
219
  {
220
- if (empty(static::$supported_algs[$alg])) {
221
  throw new DomainException('Algorithm not supported');
222
  }
223
 
224
- list($function, $algorithm) = static::$supported_algs[$alg];
225
  switch($function) {
226
  case 'openssl':
227
  $success = openssl_verify($msg, $signature, $key, $algorithm);
@@ -236,13 +223,13 @@ class JWT
236
  if (function_exists('hash_equals')) {
237
  return hash_equals($signature, $hash);
238
  }
239
- $len = min(static::safeStrlen($signature), static::safeStrlen($hash));
240
 
241
  $status = 0;
242
  for ($i = 0; $i < $len; $i++) {
243
  $status |= (ord($signature[$i]) ^ ord($hash[$i]));
244
  }
245
- $status |= (static::safeStrlen($signature) ^ static::safeStrlen($hash));
246
 
247
  return ($status === 0);
248
  }
@@ -276,7 +263,7 @@ class JWT
276
  }
277
 
278
  if (function_exists('json_last_error') && $errno = json_last_error()) {
279
- static::handleJsonError($errno);
280
  } elseif ($obj === null && $input !== 'null') {
281
  throw new DomainException('Null result with non-null input');
282
  }
@@ -296,7 +283,7 @@ class JWT
296
  {
297
  $json = json_encode($input);
298
  if (function_exists('json_last_error') && $errno = json_last_error()) {
299
- static::handleJsonError($errno);
300
  } elseif ($json === 'null' && $input !== null) {
301
  throw new DomainException('Null result with non-null input');
302
  }
29
  */
30
  public static $leeway = 0;
31
 
 
 
 
 
 
 
 
 
32
  public static $supported_algs = array(
33
  'HS256' => array('hash_hmac', 'SHA256'),
34
  'HS512' => array('hash_hmac', 'SHA512'),
39
  /**
40
  * Decodes a JWT string into a PHP object.
41
  *
42
+ * @param string $jwt The JWT
43
+ * @param string|array|null $key The key, or map of keys.
44
+ * If the algorithm used is asymmetric, this is the public key
45
+ * @param array $allowed_algs List of supported verification algorithms
46
+ * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
47
  *
48
  * @return object The JWT's payload as a PHP object
49
  *
50
+ * @throws DomainException Algorithm was not provided
51
  * @throws UnexpectedValueException Provided JWT was invalid
52
  * @throws SignatureInvalidException Provided JWT was invalid because the signature verification failed
53
  * @throws BeforeValidException Provided JWT is trying to be used before it's eligible as defined by 'nbf'
59
  */
60
  public static function decode($jwt, $key, $allowed_algs = array())
61
  {
 
 
62
  if (empty($key)) {
63
  throw new InvalidArgumentException('Key may not be empty');
64
  }
 
 
 
65
  $tks = explode('.', $jwt);
66
  if (count($tks) != 3) {
67
  throw new UnexpectedValueException('Wrong number of segments');
68
  }
69
  list($headb64, $bodyb64, $cryptob64) = $tks;
70
+ if (null === ($header = JWT::jsonDecode(JWT::urlsafeB64Decode($headb64)))) {
71
  throw new UnexpectedValueException('Invalid header encoding');
72
  }
73
+ if (null === $payload = JWT::jsonDecode(JWT::urlsafeB64Decode($bodyb64))) {
74
  throw new UnexpectedValueException('Invalid claims encoding');
75
  }
76
+ $sig = JWT::urlsafeB64Decode($cryptob64);
77
 
78
  if (empty($header->alg)) {
79
+ throw new DomainException('Empty algorithm');
80
  }
81
+ if (empty(self::$supported_algs[$header->alg])) {
82
+ throw new DomainException('Algorithm not supported');
83
  }
84
+ if (!is_array($allowed_algs) || !in_array($header->alg, $allowed_algs)) {
85
+ throw new DomainException('Algorithm not allowed');
86
  }
87
  if (is_array($key) || $key instanceof \ArrayAccess) {
88
  if (isset($header->kid)) {
89
  $key = $key[$header->kid];
90
  } else {
91
+ throw new DomainException('"kid" empty, unable to lookup correct key');
92
  }
93
  }
94
 
95
  // Check the signature
96
+ if (!JWT::verify("$headb64.$bodyb64", $sig, $key, $header->alg)) {
97
  throw new SignatureInvalidException('Signature verification failed');
98
  }
99
 
100
  // Check if the nbf if it is defined. This is the time that the
101
  // token can actually be used. If it's not yet that time, abort.
102
+ if (isset($payload->nbf) && $payload->nbf > (time() + self::$leeway)) {
103
  throw new BeforeValidException(
104
  'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->nbf)
105
  );
108
  // Check that this token has been created before 'now'. This prevents
109
  // using tokens that have been created for later use (and haven't
110
  // correctly used the nbf claim).
111
+ if (isset($payload->iat) && $payload->iat > (time() + self::$leeway)) {
112
  throw new BeforeValidException(
113
  'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat)
114
  );
115
  }
116
 
117
  // Check if this token has expired.
118
+ if (isset($payload->exp) && (time() - self::$leeway) >= $payload->exp) {
119
  throw new ExpiredException('Expired token');
120
  }
121
 
130
  * If the algorithm used is asymmetric, this is the private key
131
  * @param string $alg The signing algorithm.
132
  * Supported algorithms are 'HS256', 'HS384', 'HS512' and 'RS256'
 
133
  * @param array $head An array with header elements to attach
134
  *
135
  * @return string A signed JWT
147
  $header = array_merge($head, $header);
148
  }
149
  $segments = array();
150
+ $segments[] = JWT::urlsafeB64Encode(JWT::jsonEncode($header));
151
+ $segments[] = JWT::urlsafeB64Encode(JWT::jsonEncode($payload));
152
  $signing_input = implode('.', $segments);
153
 
154
+ $signature = JWT::sign($signing_input, $key, $alg);
155
+ $segments[] = JWT::urlsafeB64Encode($signature);
156
 
157
  return implode('.', $segments);
158
  }
171
  */
172
  public static function sign($msg, $key, $alg = 'HS256')
173
  {
174
+ if (empty(self::$supported_algs[$alg])) {
175
  throw new DomainException('Algorithm not supported');
176
  }
177
+ list($function, $algorithm) = self::$supported_algs[$alg];
178
  switch($function) {
179
  case 'hash_hmac':
180
  return hash_hmac($algorithm, $msg, $key, true);
204
  */
205
  private static function verify($msg, $signature, $key, $alg)
206
  {
207
+ if (empty(self::$supported_algs[$alg])) {
208
  throw new DomainException('Algorithm not supported');
209
  }
210
 
211
+ list($function, $algorithm) = self::$supported_algs[$alg];
212
  switch($function) {
213
  case 'openssl':
214
  $success = openssl_verify($msg, $signature, $key, $algorithm);
223
  if (function_exists('hash_equals')) {
224
  return hash_equals($signature, $hash);
225
  }
226
+ $len = min(self::safeStrlen($signature), self::safeStrlen($hash));
227
 
228
  $status = 0;
229
  for ($i = 0; $i < $len; $i++) {
230
  $status |= (ord($signature[$i]) ^ ord($hash[$i]));
231
  }
232
+ $status |= (self::safeStrlen($signature) ^ self::safeStrlen($hash));
233
 
234
  return ($status === 0);
235
  }
263
  }
264
 
265
  if (function_exists('json_last_error') && $errno = json_last_error()) {
266
+ JWT::handleJsonError($errno);
267
  } elseif ($obj === null && $input !== 'null') {
268
  throw new DomainException('Null result with non-null input');
269
  }
283
  {
284
  $json = json_encode($input);
285
  if (function_exists('json_last_error') && $errno = json_last_error()) {
286
+ JWT::handleJsonError($errno);
287
  } elseif ($json === 'null' && $input !== null) {
288
  throw new DomainException('Null result with non-null input');
289
  }
vendor/guzzle/guzzle/.gitignore DELETED
@@ -1,27 +0,0 @@
1
- # Ingore common cruft
2
- .DS_STORE
3
- coverage
4
- .idea
5
-
6
- # Ignore binary files
7
- guzzle.phar
8
- guzzle-min.phar
9
-
10
- # Ignore potentially sensitive phpunit file
11
- phpunit.xml
12
-
13
- # Ignore composer generated files
14
- composer.phar
15
- composer.lock
16
- composer-test.lock
17
- vendor/
18
-
19
- # Ignore build files
20
- build/
21
- phing/build.properties
22
-
23
- # Ignore subsplit working directory
24
- .subsplit
25
-
26
- docs/_build
27
- docs/*.pyc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- language: php
2
-
3
- php:
4
- - 5.3
5
- - 5.4
6
- - 5.5
7
- - 5.6
8
- - hhvm
9
-
10
- before_script:
11
- - curl --version
12
- - pecl install uri_template-beta || echo "pecl uri_template not available"
13
- - composer self-update
14
- - composer install --no-interaction --prefer-source --dev
15
- - ~/.nvm/nvm.sh install v0.6.14
16
-
17
- script: composer test
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/CHANGELOG.md DELETED
@@ -1,751 +0,0 @@
1
- # CHANGELOG
2
-
3
- ## 3.9.3 - 2015-03-18
4
-
5
- * Ensuring Content-Length is not stripped from a request when it is `0`.
6
- * Added more information to stream wrapper exceptions.
7
- * Message parser will no longer throw warnings for malformed messages.
8
- * Giving a valid cache TTL when max-age is 0.
9
-
10
- ## 3.9.2 - 2014-09-10
11
-
12
- * Retrying "Connection died, retrying a fresh connect" curl errors.
13
- * Automatically extracting the cacert from the phar in client constructor.
14
- * Added EntityBody support for OPTIONS requests.
15
-
16
- ## 3.9.1 - 2014-05-07
17
-
18
- * Added a fix to ReadLimitEntityBody to ensure it doesn't infinitely loop.
19
- * Added a fix to the stream checksum function so that when the first read
20
- returns a falsey value, it still continues to consume the stream until EOF.
21
-
22
- ## 3.9.0 - 2014-04-23
23
-
24
- * `null`, `false`, and `"_guzzle_blank_"` all now serialize as an empty value
25
- with no trailing "=". See dc1d824277.
26
- * No longer performing an MD5 check on the cacert each time the phar is used,
27
- but rather copying the cacert to the temp directory.
28
- * `"0"` can now be added as a URL path
29
- * Deleting cookies that are set to empty
30
- * If-Modified-Since is no longer unnecessarily added to the CachePlugin
31
- * Cookie path matching now follows RFC 6265 s5.1.4
32
- * Updated service descriptions are now added to a service client's composite
33
- factory.
34
- * MockPlugin now throws an exception if the queue is empty.
35
- * Properly parsing URLs that start with "http" but are not absolute
36
- * Added the ability to configure the curl_multi_select timeout setting
37
- * OAuth parameters are now sorted using lexicographical byte value ordering
38
- * Fixing invalid usage of an out of range PHP feature in the ErrorResponsePlugin
39
-
40
- ## 3.8.1 -2014-01-28
41
-
42
- * Bug: Always using GET requests when redirecting from a 303 response
43
- * Bug: CURLOPT_SSL_VERIFYHOST is now correctly set to false when setting `$certificateAuthority` to false in
44
- `Guzzle\Http\ClientInterface::setSslVerification()`
45
- * Bug: RedirectPlugin now uses strict RFC 3986 compliance when combining a base URL with a relative URL
46
- * Bug: The body of a request can now be set to `"0"`
47
- * Sending PHP stream requests no longer forces `HTTP/1.0`
48
- * Adding more information to ExceptionCollection exceptions so that users have more context, including a stack trace of
49
- each sub-exception
50
- * Updated the `$ref` attribute in service descriptions to merge over any existing parameters of a schema (rather than
51
- clobbering everything).
52
- * Merging URLs will now use the query string object from the relative URL (thus allowing custom query aggregators)
53
- * Query strings are now parsed in a way that they do no convert empty keys with no value to have a dangling `=`.
54
- For example `foo&bar=baz` is now correctly parsed and recognized as `foo&bar=baz` rather than `foo=&bar=baz`.
55
- * Now properly escaping the regular expression delimiter when matching Cookie domains.
56
- * Network access is now disabled when loading XML documents
57
-
58
- ## 3.8.0 - 2013-12-05
59
-
60
- * Added the ability to define a POST name for a file
61
- * JSON response parsing now properly walks additionalProperties
62
- * cURL error code 18 is now retried automatically in the BackoffPlugin
63
- * Fixed a cURL error when URLs contain fragments
64
- * Fixed an issue in the BackoffPlugin retry event where it was trying to access all exceptions as if they were
65
- CurlExceptions
66
- * CURLOPT_PROGRESS function fix for PHP 5.5 (69fcc1e)
67
- * Added the ability for Guzzle to work with older versions of cURL that do not support `CURLOPT_TIMEOUT_MS`
68
- * Fixed a bug that was encountered when parsing empty header parameters
69
- * UriTemplate now has a `setRegex()` method to match the docs
70
- * The `debug` request parameter now checks if it is truthy rather than if it exists
71
- * Setting the `debug` request parameter to true shows verbose cURL output instead of using the LogPlugin
72
- * Added the ability to combine URLs using strict RFC 3986 compliance
73
- * Command objects can now return the validation errors encountered by the command
74
- * Various fixes to cache revalidation (#437 and 29797e5)
75
- * Various fixes to the AsyncPlugin
76
- * Cleaned up build scripts
77
-
78
- ## 3.7.4 - 2013-10-02
79
-
80
- * Bug fix: 0 is now an allowed value in a description parameter that has a default value (#430)
81
- * Bug fix: SchemaFormatter now returns an integer when formatting to a Unix timestamp
82
- (see https://github.com/aws/aws-sdk-php/issues/147)
83
- * Bug fix: Cleaned up and fixed URL dot segment removal to properly resolve internal dots
84
- * Minimum PHP version is now properly specified as 5.3.3 (up from 5.3.2) (#420)
85
- * Updated the bundled cacert.pem (#419)
86
- * OauthPlugin now supports adding authentication to headers or query string (#425)
87
-
88
- ## 3.7.3 - 2013-09-08
89
-
90
- * Added the ability to get the exception associated with a request/command when using `MultiTransferException` and
91
- `CommandTransferException`.
92
- * Setting `additionalParameters` of a response to false is now honored when parsing responses with a service description
93
- * Schemas are only injected into response models when explicitly configured.
94
- * No longer guessing Content-Type based on the path of a request. Content-Type is now only guessed based on the path of
95
- an EntityBody.
96
- * Bug fix: ChunkedIterator can now properly chunk a \Traversable as well as an \Iterator.
97
- * Bug fix: FilterIterator now relies on `\Iterator` instead of `\Traversable`.
98
- * Bug fix: Gracefully handling malformed responses in RequestMediator::writeResponseBody()
99
- * Bug fix: Replaced call to canCache with canCacheRequest in the CallbackCanCacheStrategy of the CachePlugin
100
- * Bug fix: Visiting XML attributes first before visting XML children when serializing requests
101
- * Bug fix: Properly parsing headers that contain commas contained in quotes
102
- * Bug fix: mimetype guessing based on a filename is now case-insensitive
103
-
104
- ## 3.7.2 - 2013-08-02
105
-
106
- * Bug fix: Properly URL encoding paths when using the PHP-only version of the UriTemplate expander
107
- See https://github.com/guzzle/guzzle/issues/371
108
- * Bug fix: Cookie domains are now matched correctly according to RFC 6265
109
- See https://github.com/guzzle/guzzle/issues/377
110
- * Bug fix: GET parameters are now used when calculating an OAuth signature
111
- * Bug fix: Fixed an issue with cache revalidation where the If-None-Match header was being double quoted
112
- * `Guzzle\Common\AbstractHasDispatcher::dispatch()` now returns the event that was dispatched
113
- * `Guzzle\Http\QueryString::factory()` now guesses the most appropriate query aggregator to used based on the input.
114
- See https://github.com/guzzle/guzzle/issues/379
115
- * Added a way to add custom domain objects to service description parsing using the `operation.parse_class` event. See
116
- https://github.com/guzzle/guzzle/pull/380
117
- * cURL multi cleanup and optimizations
118
-
119
- ## 3.7.1 - 2013-07-05
120
-
121
- * Bug fix: Setting default options on a client now works
122
- * Bug fix: Setting options on HEAD requests now works. See #352
123
- * Bug fix: Moving stream factory before send event to before building the stream. See #353
124
- * Bug fix: Cookies no longer match on IP addresses per RFC 6265
125
- * Bug fix: Correctly parsing header parameters that are in `<>` and quotes
126
- * Added `cert` and `ssl_key` as request options
127
- * `Host` header can now diverge from the host part of a URL if the header is set manually
128
- * `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter
129
- * OAuth parameters are only added via the plugin if they aren't already set
130
- * Exceptions are now thrown when a URL cannot be parsed
131
- * Returning `false` if `Guzzle\Http\EntityBody::getContentMd5()` fails
132
- * Not setting a `Content-MD5` on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin
133
-
134
- ## 3.7.0 - 2013-06-10
135
-
136
- * See UPGRADING.md for more information on how to upgrade.
137
- * Requests now support the ability to specify an array of $options when creating a request to more easily modify a
138
- request. You can pass a 'request.options' configuration setting to a client to apply default request options to
139
- every request created by a client (e.g. default query string variables, headers, curl options, etc).
140
- * Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`.
141
- See `Guzzle\Http\StaticClient::mount`.
142
- * Added `command.request_options` to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests
143
- created by a command (e.g. custom headers, query string variables, timeout settings, etc).
144
- * Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the
145
- headers of a response
146
- * Added `Guzzle\Common\Collection::setPath($path, $value)` to set a value into an array using a nested key
147
- (e.g. `$collection->setPath('foo/baz/bar', 'test'); echo $collection['foo']['bar']['bar'];`)
148
- * ServiceBuilders now support storing and retrieving arbitrary data
149
- * CachePlugin can now purge all resources for a given URI
150
- * CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource
151
- * CachePlugin now uses the Vary header to determine if a resource is a cache hit
152
- * `Guzzle\Http\Message\Response` now implements `\Serializable`
153
- * Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters
154
- * `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable
155
- * Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()`
156
- * Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size
157
- * `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message
158
- * Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older
159
- Symfony users can still use the old version of Monolog.
160
- * Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`.
161
- Now triggering an E_USER_DEPRECATED warning when used. Use `$message->getHeader()->parseParams()`.
162
- * Several performance improvements to `Guzzle\Common\Collection`
163
- * Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`:
164
- createRequest, head, delete, put, patch, post, options, prepareRequest
165
- * Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()`
166
- * Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface`
167
- * Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to
168
- `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a
169
- resource, string, or EntityBody into the $options parameter to specify the download location of the response.
170
- * Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a
171
- default `array()`
172
- * Added `Guzzle\Stream\StreamInterface::isRepeatable`
173
- * Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use
174
- $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or
175
- $client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`.
176
- * Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers')`.
177
- * Removed `Guzzle\Http\ClientInterface::expandTemplate()`
178
- * Removed `Guzzle\Http\ClientInterface::setRequestFactory()`
179
- * Removed `Guzzle\Http\ClientInterface::getCurlMulti()`
180
- * Removed `Guzzle\Http\Message\RequestInterface::canCache`
181
- * Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect`
182
- * Removed `Guzzle\Http\Message\RequestInterface::isRedirect`
183
- * Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods.
184
- * You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting
185
- `Guzzle\Common\Version::$emitWarnings` to true.
186
- * Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use
187
- `$request->getResponseBody()->isRepeatable()` instead.
188
- * Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
189
- `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead.
190
- * Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use
191
- `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead.
192
- * Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead.
193
- * Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead.
194
- * Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated
195
- * Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand.
196
- These will work through Guzzle 4.0
197
- * Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params].
198
- * Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client.
199
- * Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`.
200
- * Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`.
201
- * Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8.
202
- * Marked `Guzzle\Common\Collection::inject()` as deprecated.
203
- * Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');`
204
- * CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a
205
- CacheStorageInterface. These two objects and interface will be removed in a future version.
206
- * Always setting X-cache headers on cached responses
207
- * Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin
208
- * `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface
209
- $request, Response $response);`
210
- * `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);`
211
- * `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);`
212
- * Added `CacheStorageInterface::purge($url)`
213
- * `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin
214
- $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache,
215
- CanCacheStrategyInterface $canCache = null)`
216
- * Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)`
217
-
218
- ## 3.6.0 - 2013-05-29
219
-
220
- * ServiceDescription now implements ToArrayInterface
221
- * Added command.hidden_params to blacklist certain headers from being treated as additionalParameters
222
- * Guzzle can now correctly parse incomplete URLs
223
- * Mixed casing of headers are now forced to be a single consistent casing across all values for that header.
224
- * Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution
225
- * Removed the whole changedHeader() function system of messages because all header changes now go through addHeader().
226
- * Specific header implementations can be created for complex headers. When a message creates a header, it uses a
227
- HeaderFactory which can map specific headers to specific header classes. There is now a Link header and
228
- CacheControl header implementation.
229
- * Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate
230
- * Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti()
231
- * Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in
232
- Guzzle\Http\Curl\RequestMediator
233
- * Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string.
234
- * Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface
235
- * Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders()
236
- * Removed Guzzle\Parser\ParserRegister::get(). Use getParser()
237
- * Removed Guzzle\Parser\ParserRegister::set(). Use registerParser().
238
- * All response header helper functions return a string rather than mixing Header objects and strings inconsistently
239
- * Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc are managed by Guzzle
240
- directly via interfaces
241
- * Removed the injecting of a request object onto a response object. The methods to get and set a request still exist
242
- but are a no-op until removed.
243
- * Most classes that used to require a ``Guzzle\Service\Command\CommandInterface` typehint now request a
244
- `Guzzle\Service\Command\ArrayCommandInterface`.
245
- * Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response
246
- on a request while the request is still being transferred
247
- * The ability to case-insensitively search for header values
248
- * Guzzle\Http\Message\Header::hasExactHeader
249
- * Guzzle\Http\Message\Header::raw. Use getAll()
250
- * Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object
251
- instead.
252
- * `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess
253
- * Added the ability to cast Model objects to a string to view debug information.
254
-
255
- ## 3.5.0 - 2013-05-13
256
-
257
- * Bug: Fixed a regression so that request responses are parsed only once per oncomplete event rather than multiple times
258
- * Bug: Better cleanup of one-time events accross the board (when an event is meant to fire once, it will now remove
259
- itself from the EventDispatcher)
260
- * Bug: `Guzzle\Log\MessageFormatter` now properly writes "total_time" and "connect_time" values
261
- * Bug: Cloning an EntityEnclosingRequest now clones the EntityBody too
262
- * Bug: Fixed an undefined index error when parsing nested JSON responses with a sentAs parameter that reference a
263
- non-existent key
264
- * Bug: All __call() method arguments are now required (helps with mocking frameworks)
265
- * Deprecating Response::getRequest() and now using a shallow clone of a request object to remove a circular reference
266
- to help with refcount based garbage collection of resources created by sending a request
267
- * Deprecating ZF1 cache and log adapters. These will be removed in the next major version.
268
- * Deprecating `Response::getPreviousResponse()` (method signature still exists, but it'sdeprecated). Use the
269
- HistoryPlugin for a history.
270
- * Added a `responseBody` alias for the `response_body` location
271
- * Refactored internals to no longer rely on Response::getRequest()
272
- * HistoryPlugin can now be cast to a string
273
- * HistoryPlugin now logs transactions rather than requests and responses to more accurately keep track of the requests
274
- and responses that are sent over the wire
275
- * Added `getEffectiveUrl()` and `getRedirectCount()` to Response objects
276
-
277
- ## 3.4.3 - 2013-04-30
278
-
279
- * Bug fix: Fixing bug introduced in 3.4.2 where redirect responses are duplicated on the final redirected response
280
- * Added a check to re-extract the temp cacert bundle from the phar before sending each request
281
-
282
- ## 3.4.2 - 2013-04-29
283
-
284
- * Bug fix: Stream objects now work correctly with "a" and "a+" modes
285
- * Bug fix: Removing `Transfer-Encoding: chunked` header when a Content-Length is present
286
- * Bug fix: AsyncPlugin no longer forces HEAD requests
287
- * Bug fix: DateTime timezones are now properly handled when using the service description schema formatter
288
- * Bug fix: CachePlugin now properly handles stale-if-error directives when a request to the origin server fails
289
- * Setting a response on a request will write to the custom request body from the response body if one is specified
290
- * LogPlugin now writes to php://output when STDERR is undefined
291
- * Added the ability to set multiple POST files for the same key in a single call
292
- * application/x-www-form-urlencoded POSTs now use the utf-8 charset by default
293
- * Added the ability to queue CurlExceptions to the MockPlugin
294
- * Cleaned up how manual responses are queued on requests (removed "queued_response" and now using request.before_send)
295
- * Configuration loading now allows remote files
296
-
297
- ## 3.4.1 - 2013-04-16
298
-
299
- * Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti
300
- handles. This greatly simplifies the implementation, fixes a couple bugs, and provides a small performance boost.
301
- * Exceptions are now properly grouped when sending requests in parallel
302
- * Redirects are now properly aggregated when a multi transaction fails
303
- * Redirects now set the response on the original object even in the event of a failure
304
- * Bug fix: Model names are now properly set even when using $refs
305
- * Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax
306
- * Added support for oauth_callback in OAuth signatures
307
- * Added support for oauth_verifier in OAuth signatures
308
- * Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection
309
-
310
- ## 3.4.0 - 2013-04-11
311
-
312
- * Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289
313
- * Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289
314
- * Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263
315
- * Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264.
316
- * Bug fix: Added `number` type to service descriptions.
317
- * Bug fix: empty parameters are removed from an OAuth signature
318
- * Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header
319
- * Bug fix: Fixed "array to string" error when validating a union of types in a service description
320
- * Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream
321
- * Bug fix: Not including an `oauth_token` if the value is null in the OauthPlugin.
322
- * Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs.
323
- * The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections.
324
- * Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if
325
- the Content-Type can be determined based on the entity body or the path of the request.
326
- * Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder.
327
- * Added support for a PSR-3 LogAdapter.
328
- * Added a `command.after_prepare` event
329
- * Added `oauth_callback` parameter to the OauthPlugin
330
- * Added the ability to create a custom stream class when using a stream factory
331
- * Added a CachingEntityBody decorator
332
- * Added support for `additionalParameters` in service descriptions to define how custom parameters are serialized.
333
- * The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar.
334
- * You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies
335
- * POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This
336
- means that the redirect behavior of POST requests with custom bodies will not be the same as POST requests that use
337
- POST fields or files (the latter is only used when emulating a form POST in the browser).
338
- * Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest
339
-
340
- ## 3.3.1 - 2013-03-10
341
-
342
- * Added the ability to create PHP streaming responses from HTTP requests
343
- * Bug fix: Running any filters when parsing response headers with service descriptions
344
- * Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing
345
- * Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across
346
- response location visitors.
347
- * Bug fix: Removed the possibility of creating configuration files with circular dependencies
348
- * RequestFactory::create() now uses the key of a POST file when setting the POST file name
349
- * Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set
350
-
351
- ## 3.3.0 - 2013-03-03
352
-
353
- * A large number of performance optimizations have been made
354
- * Bug fix: Added 'wb' as a valid write mode for streams
355
- * Bug fix: `Guzzle\Http\Message\Response::json()` now allows scalar values to be returned
356
- * Bug fix: Fixed bug in `Guzzle\Http\Message\Response` where wrapping quotes were stripped from `getEtag()`
357
- * BC: Removed `Guzzle\Http\Utils` class
358
- * BC: Setting a service description on a client will no longer modify the client's command factories.
359
- * BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using
360
- the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io'
361
- * BC: `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to
362
- lowercase
363
- * Operation parameter objects are now lazy loaded internally
364
- * Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses
365
- * Added support for instantiating responseType=class responseClass classes. Classes must implement
366
- `Guzzle\Service\Command\ResponseClassInterface`
367
- * Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These
368
- additional properties also support locations and can be used to parse JSON responses where the outermost part of the
369
- JSON is an array
370
- * Added support for nested renaming of JSON models (rename sentAs to name)
371
- * CachePlugin
372
- * Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error
373
- * Debug headers can now added to cached response in the CachePlugin
374
-
375
- ## 3.2.0 - 2013-02-14
376
-
377
- * CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients.
378
- * URLs with no path no longer contain a "/" by default
379
- * Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url.
380
- * BadResponseException no longer includes the full request and response message
381
- * Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface
382
- * Adding getResponseBody() to Guzzle\Http\Message\RequestInterface
383
- * Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription
384
- * Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list
385
- * xmlEncoding can now be customized for the XML declaration of a XML service description operation
386
- * Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value
387
- aggregation and no longer uses callbacks
388
- * The URL encoding implementation of Guzzle\Http\QueryString can now be customized
389
- * Bug fix: Filters were not always invoked for array service description parameters
390
- * Bug fix: Redirects now use a target response body rather than a temporary response body
391
- * Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded
392
- * Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives
393
-
394
- ## 3.1.2 - 2013-01-27
395
-
396
- * Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the
397
- response body. For example, the XmlVisitor now parses the XML response into an array in the before() method.
398
- * Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent
399
- * CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444)
400
- * Fixed a bug where redirect responses were not chained correctly using getPreviousResponse()
401
- * Setting default headers on a client after setting the user-agent will not erase the user-agent setting
402
-
403
- ## 3.1.1 - 2013-01-20
404
-
405
- * Adding wildcard support to Guzzle\Common\Collection::getPath()
406
- * Adding alias support to ServiceBuilder configs
407
- * Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface
408
-
409
- ## 3.1.0 - 2013-01-12
410
-
411
- * BC: CurlException now extends from RequestException rather than BadResponseException
412
- * BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse()
413
- * Added getData to ServiceDescriptionInterface
414
- * Added context array to RequestInterface::setState()
415
- * Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http
416
- * Bug: Adding required content-type when JSON request visitor adds JSON to a command
417
- * Bug: Fixing the serialization of a service description with custom data
418
- * Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing
419
- an array of successful and failed responses
420
- * Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection
421
- * Added Guzzle\Http\IoEmittingEntityBody
422
- * Moved command filtration from validators to location visitors
423
- * Added `extends` attributes to service description parameters
424
- * Added getModels to ServiceDescriptionInterface
425
-
426
- ## 3.0.7 - 2012-12-19
427
-
428
- * Fixing phar detection when forcing a cacert to system if null or true
429
- * Allowing filename to be passed to `Guzzle\Http\Message\Request::setResponseBody()`
430
- * Cleaning up `Guzzle\Common\Collection::inject` method
431
- * Adding a response_body location to service descriptions
432
-
433
- ## 3.0.6 - 2012-12-09
434
-
435
- * CurlMulti performance improvements
436
- * Adding setErrorResponses() to Operation
437
- * composer.json tweaks
438
-
439
- ## 3.0.5 - 2012-11-18
440
-
441
- * Bug: Fixing an infinite recursion bug caused from revalidating with the CachePlugin
442
- * Bug: Response body can now be a string containing "0"
443
- * Bug: Using Guzzle inside of a phar uses system by default but now allows for a custom cacert
444
- * Bug: QueryString::fromString now properly parses query string parameters that contain equal signs
445
- * Added support for XML attributes in service description responses
446
- * DefaultRequestSerializer now supports array URI parameter values for URI template expansion
447
- * Added better mimetype guessing to requests and post files
448
-
449
- ## 3.0.4 - 2012-11-11
450
-
451
- * Bug: Fixed a bug when adding multiple cookies to a request to use the correct glue value
452
- * Bug: Cookies can now be added that have a name, domain, or value set to "0"
453
- * Bug: Using the system cacert bundle when using the Phar
454
- * Added json and xml methods to Response to make it easier to parse JSON and XML response data into data structures
455
- * Enhanced cookie jar de-duplication
456
- * Added the ability to enable strict cookie jars that throw exceptions when invalid cookies are added
457
- * Added setStream to StreamInterface to actually make it possible to implement custom rewind behavior for entity bodies
458
- * Added the ability to create any sort of hash for a stream rather than just an MD5 hash
459
-
460
- ## 3.0.3 - 2012-11-04
461
-
462
- * Implementing redirects in PHP rather than cURL
463
- * Added PECL URI template extension and using as default parser if available
464
- * Bug: Fixed Content-Length parsing of Response factory
465
- * Adding rewind() method to entity bodies and streams. Allows for custom rewinding of non-repeatable streams.
466
- * Adding ToArrayInterface throughout library
467
- * Fixing OauthPlugin to create unique nonce values per request
468
-
469
- ## 3.0.2 - 2012-10-25
470
-
471
- * Magic methods are enabled by default on clients
472
- * Magic methods return the result of a command
473
- * Service clients no longer require a base_url option in the factory
474
- * Bug: Fixed an issue with URI templates where null template variables were being expanded
475
-
476
- ## 3.0.1 - 2012-10-22
477
-
478
- * Models can now be used like regular collection objects by calling filter, map, etc
479
- * Models no longer require a Parameter structure or initial data in the constructor
480
- * Added a custom AppendIterator to get around a PHP bug with the `\AppendIterator`
481
-
482
- ## 3.0.0 - 2012-10-15
483
-
484
- * Rewrote service description format to be based on Swagger
485
- * Now based on JSON schema
486
- * Added nested input structures and nested response models
487
- * Support for JSON and XML input and output models
488
- * Renamed `commands` to `operations`
489
- * Removed dot class notation
490
- * Removed custom types
491
- * Broke the project into smaller top-level namespaces to be more component friendly
492
- * Removed support for XML configs and descriptions. Use arrays or JSON files.
493
- * Removed the Validation component and Inspector
494
- * Moved all cookie code to Guzzle\Plugin\Cookie
495
- * Magic methods on a Guzzle\Service\Client now return the command un-executed.
496
- * Calling getResult() or getResponse() on a command will lazily execute the command if needed.
497
- * Now shipping with cURL's CA certs and using it by default
498
- * Added previousResponse() method to response objects
499
- * No longer sending Accept and Accept-Encoding headers on every request
500
- * Only sending an Expect header by default when a payload is greater than 1MB
501
- * Added/moved client options:
502
- * curl.blacklist to curl.option.blacklist
503
- * Added ssl.certificate_authority
504
- * Added a Guzzle\Iterator component
505
- * Moved plugins from Guzzle\Http\Plugin to Guzzle\Plugin
506
- * Added a more robust backoff retry strategy (replaced the ExponentialBackoffPlugin)
507
- * Added a more robust caching plugin
508
- * Added setBody to response objects
509
- * Updating LogPlugin to use a more flexible MessageFormatter
510
- * Added a completely revamped build process
511
- * Cleaning up Collection class and removing default values from the get method
512
- * Fixed ZF2 cache adapters
513
-
514
- ## 2.8.8 - 2012-10-15
515
-
516
- * Bug: Fixed a cookie issue that caused dot prefixed domains to not match where popular browsers did
517
-
518
- ## 2.8.7 - 2012-09-30
519
-
520
- * Bug: Fixed config file aliases for JSON includes
521
- * Bug: Fixed cookie bug on a request object by using CookieParser to parse cookies on requests
522
- * Bug: Removing the path to a file when sending a Content-Disposition header on a POST upload
523
- * Bug: Hardening request and response parsing to account for missing parts
524
- * Bug: Fixed PEAR packaging
525
- * Bug: Fixed Request::getInfo
526
- * Bug: Fixed cases where CURLM_CALL_MULTI_PERFORM return codes were causing curl transactions to fail
527
- * Adding the ability for the namespace Iterator factory to look in multiple directories
528
- * Added more getters/setters/removers from service descriptions
529
- * Added the ability to remove POST fields from OAuth signatures
530
- * OAuth plugin now supports 2-legged OAuth
531
-
532
- ## 2.8.6 - 2012-09-05
533
-
534
- * Added the ability to modify and build service descriptions
535
- * Added the use of visitors to apply parameters to locations in service descriptions using the dynamic command
536
- * Added a `json` parameter location
537
- * Now allowing dot notation for classes in the CacheAdapterFactory
538
- * Using the union of two arrays rather than an array_merge when extending service builder services and service params
539
- * Ensuring that a service is a string before doing strpos() checks on it when substituting services for references
540
- in service builder config files.
541
- * Services defined in two different config files that include one another will by default replace the previously
542
- defined service, but you can now create services that extend themselves and merge their settings over the previous
543
- * The JsonLoader now supports aliasing filenames with different filenames. This allows you to alias something like
544
- '_default' with a default JSON configuration file.
545
-
546
- ## 2.8.5 - 2012-08-29
547
-
548
- * Bug: Suppressed empty arrays from URI templates
549
- * Bug: Added the missing $options argument from ServiceDescription::factory to enable caching
550
- * Added support for HTTP responses that do not contain a reason phrase in the start-line
551
- * AbstractCommand commands are now invokable
552
- * Added a way to get the data used when signing an Oauth request before a request is sent
553
-
554
- ## 2.8.4 - 2012-08-15
555
-
556
- * Bug: Custom delay time calculations are no longer ignored in the ExponentialBackoffPlugin
557
- * Added the ability to transfer entity bodies as a string rather than streamed. This gets around curl error 65. Set `body_as_string` in a request's curl options to enable.
558
- * Added a StreamInterface, EntityBodyInterface, and added ftell() to Guzzle\Common\Stream
559
- * Added an AbstractEntityBodyDecorator and a ReadLimitEntityBody decorator to transfer only a subset of a decorated stream
560
- * Stream and EntityBody objects will now return the file position to the previous position after a read required operation (e.g. getContentMd5())
561
- * Added additional response status codes
562
- * Removed SSL information from the default User-Agent header
563
- * DELETE requests can now send an entity body
564
- * Added an EventDispatcher to the ExponentialBackoffPlugin and added an ExponentialBackoffLogger to log backoff retries
565
- * Added the ability of the MockPlugin to consume mocked request bodies
566
- * LogPlugin now exposes request and response objects in the extras array
567
-
568
- ## 2.8.3 - 2012-07-30
569
-
570
- * Bug: Fixed a case where empty POST requests were sent as GET requests
571
- * Bug: Fixed a bug in ExponentialBackoffPlugin that caused fatal errors when retrying an EntityEnclosingRequest that does not have a body
572
- * Bug: Setting the response body of a request to null after completing a request, not when setting the state of a request to new
573
- * Added multiple inheritance to service description commands
574
- * Added an ApiCommandInterface and added ``getParamNames()`` and ``hasParam()``
575
- * Removed the default 2mb size cutoff from the Md5ValidatorPlugin so that it now defaults to validating everything
576
- * Changed CurlMulti::perform to pass a smaller timeout to CurlMulti::executeHandles
577
-
578
- ## 2.8.2 - 2012-07-24
579
-
580
- * Bug: Query string values set to 0 are no longer dropped from the query string
581
- * Bug: A Collection object is no longer created each time a call is made to ``Guzzle\Service\Command\AbstractCommand::getRequestHeaders()``
582
- * Bug: ``+`` is now treated as an encoded space when parsing query strings
583
- * QueryString and Collection performance improvements
584
- * Allowing dot notation for class paths in filters attribute of a service descriptions
585
-
586
- ## 2.8.1 - 2012-07-16
587
-
588
- * Loosening Event Dispatcher dependency
589
- * POST redirects can now be customized using CURLOPT_POSTREDIR
590
-
591
- ## 2.8.0 - 2012-07-15
592
-
593
- * BC: Guzzle\Http\Query
594
- * Query strings with empty variables will always show an equal sign unless the variable is set to QueryString::BLANK (e.g. ?acl= vs ?acl)
595
- * Changed isEncodingValues() and isEncodingFields() to isUrlEncoding()
596
- * Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool)
597
- * Changed the aggregation functions of QueryString to be static methods
598
- * Can now use fromString() with querystrings that have a leading ?
599
- * cURL configuration values can be specified in service descriptions using ``curl.`` prefixed parameters
600
- * Content-Length is set to 0 before emitting the request.before_send event when sending an empty request body
601
- * Cookies are no longer URL decoded by default
602
- * Bug: URI template variables set to null are no longer expanded
603
-
604
- ## 2.7.2 - 2012-07-02
605
-
606
- * BC: Moving things to get ready for subtree splits. Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser.
607
- * BC: Removing Guzzle\Common\Batch\Batch::count() and replacing it with isEmpty()
608
- * CachePlugin now allows for a custom request parameter function to check if a request can be cached
609
- * Bug fix: CachePlugin now only caches GET and HEAD requests by default
610
- * Bug fix: Using header glue when transferring headers over the wire
611
- * Allowing deeply nested arrays for composite variables in URI templates
612
- * Batch divisors can now return iterators or arrays
613
-
614
- ## 2.7.1 - 2012-06-26
615
-
616
- * Minor patch to update version number in UA string
617
- * Updating build process
618
-
619
- ## 2.7.0 - 2012-06-25
620
-
621
- * BC: Inflection classes moved to Guzzle\Inflection. No longer static methods. Can now inject custom inflectors into classes.
622
- * BC: Removed magic setX methods from commands
623
- * BC: Magic methods mapped to service description commands are now inflected in the command factory rather than the client __call() method
624
- * Verbose cURL options are no longer enabled by default. Set curl.debug to true on a client to enable.
625
- * Bug: Now allowing colons in a response start-line (e.g. HTTP/1.1 503 Service Unavailable: Back-end server is at capacity)
626
- * Guzzle\Service\Resource\ResourceIteratorApplyBatched now internally uses the Guzzle\Common\Batch namespace
627
- * Added Guzzle\Service\Plugin namespace and a PluginCollectionPlugin
628
- * Added the ability to set POST fields and files in a service description
629
- * Guzzle\Http\EntityBody::factory() now accepts objects with a __toString() method
630
- * Adding a command.before_prepare event to clients
631
- * Added BatchClosureTransfer and BatchClosureDivisor
632
- * BatchTransferException now includes references to the batch divisor and transfer strategies
633
- * Fixed some tests so that they pass more reliably
634
- * Added Guzzle\Common\Log\ArrayLogAdapter
635
-
636
- ## 2.6.6 - 2012-06-10
637
-
638
- * BC: Removing Guzzle\Http\Plugin\BatchQueuePlugin
639
- * BC: Removing Guzzle\Service\Command\CommandSet
640
- * Adding generic batching system (replaces the batch queue plugin and command set)
641
- * Updating ZF cache and log adapters and now using ZF's composer repository
642
- * Bug: Setting the name of each ApiParam when creating through an ApiCommand
643
- * Adding result_type, result_doc, deprecated, and doc_url to service descriptions
644
- * Bug: Changed the default cookie header casing back to 'Cookie'
645
-
646
- ## 2.6.5 - 2012-06-03
647
-
648
- * BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource()
649
- * BC: Removing unused AUTH_BASIC and AUTH_DIGEST constants from
650
- * BC: Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie data
651
- * BC: Renaming methods in the CookieJarInterface
652
- * Moving almost all cookie logic out of the CookiePlugin and into the Cookie or CookieJar implementations
653
- * Making the default glue for HTTP headers ';' instead of ','
654
- * Adding a removeValue to Guzzle\Http\Message\Header
655
- * Adding getCookies() to request interface.
656
- * Making it easier to add event subscribers to HasDispatcherInterface classes. Can now directly call addSubscriber()
657
-
658
- ## 2.6.4 - 2012-05-30
659
-
660
- * BC: Cleaning up how POST files are stored in EntityEnclosingRequest objects. Adding PostFile class.
661
- * BC: Moving ApiCommand specific functionality from the Inspector and on to the ApiCommand
662
- * Bug: Fixing magic method command calls on clients
663
- * Bug: Email constraint only validates strings
664
- * Bug: Aggregate POST fields when POST files are present in curl handle
665
- * Bug: Fixing default User-Agent header
666
- * Bug: Only appending or prepending parameters in commands if they are specified
667
- * Bug: Not requiring response reason phrases or status codes to match a predefined list of codes
668
- * Allowing the use of dot notation for class namespaces when using instance_of constraint
669
- * Added any_match validation constraint
670
- * Added an AsyncPlugin
671
- * Passing request object to the calculateWait method of the ExponentialBackoffPlugin
672
- * Allowing the result of a command object to be changed
673
- * Parsing location and type sub values when instantiating a service description rather than over and over at runtime
674
-
675
- ## 2.6.3 - 2012-05-23
676
-
677
- * [BC] Guzzle\Common\FromConfigInterface no longer requires any config options.
678
- * [BC] Refactoring how POST files are stored on an EntityEnclosingRequest. They are now separate from POST fields.
679
- * You can now use an array of data when creating PUT request bodies in the request factory.
680
- * Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable.
681
- * [Http] Adding support for Content-Type in multipart POST uploads per upload
682
- * [Http] Added support for uploading multiple files using the same name (foo[0], foo[1])
683
- * Adding more POST data operations for easier manipulation of POST data.
684
- * You can now set empty POST fields.
685
- * The body of a request is only shown on EntityEnclosingRequest objects that do not use POST files.
686
- * Split the Guzzle\Service\Inspector::validateConfig method into two methods. One to initialize when a command is created, and one to validate.
687
- * CS updates
688
-
689
- ## 2.6.2 - 2012-05-19
690
-
691
- * [Http] Better handling of nested scope requests in CurlMulti. Requests are now always prepares in the send() method rather than the addRequest() method.
692
-
693
- ## 2.6.1 - 2012-05-19
694
-
695
- * [BC] Removing 'path' support in service descriptions. Use 'uri'.
696
- * [BC] Guzzle\Service\Inspector::parseDocBlock is now protected. Adding getApiParamsForClass() with cache.
697
- * [BC] Removing Guzzle\Common\NullObject. Use https://github.com/mtdowling/NullObject if you need it.
698
- * [BC] Removing Guzzle\Common\XmlElement.
699
- * All commands, both dynamic and concrete, have ApiCommand objects.
700
- * Adding a fix for CurlMulti so that if all of the connections encounter some sort of curl error, then the loop exits.
701
- * Adding checks to EntityEnclosingRequest so that empty POST files and fields are ignored.
702
- * Making the method signature of Guzzle\Service\Builder\ServiceBuilder::factory more flexible.
703
-
704
- ## 2.6.0 - 2012-05-15
705
-
706
- * [BC] Moving Guzzle\Service\Builder to Guzzle\Service\Builder\ServiceBuilder
707
- * [BC] Executing a Command returns the result of the command rather than the command
708
- * [BC] Moving all HTTP parsing logic to Guzzle\Http\Parsers. Allows for faster C implementations if needed.
709
- * [BC] Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args.
710
- * [BC] Moving ResourceIterator* to Guzzle\Service\Resource
711
- * [BC] Completely refactored ResourceIterators to iterate over a cloned command object
712
- * [BC] Moved Guzzle\Http\UriTemplate to Guzzle\Http\Parser\UriTemplate\UriTemplate
713
- * [BC] Guzzle\Guzzle is now deprecated
714
- * Moving Guzzle\Common\Guzzle::inject to Guzzle\Common\Collection::inject
715
- * Adding Guzzle\Version class to give version information about Guzzle
716
- * Adding Guzzle\Http\Utils class to provide getDefaultUserAgent() and getHttpDate()
717
- * Adding Guzzle\Curl\CurlVersion to manage caching curl_version() data
718
- * ServiceDescription and ServiceBuilder are now cacheable using similar configs
719
- * Changing the format of XML and JSON service builder configs. Backwards compatible.
720
- * Cleaned up Cookie parsing
721
- * Trimming the default Guzzle User-Agent header
722
- * Adding a setOnComplete() method to Commands that is called when a command completes
723
- * Keeping track of requests that were mocked in the MockPlugin
724
- * Fixed a caching bug in the CacheAdapterFactory
725
- * Inspector objects can be injected into a Command object
726
- * Refactoring a lot of code and tests to be case insensitive when dealing with headers
727
- * Adding Guzzle\Http\Message\HeaderComparison for easy comparison of HTTP headers using a DSL
728
- * Adding the ability to set global option overrides to service builder configs
729
- * Adding the ability to include other service builder config files from within XML and JSON files
730
- * Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method.
731
-
732
- ## 2.5.0 - 2012-05-08
733
-
734
- * Major performance improvements
735
- * [BC] Simplifying Guzzle\Common\Collection. Please check to see if you are using features that are now deprecated.
736
- * [BC] Using a custom validation system that allows a flyweight implementation for much faster validation. No longer using Symfony2 Validation component.
737
- * [BC] No longer supporting "{{ }}" for injecting into command or UriTemplates. Use "{}"
738
- * Added the ability to passed parameters to all requests created by a client
739
- * Added callback functionality to the ExponentialBackoffPlugin
740
- * Using microtime in ExponentialBackoffPlugin to allow more granular backoff strategies.
741
- * Rewinding request stream bodies when retrying requests
742
- * Exception is thrown when JSON response body cannot be decoded
743
- * Added configurable magic method calls to clients and commands. This is off by default.
744
- * Fixed a defect that added a hash to every parsed URL part
745
- * Fixed duplicate none generation for OauthPlugin.
746
- * Emitting an event each time a client is generated by a ServiceBuilder
747
- * Using an ApiParams object instead of a Collection for parameters of an ApiCommand
748
- * cache.* request parameters should be renamed to params.cache.*
749
- * Added the ability to set arbitrary curl options on requests (disable_wire, progress, etc). See CurlHandle.
750
- * Added the ability to disable type validation of service descriptions
751
- * ServiceDescriptions and ServiceBuilders are now Serializable
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/LICENSE DELETED
@@ -1,19 +0,0 @@
1
- Copyright (c) 2011 Michael Dowling, https://github.com/mtdowling <mtdowling@gmail.com>
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is
8
- furnished to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in
11
- all copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- THE SOFTWARE.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/README.md DELETED
@@ -1,57 +0,0 @@
1
- Guzzle, PHP HTTP client and webservice framework
2
- ================================================
3
-
4
- # This is an old version of Guzzle
5
-
6
- This repository is for Guzzle 3.x. Guzzle 5.x, the new version of Guzzle, has
7
- been released and is available at
8
- [https://github.com/guzzle/guzzle](https://github.com/guzzle/guzzle). The
9
- documentation for Guzzle version 5+ can be found at
10
- [http://guzzlephp.org](http://guzzlephp.org).
11
-
12
- Guzzle 3 is only maintained for bug and security fixes. Guzzle 3 will be EOL
13
- at some point in late 2015.
14
-
15
- ### About Guzzle 3
16
-
17
- [![Composer Downloads](https://poser.pugx.org/guzzle/guzzle/d/total.png)](https://packagist.org/packages/guzzle/guzzle)
18
- [![Build Status](https://secure.travis-ci.org/guzzle/guzzle3.png?branch=master)](http://travis-ci.org/guzzle/guzzle3)
19
-
20
- - Extremely powerful API provides all the power of cURL with a simple interface.
21
- - Truly take advantage of HTTP/1.1 with persistent connections, connection pooling, and parallel requests.
22
- - Service description DSL allows you build awesome web service clients faster.
23
- - Symfony2 event-based plugin system allows you to completely modify the behavior of a request.
24
-
25
- Get answers with: [Documentation](http://guzzle3.readthedocs.org/en/latest/), [Forums](https://groups.google.com/forum/?hl=en#!forum/guzzle), IRC ([#guzzlephp](irc://irc.freenode.net/#guzzlephp) @ irc.freenode.net)
26
-
27
- ### Installing via Composer
28
-
29
- The recommended way to install Guzzle is through [Composer](http://getcomposer.org).
30
-
31
- ```bash
32
- # Install Composer
33
- curl -sS https://getcomposer.org/installer | php
34
-
35
- # Add Guzzle as a dependency
36
- php composer.phar require guzzle/guzzle:~3.9
37
- ```
38
-
39
- After installing, you need to require Composer's autoloader:
40
-
41
- ```php
42
- require 'vendor/autoload.php';
43
- ```
44
- ## Known Issues
45
-
46
- 1. Problem following a specific redirect: https://github.com/guzzle/guzzle/issues/385.
47
- This has been fixed in Guzzle 4/5.
48
- 2. Root XML attributes not serialized in a service description: https://github.com/guzzle/guzzle3/issues/5.
49
- This has been fixed in Guzzle 4/5.
50
- 3. Accept-Encoding not preserved when following redirect: https://github.com/guzzle/guzzle3/issues/9
51
- Fixed in Guzzle 4/5.
52
- 4. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10
53
- Fixed in Guzzle 4/5.
54
- 5. Recursive model references with array items: https://github.com/guzzle/guzzle3/issues/13
55
- Fixed in Guzzle 4/5
56
- 6. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10
57
- Fixed in Guzzle 4/5.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/build.xml DELETED
@@ -1,45 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project name="guzzle" default="test">
3
- <!-- set local values, like git location -->
4
- <property file="phing/build.properties.dist" override="true" />
5
- <property file="phing/build.properties" override="true" />
6
-
7
- <property name="dir.output" value="${project.basedir}/build/artifacts" />
8
- <property name="dir.imports" value="${project.basedir}/phing/imports" />
9
- <property name="dir.bin" value="${project.basedir}/bin" />
10
- <property name="repo.dir" value="${project.basedir}" />
11
-
12
- <import file="${dir.imports}/dependencies.xml"/>
13
- <import file="${dir.imports}/deploy.xml"/>
14
-
15
- <target name="composer-lint" description="lint-check composer.json only">
16
- <composerlint dir="${project.basedir}/src" file="{$project.basedir}/composer.json" />
17
- </target>
18
-
19
- <target name="test" description="Run unit tests">
20
- <exec passthru="true" command="vendor/bin/phpunit" checkReturn="true" />
21
- </target>
22
-
23
- <target name="build-init" description="Initialize local phing properties">
24
- <copy file="phing/build.properties.dist" tofile="phing/build.properties" overwrite="false" />
25
- </target>
26
-
27
- <target name="clean">
28
- <delete dir="${dir.output}"/>
29
- <delete dir="${project.basedir}/build/pearwork"/>
30
- </target>
31
-
32
- <target name="prepare" depends="clean,build-init">
33
- <mkdir dir="${dir.output}"/>
34
- <mkdir dir="${dir.output}/logs" />
35
- </target>
36
-
37
- <target name="coverage" depends="prepare">
38
- <exec passthru="true" command="vendor/bin/phpunit --coverage-html=${dir.output}/coverage" />
39
- </target>
40
-
41
- <target name="view-coverage">
42
- <exec passthru="true" command="open ${dir.output}/coverage/index.html" />
43
- </target>
44
-
45
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/composer.json DELETED
@@ -1,82 +0,0 @@
1
- {
2
- "name": "guzzle/guzzle",
3
- "type": "library",
4
- "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
5
- "keywords": ["framework", "http", "rest", "web service", "curl", "client", "HTTP client"],
6
- "homepage": "http://guzzlephp.org/",
7
- "license": "MIT",
8
-
9
- "authors": [
10
- {
11
- "name": "Michael Dowling",
12
- "email": "mtdowling@gmail.com",
13
- "homepage": "https://github.com/mtdowling"
14
- },
15
- {
16
- "name": "Guzzle Community",
17
- "homepage": "https://github.com/guzzle/guzzle/contributors"
18
- }
19
- ],
20
-
21
- "replace": {
22
- "guzzle/batch": "self.version",
23
- "guzzle/cache": "self.version",
24
- "guzzle/common": "self.version",
25
- "guzzle/http": "self.version",
26
- "guzzle/inflection": "self.version",
27
- "guzzle/iterator": "self.version",
28
- "guzzle/log": "self.version",
29
- "guzzle/parser": "self.version",
30
- "guzzle/plugin": "self.version",
31
- "guzzle/plugin-async": "self.version",
32
- "guzzle/plugin-backoff": "self.version",
33
- "guzzle/plugin-cache": "self.version",
34
- "guzzle/plugin-cookie": "self.version",
35
- "guzzle/plugin-curlauth": "self.version",
36
- "guzzle/plugin-error-response": "self.version",
37
- "guzzle/plugin-history": "self.version",
38
- "guzzle/plugin-log": "self.version",
39
- "guzzle/plugin-md5": "self.version",
40
- "guzzle/plugin-mock": "self.version",
41
- "guzzle/plugin-oauth": "self.version",
42
- "guzzle/service": "self.version",
43
- "guzzle/stream": "self.version"
44
- },
45
-
46
- "require": {
47
- "php": ">=5.3.3",
48
- "ext-curl": "*",
49
- "symfony/event-dispatcher": "~2.1"
50
- },
51
-
52
- "autoload": {
53
- "psr-0": {
54
- "Guzzle": "src/",
55
- "Guzzle\\Tests": "tests/"
56
- }
57
- },
58
-
59
- "suggest": {
60
- "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
61
- },
62
-
63
- "scripts": {
64
- "test": "phpunit"
65
- },
66
-
67
- "require-dev": {
68
- "doctrine/cache": "~1.3",
69
- "symfony/class-loader": "~2.1",
70
- "monolog/monolog": "~1.0",
71
- "psr/log": "~1.0",
72
- "zendframework/zend-cache": "2.*,<2.3",
73
- "zendframework/zend-log": "2.*,<2.3",
74
- "phpunit/phpunit": "3.7.*"
75
- },
76
-
77
- "extra": {
78
- "branch-alias": {
79
- "dev-master": "3.9-dev"
80
- }
81
- }
82
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/Makefile DELETED
@@ -1,153 +0,0 @@
1
- # Makefile for Sphinx documentation
2
- #
3
-
4
- # You can set these variables from the command line.
5
- SPHINXOPTS =
6
- SPHINXBUILD = sphinx-build
7
- PAPER =
8
- BUILDDIR = _build
9
-
10
- # Internal variables.
11
- PAPEROPT_a4 = -D latex_paper_size=a4
12
- PAPEROPT_letter = -D latex_paper_size=letter
13
- ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14
- # the i18n builder cannot share the environment and doctrees with the others
15
- I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
16
-
17
- .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
18
-
19
- help:
20
- @echo "Please use \`make <target>' where <target> is one of"
21
- @echo " html to make standalone HTML files"
22
- @echo " dirhtml to make HTML files named index.html in directories"
23
- @echo " singlehtml to make a single large HTML file"
24
- @echo " pickle to make pickle files"
25
- @echo " json to make JSON files"
26
- @echo " htmlhelp to make HTML files and a HTML help project"
27
- @echo " qthelp to make HTML files and a qthelp project"
28
- @echo " devhelp to make HTML files and a Devhelp project"
29
- @echo " epub to make an epub"
30
- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
31
- @echo " latexpdf to make LaTeX files and run them through pdflatex"
32
- @echo " text to make text files"
33
- @echo " man to make manual pages"
34
- @echo " texinfo to make Texinfo files"
35
- @echo " info to make Texinfo files and run them through makeinfo"
36
- @echo " gettext to make PO message catalogs"
37
- @echo " changes to make an overview of all changed/added/deprecated items"
38
- @echo " linkcheck to check all external links for integrity"
39
- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
40
-
41
- clean:
42
- -rm -rf $(BUILDDIR)/*
43
-
44
- html:
45
- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
46
- @echo
47
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
48
-
49
- dirhtml:
50
- $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
51
- @echo
52
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
53
-
54
- singlehtml:
55
- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
56
- @echo
57
- @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
58
-
59
- pickle:
60
- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
61
- @echo
62
- @echo "Build finished; now you can process the pickle files."
63
-
64
- json:
65
- $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
66
- @echo
67
- @echo "Build finished; now you can process the JSON files."
68
-
69
- htmlhelp:
70
- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
71
- @echo
72
- @echo "Build finished; now you can run HTML Help Workshop with the" \
73
- ".hhp project file in $(BUILDDIR)/htmlhelp."
74
-
75
- qthelp:
76
- $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
77
- @echo
78
- @echo "Build finished; now you can run "qcollectiongenerator" with the" \
79
- ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
80
- @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Guzzle.qhcp"
81
- @echo "To view the help file:"
82
- @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Guzzle.qhc"
83
-
84
- devhelp:
85
- $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
86
- @echo
87
- @echo "Build finished."
88
- @echo "To view the help file:"
89
- @echo "# mkdir -p $$HOME/.local/share/devhelp/Guzzle"
90
- @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Guzzle"
91
- @echo "# devhelp"
92
-
93
- epub:
94
- $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
95
- @echo
96
- @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
97
-
98
- latex:
99
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
100
- @echo
101
- @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
102
- @echo "Run \`make' in that directory to run these through (pdf)latex" \
103
- "(use \`make latexpdf' here to do that automatically)."
104
-
105
- latexpdf:
106
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
107
- @echo "Running LaTeX files through pdflatex..."
108
- $(MAKE) -C $(BUILDDIR)/latex all-pdf
109
- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
110
-
111
- text:
112
- $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
113
- @echo
114
- @echo "Build finished. The text files are in $(BUILDDIR)/text."
115
-
116
- man:
117
- $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
118
- @echo
119
- @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
120
-
121
- texinfo:
122
- $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
123
- @echo
124
- @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
125
- @echo "Run \`make' in that directory to run these through makeinfo" \
126
- "(use \`make info' here to do that automatically)."
127
-
128
- info:
129
- $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
130
- @echo "Running Texinfo files through makeinfo..."
131
- make -C $(BUILDDIR)/texinfo info
132
- @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
133
-
134
- gettext:
135
- $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
136
- @echo
137
- @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
138
-
139
- changes:
140
- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
141
- @echo
142
- @echo "The overview file is in $(BUILDDIR)/changes."
143
-
144
- linkcheck:
145
- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
146
- @echo
147
- @echo "Link check complete; look for any errors in the above output " \
148
- "or in $(BUILDDIR)/linkcheck/output.txt."
149
-
150
- doctest:
151
- $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
152
- @echo "Testing of doctests in the sources finished, look at the " \
153
- "results in $(BUILDDIR)/doctest/output.txt."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/_downloads/guzzle-schema-1.0.json DELETED
@@ -1,176 +0,0 @@
1
- {
2
- "additionalProperties": true,
3
- "name": {
4
- "type": "string",
5
- "description": "Name of the web service"
6
- },
7
- "apiVersion": {
8
- "type": ["string", "number"],
9
- "description": "Version identifier that the service description is compatible with"
10
- },
11
- "baseUrl": {
12
- "type": "string",
13
- "description": "Base URL of the web service. Any relative URI specified in an operation will be merged with the baseUrl using the process defined in RFC 2396"
14
- },
15
- "basePath": {
16
- "type": "string",
17
- "description": "Alias of baseUrl"
18
- },
19
- "_description": {
20
- "type": "string",
21
- "description": "Short summary of the web service. This is actually called 'description' but this JSON schema wont validate using just description."
22
- },
23
- "operations": {
24
- "description": "Operations of the web service",
25
- "type": "object",
26
- "properties": {
27
- "extends": {
28
- "type": "string",
29
- "description": "Extend from another operation by name. The parent operation must be defined before the child."
30
- },
31
- "httpMethod": {
32
- "type": "string",
33
- "description": "HTTP method used with the operation (e.g. GET, POST, PUT, DELETE, PATCH, etc)"
34
- },
35
- "uri": {
36
- "type": "string",
37
- "description": "URI of the operation. The uri attribute can contain URI templates. The variables of the URI template are parameters of the operation with a location value of uri"
38
- },
39
- "summary": {
40
- "type": "string",
41
- "description": "Short summary of what the operation does"
42
- },
43
- "class": {
44
- "type": "string",
45
- "description": "Custom class to instantiate instead of the default Guzzle\\Service\\Command\\OperationCommand"
46
- },
47
- "responseClass": {
48
- "type": "string",
49
- "description": "This is what is returned from the method. Can be a primitive, class name, or model name."
50
- },
51
- "responseNotes": {
52
- "type": "string",
53
- "description": "A description of the response returned by the operation"
54
- },
55
- "responseType": {
56
- "type": "string",
57
- "description": "The type of response that the operation creates. If not specified, this value will be automatically inferred based on whether or not there is a model matching the name, if a matching class name is found, or set to 'primitive' by default.",
58
- "enum": [ "primitive", "class", "model", "documentation" ]
59
- },
60
- "deprecated": {
61
- "type": "boolean",
62
- "description": "Whether or not the operation is deprecated"
63
- },
64
- "errorResponses": {
65
- "description": "Errors that could occur while executing the operation",
66
- "type": "array",
67
- "items": {
68
- "type": "object",
69
- "properties": {
70
- "code": {
71
- "type": "number",
72
- "description": "HTTP response status code of the error"
73
- },
74
- "reason": {
75
- "type": "string",
76
- "description": "Response reason phrase or description of the error"
77
- },
78
- "class": {
79
- "type": "string",
80
- "description": "A custom exception class that would be thrown if the error is encountered"
81
- }
82
- }
83
- }
84
- },
85
- "data": {
86
- "type": "object",
87
- "additionalProperties": "true"
88
- },
89
- "parameters": {
90
- "$ref": "parameters",
91
- "description": "Parameters of the operation. Parameters are used to define how input data is serialized into a HTTP request."
92
- },
93
- "additionalParameters": {
94
- "$ref": "parameters",
95
- "description": "Validation and serialization rules for any parameter supplied to the operation that was not explicitly defined."
96
- }
97
- }
98
- },
99
- "models": {
100
- "description": "Schema models that can be referenced throughout the service description. Models can be used to define how an HTTP response is parsed into a Guzzle\\Service\\Resource\\Model object.",
101
- "type": "object",
102
- "properties": {
103
- "$ref": "parameters",
104
- "description": "Parameters of the model. When a model is referenced in a responseClass attribute of an operation, parameters define how a HTTP response message is parsed into a Guzzle\\Service\\Resource\\Model."
105
- }
106
- },
107
- "includes": {
108
- "description": "Service description files to include and extend from (can be a .json, .js, or .php file)",
109
- "type": "array",
110
- "items": {
111
- "type": "string",
112
- "pattern": ".+\\.(js|json|php)$"
113
- }
114
- },
115
- "definitions": {
116
- "parameters": {
117
- "extends": "http://json-schema.org/schema",
118
- "id": "parameters",
119
- "name": {
120
- "type": "string",
121
- "description": "Unique name of the parameter"
122
- },
123
- "type": {
124
- "type": ["string", "array"],
125
- "description": "Type of variable (string, number, integer, boolean, object, array, numeric, null, any). Types are using for validation and determining the structure of a parameter. You can use a union type by providing an array of simple types. If one of the union types matches the provided value, then the value is valid."
126
- },
127
- "instanceOf": {
128
- "type": "string",
129
- "description": "When the type is an object, you can specify the class that the object must implement"
130
- },
131
- "required": {
132
- "type": "boolean",
133
- "description": "Whether or not the parameter is required"
134
- },
135
- "default": {
136
- "description": "Default value to use if no value is supplied"
137
- },
138
- "static": {
139
- "type": "bool",
140
- "description": "Set to true to specify that the parameter value cannot be changed from the default setting"
141
- },
142
- "description": {
143
- "type": "string",
144
- "description": "Documentation of the parameter"
145
- },
146
- "location": {
147
- "type": "string",
148
- "description": "The location of a request used to apply a parameter. Custom locations can be registered with a command, but the defaults are uri, query, statusCode, reasonPhrase, header, body, json, xml, postField, postFile, responseBody"
149
- },
150
- "sentAs": {
151
- "type": "string",
152
- "description": "Specifies how the data being modeled is sent over the wire. For example, you may wish to include certain headers in a response model that have a normalized casing of FooBar, but the actual header is x-foo-bar. In this case, sentAs would be set to x-foo-bar."
153
- },
154
- "filters": {
155
- "type": "array",
156
- "description": "Array of static method names to to run a parameter value through. Each value in the array must be a string containing the full class path to a static method or an array of complex filter information. You can specify static methods of classes using the full namespace class name followed by ‘::’ (e.g. FooBar::baz()). Some filters require arguments in order to properly filter a value. For complex filters, use a hash containing a ‘method’ key pointing to a static method, and an ‘args’ key containing an array of positional arguments to pass to the method. Arguments can contain keywords that are replaced when filtering a value: '@value‘ is replaced with the value being validated, '@api‘ is replaced with the Parameter object.",
157
- "items": {
158
- "type": ["string", {
159
- "object": {
160
- "properties": {
161
- "method": {
162
- "type": "string",
163
- "description": "PHP function to call",
164
- "required": true
165
- },
166
- "args": {
167
- "type": "array"
168
- }
169
- }
170
- }
171
- }]
172
- }
173
- }
174
- }
175
- }
176
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/_static/guzzle-icon.png DELETED
Binary file
vendor/guzzle/guzzle/docs/_static/homepage.css DELETED
@@ -1,122 +0,0 @@
1
- /* Hero unit on homepage */
2
-
3
- .hero-unit h1 {
4
- font-size: 49px;
5
- margin-bottom: 12px;
6
- }
7
-
8
- .hero-unit {
9
- padding: 40px;
10
- }
11
-
12
- .hero-unit p {
13
- font-size: 17px;
14
- }
15
-
16
- .masthead img {
17
- float: left;
18
- margin-right: 17px;
19
- }
20
-
21
- .hero-unit ul li {
22
- margin-left: 220px;
23
- }
24
-
25
- .hero-unit .buttons {
26
- text-align: center;
27
- }
28
-
29
- .jumbotron {
30
- position: relative;
31
- padding: 40px 0;
32
- color: #fff;
33
- text-shadow: 0 1px 3px rgba(0,0,0,.4), 0 0 30px rgba(0,0,0,.075);
34
- background: #00312F;
35
- background: -moz-linear-gradient(45deg, #002F31 0%, #335A6D 100%);
36
- background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#00312D), color-stop(100%,#33566D));
37
- background: -webkit-linear-gradient(45deg, #020031 0%,#334F6D 100%);
38
- background: -o-linear-gradient(45deg, #002D31 0%,#334D6D 100%);
39
- background: -ms-linear-gradient(45deg, #002F31 0%,#33516D 100%);
40
- background: linear-gradient(45deg, #020031 0%,#33516D 100%);
41
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#020031', endColorstr='#6d3353',GradientType=1 );
42
- -webkit-box-shadow: inset 0 3px 7px rgba(0, 0, 0, .2), inset 0 -3px 7px rgba(0, 0, 0, .2);
43
- -moz-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
44
- box-shadow: inset 0 3px 7px rgba(0, 0, 0, .2), inset 0 -3px 7px rgba(0, 0, 0, .2);
45
- }
46
-
47
- .jumbotron h1 {
48
- font-size: 80px;
49
- font-weight: bold;
50
- letter-spacing: -1px;
51
- line-height: 1;
52
- }
53
-
54
- .jumbotron p {
55
- font-size: 24px;
56
- font-weight: 300;
57
- line-height: 1.25;
58
- margin-bottom: 30px;
59
- }
60
-
61
- .masthead {
62
- padding: 40px 0 30px;
63
- margin-bottom: 0;
64
- color: #fff;
65
- margin-top: -19px;
66
- }
67
-
68
- .masthead h1 {
69
- display: none;
70
- }
71
-
72
- .masthead p {
73
- font-size: 40px;
74
- font-weight: 200;
75
- line-height: 1.25;
76
- margin: 12px 0 0 0;
77
- }
78
-
79
- .masthead .btn {
80
- padding: 19px 24px;
81
- font-size: 24px;
82
- font-weight: 200;
83
- border: 0;
84
- }
85
-
86
- /* Social bar on homepage */
87
-
88
- .social {
89
- padding: 2px 0;
90
- text-align: center;
91
- background-color: #f5f5f5;
92
- border-top: 1px solid #fff;
93
- border-bottom: 1px solid #ddd;
94
- margin: 0 0 20px 0;
95
- }
96
-
97
- .social ul {
98
- margin-top: 0;
99
- }
100
-
101
- .social-buttons {
102
- margin-left: 0;
103
- margin-bottom: 0;
104
- padding-left: 0;
105
- list-style: none;
106
- }
107
-
108
- .social-buttons li {
109
- display: inline-block;
110
- padding: 5px 8px;
111
- line-height: 1;
112
- *display: inline;
113
- *zoom: 1;
114
- }
115
-
116
- .center-announcement {
117
- padding: 10px;
118
- background-color: rgb(238, 243, 255);
119
- border-radius: 8px;
120
- text-align: center;
121
- margin: 24px 0;
122
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/_static/logo.png DELETED
Binary file
vendor/guzzle/guzzle/docs/_static/prettify.css DELETED
@@ -1,41 +0,0 @@
1
- .com {
2
- color: #93A1A1;
3
- }
4
- .lit {
5
- color: #195F91;
6
- }
7
- .pun, .opn, .clo {
8
- color: #93A1A1;
9
- }
10
- .fun {
11
- color: #DC322F;
12
- }
13
- .str, .atv {
14
- color: #DD1144;
15
- }
16
- .kwd, .linenums .tag {
17
- color: #1E347B;
18
- }
19
- .typ, .atn, .dec, .var {
20
- color: teal;
21
- }
22
- .pln {
23
- color: #48484C;
24
- }
25
- .prettyprint {
26
- background-color: #F7F7F9;
27
- border: 1px solid #E1E1E8;
28
- padding: 8px;
29
- }
30
- .prettyprint.linenums {
31
- box-shadow: 40px 0 0 #FBFBFC inset, 41px 0 0 #ECECF0 inset;
32
- }
33
- ol.linenums {
34
- margin: 0 0 0 33px;
35
- }
36
- ol.linenums li {
37
- color: #BEBEC5;
38
- line-height: 18px;
39
- padding-left: 12px;
40
- text-shadow: 0 1px 0 #FFFFFF;
41
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/_static/prettify.js DELETED
@@ -1,28 +0,0 @@
1
- var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
2
- (function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
3
- [],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
4
- f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
5
- (j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
6
- {b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
7
- t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
8
- "string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
9
- l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
10
- q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
11
- q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
12
- "");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
13
- a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
14
- for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
15
- m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
16
- a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
17
- j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
18
- "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
19
- H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
20
- J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
21
- I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
22
- ["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
23
- /^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
24
- ["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
25
- hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
26
- !k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
27
- 250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
28
- PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/_templates/index.html DELETED
@@ -1,106 +0,0 @@
1
- <script type="text/javascript" src="{{ pathto('_static/prettify.js', 1) }}"></script>
2
- <link rel="stylesheet" type="text/css" href="{{ pathto('_static/prettify.css', 1) }}" />
3
- <link rel="stylesheet" type="text/css" href="{{ pathto('_static/homepage.css', 1) }}" />
4
-
5
- <div class="jumbotron masthead">
6
- <div class="container">
7
- <img src="{{ pathto('_static/logo.png', 1) }}" alt="guzzle" width="199" height="260" />
8
- <h1>Guzzle</h1>
9
- <p>Guzzle is a PHP HTTP client<br />&amp; framework for building RESTful web service clients.</p>
10
- <p>
11
- <a class="btn btn-primary btn-lg" href="https://github.com/guzzle/guzzle">View Guzzle on GitHub</a>
12
- <a class="btn btn-default btn-lg" href="{{ pathto('docs') }}">Read the docs</a>
13
- </p>
14
- </div>
15
- </div>
16
-
17
- <div class="social">
18
- <ul class="social-buttons">
19
- <li>
20
- <iframe src="http://ghbtns.com/github-btn.html?user=guzzle&repo=guzzle&type=watch&count=true"
21
- allowtransparency="true" frameborder="0" scrolling="0" width="110" height="20"></iframe>
22
- </li>
23
- <li>
24
- <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://guzzlephp.org" data-text="Guzzle, PHP HTTP client &amp; framework for building RESTful web service clients" data-via="mtdowling">Tweet</a>
25
- <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="http://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
26
- </li>
27
- <li>
28
- <a href="https://twitter.com/mtdowling" class="twitter-follow-button" data-show-count="false">Follow @mtdowling</a>
29
- <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="http://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
30
- </li>
31
- </ul>
32
- </div>
33
-
34
- <div class="container">
35
-
36
- <h1>Introducing Guzzle</h1>
37
-
38
- <p>Guzzle takes the pain out of sending HTTP requests and the redundancy out of creating web service clients. It's
39
- a framework that includes the tools needed to create a robust web service client, including:
40
- Service descriptions for defining the inputs and outputs of an API, resource iterators for traversing
41
- paginated resources, batching for sending a large number of requests as efficiently as possible.</p>
42
-
43
- <ul>
44
- <li>All the power of cURL with a simple interface.</li>
45
- <li>Persistent connections and parallel requests.</li>
46
- <li>Streams request and response bodies</li>
47
- <li><a href="{{ pathto('webservice-client/guzzle-service-descriptions') }}">Service descriptions</a> for quickly building clients.</li>
48
- <li>Powered by the Symfony2 EventDispatcher.</li>
49
- <li>Use all of the code or only <a href="https://packagist.org/packages/guzzle/">specific components</a>.</li>
50
- <li><a href="{{ pathto('plugins/plugins-overview') }}">Plugins</a> for caching, logging, OAuth, mocks, and more</li>
51
- <li>Includes a custom node.js webserver to <a href="{{ pathto('testing/unit-testing') }}">test your clients</a>.</li>
52
- </ul>
53
-
54
- <div class="center-announcement">
55
- Guzzle is now part of Drupal 8 core and powers the official <a href="https://github.com/aws/aws-sdk-php">AWS SDK for PHP</a>
56
- </div>
57
-
58
- <h2>GitHub Example</h2>
59
-
60
- <pre class="prettyprint">&lt;?php
61
- require_once 'vendor/autoload.php';
62
- use Guzzle\Http\Client;
63
-
64
- // Create a client and provide a base URL
65
- $client = new Client('https://api.github.com');
66
- // Create a request with basic Auth
67
- $request = $client->get('/user')->setAuth('user', 'pass');
68
- // Send the request and get the response
69
- $response = $request->send();
70
- echo $response->getBody();
71
- // >>> {"type":"User", ...
72
- echo $response->getHeader('Content-Length');
73
- // >>> 792
74
- </pre>
75
-
76
- <h2>Twitter Example</h2>
77
- <pre class="prettyprint">&lt;?php
78
- // Create a client to work with the Twitter API
79
- $client = new Client('https://api.twitter.com/{version}', array(
80
- 'version' => '1.1'
81
- ));
82
-
83
- // Sign all requests with the OauthPlugin
84
- $client->addSubscriber(new Guzzle\Plugin\Oauth\OauthPlugin(array(
85
- 'consumer_key' => '***',
86
- 'consumer_secret' => '***',
87
- 'token' => '***',
88
- 'token_secret' => '***'
89
- )));
90
-
91
- echo $client->get('statuses/user_timeline.json')->send()->getBody();
92
- // >>> {"public_gists":6,"type":"User" ...
93
-
94
- // Create a tweet using POST
95
- $request = $client->post('statuses/update.json', null, array(
96
- 'status' => 'Tweeted with Guzzle, http://guzzlephp.org'
97
- ));
98
-
99
- // Send the request and parse the JSON response into an array
100
- $data = $request->send()->json();
101
- echo $data['text'];
102
- // >>> Tweeted with Guzzle, http://t.co/kngJMfRk
103
- </pre>
104
- </div>
105
-
106
- <script type="text/javascript">prettyPrint();</script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/_templates/leftbar.html DELETED
File without changes
vendor/guzzle/guzzle/docs/_templates/nav_links.html DELETED
@@ -1,5 +0,0 @@
1
- <li><a href="{{ pathto('docs') }}">Docs</a></li>
2
- <li><a href="http://guzzlephp.org/api/index.html">API</a></li>
3
- <li><a href="https://github.com/guzzle/guzzle">GitHub</a></li>
4
- <li><a href="https://groups.google.com/forum/?hl=en#!forum/guzzle">Forum</a></li>
5
- <li><a href="irc:irc.freenode.com/#guzzlephp">IRC</a></li>
 
 
 
 
 
vendor/guzzle/guzzle/docs/batching/batching.rst DELETED
@@ -1,183 +0,0 @@
1
- ========
2
- Batching
3
- ========
4
-
5
- Guzzle provides a fairly generic and very customizable batching framework that allows developers to efficiently
6
- transfer requests in parallel.
7
-
8
- Sending requests and commands in parallel
9
- -----------------------------------------
10
-
11
- You can send HTTP requests in parallel by passing an array of ``Guzzle\Http\Message\RequestInterface`` objects to
12
- ``Guzzle\Http\Client::send()``:
13
-
14
- .. code-block:: php
15
-
16
- $responses = $client->send(array(
17
- $client->get('http://www.example.com/foo'),
18
- $client->get('http://www.example.com/baz')
19
- $client->get('http://www.example.com/bar')
20
- ));
21
-
22
- You can send commands in parallel by passing an array of ``Guzzle\Service\Command\CommandInterface`` objects
23
- ``Guzzle\Service\Client::execute()``:
24
-
25
- .. code-block:: php
26
-
27
- $commands = $client->execute(array(
28
- $client->getCommand('foo'),
29
- $client->getCommand('baz'),
30
- $client->getCommand('bar')
31
- ));
32
-
33
- These approaches work well for most use-cases. When you need more control over the requests that are sent in
34
- parallel or you need to send a large number of requests, you need to use the functionality provided in the
35
- ``Guzzle\Batch`` namespace.
36
-
37
- Batching overview
38
- -----------------
39
-
40
- The batch object, ``Guzzle\Batch\Batch``, is a queue. You add requests to the queue until you are ready to transfer
41
- all of the requests. In order to efficiently transfer the items in the queue, the batch object delegates the
42
- responsibility of dividing the queue into manageable parts to a divisor (``Guzzle\Batch\BatchDivisorInterface``).
43
- The batch object then iterates over each array of items created by the divisor and sends them to the batch object's
44
- ``Guzzle\Batch\BatchTransferInterface``.
45
-
46
- .. code-block:: php
47
-
48
- use Guzzle\Batch\Batch;
49
- use Guzzle\Http\BatchRequestTransfer;
50
-
51
- // BatchRequestTransfer acts as both the divisor and transfer strategy
52
- $transferStrategy = new BatchRequestTransfer(10);
53
- $divisorStrategy = $transferStrategy;
54
-
55
- $batch = new Batch($transferStrategy, $divisorStrategy);
56
-
57
- // Add some requests to the batch queue
58
- $batch->add($request1)
59
- ->add($request2)
60
- ->add($request3);
61
-
62
- // Flush the queue and retrieve the flushed items
63
- $arrayOfTransferredRequests = $batch->flush();
64
-
65
- .. note::
66
-
67
- You might find that your transfer strategy will need to act as both the divisor and transfer strategy.
68
-
69
- Using the BatchBuilder
70
- ----------------------
71
-
72
- The ``Guzzle\Batch\BatchBuilder`` makes it easier to create batch objects. The batch builder also provides an easier
73
- way to add additional behaviors to your batch object.
74
-
75
- Transferring requests
76
- ~~~~~~~~~~~~~~~~~~~~~
77
-
78
- The ``Guzzle\Http\BatchRequestTransfer`` class efficiently transfers HTTP requests in parallel by grouping batches of
79
- requests by the curl_multi handle that is used to transfer the requests.
80
-
81
- .. code-block:: php
82
-
83
- use Guzzle\Batch\BatchBuilder;
84
-
85
- $batch = BatchBuilder::factory()
86
- ->transferRequests(10)
87
- ->build();
88
-
89
- Transferring commands
90
- ~~~~~~~~~~~~~~~~~~~~~
91
-
92
- The ``Guzzle\Service\Command\BatchCommandTransfer`` class efficiently transfers service commands by grouping commands
93
- by the client that is used to transfer them. You can add commands to a batch object that are transferred by different
94
- clients, and the batch will handle the rest.
95
-
96
- .. code-block:: php
97
-
98
- use Guzzle\Batch\BatchBuilder;
99
-
100
- $batch = BatchBuilder::factory()
101
- ->transferCommands(10)
102
- ->build();
103
-
104
- $batch->add($client->getCommand('foo'))
105
- ->add($client->getCommand('baz'))
106
- ->add($client->getCommand('bar'));
107
-
108
- $commands = $batch->flush();
109
-
110
- Batch behaviors
111
- ---------------
112
-
113
- You can add various behaviors to your batch that allow for more customizable transfers.
114
-
115
- Automatically flushing a queue
116
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117
-
118
- Use the ``Guzzle\Batch\FlushingBatch`` decorator when you want to pump a large number of items into a batch queue and
119
- have the queue automatically flush when the size of the queue reaches a certain threshold.
120
-
121
- .. code-block:: php
122
-
123
- use Guzzle\Batch\BatchBuilder;
124
-
125
- $batch = BatchBuilder::factory()
126
- ->transferRequests(10)
127
- ->autoFlushAt(10)
128
- ->build();
129
-
130
- Batch builder method: ``autoFlushAt($threshold)``
131
-
132
- Notifying on flush
133
- ~~~~~~~~~~~~~~~~~~
134
-
135
- Use the ``Guzzle\Batch\NotifyingBatch`` decorator if you want a function to be notified each time the batch queue is
136
- flushed. This is useful when paired with the flushing batch decorator. Pass a callable to the ``notify()`` method of
137
- a batch builder to use this decorator with the builder.
138
-
139
- .. code-block:: php
140
-
141
- use Guzzle\Batch\BatchBuilder;
142
-
143
- $batch = BatchBuilder::factory()
144
- ->transferRequests(10)
145
- ->autoFlushAt(10)
146
- ->notify(function (array $transferredItems) {
147
- echo 'Transferred ' . count($transferredItems) . "items\n";
148
- })
149
- ->build();
150
-
151
- Batch builder method:: ``notify(callable $callback)``
152
-
153
- Keeping a history
154
- ~~~~~~~~~~~~~~~~~
155
-
156
- Use the ``Guzzle\Batch\HistoryBatch`` decorator if you want to maintain a history of all the items transferred with
157
- the batch queue.
158
-
159
- .. code-block:: php
160
-
161
- use Guzzle\Batch\BatchBuilder;
162
-
163
- $batch = BatchBuilder::factory()
164
- ->transferRequests(10)
165
- ->keepHistory()
166
- ->build();
167
-
168
- After transferring items, you can use the ``getHistory()`` of a batch to retrieve an array of transferred items. Be
169
- sure to periodically clear the history using ``clearHistory()``.
170
-
171
- Batch builder method: ``keepHistory()``
172
-
173
- Exception buffering
174
- ~~~~~~~~~~~~~~~~~~~
175
-
176
- Use the ``Guzzle\Batch\ExceptionBufferingBatch`` decorator to buffer exceptions during a transfer so that you can
177
- transfer as many items as possible then deal with the errored batches after the transfer completes. After transfer,
178
- use the ``getExceptions()`` method of a batch to retrieve an array of
179
- ``Guzzle\Batch\Exception\BatchTransferException`` objects. You can use these exceptions to attempt to retry the
180
- failed batches. Be sure to clear the buffered exceptions when you are done with them by using the
181
- ``clearExceptions()`` method.
182
-
183
- Batch builder method: ``bufferExceptions()``
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/conf.py DELETED
@@ -1,94 +0,0 @@
1
- import sys, os
2
- from sphinx.highlighting import lexers
3
- from pygments.lexers.web import PhpLexer
4
-
5
- lexers['php'] = PhpLexer(startinline=True, linenos=1)
6
- lexers['php-annotations'] = PhpLexer(startinline=True, linenos=1)
7
- primary_domain = 'php'
8
-
9
- # -- General configuration -----------------------------------------------------
10
-
11
- extensions = []
12
- templates_path = ['_templates']
13
- source_suffix = '.rst'
14
- master_doc = 'index'
15
-
16
- project = u'Guzzle'
17
- copyright = u'2012, Michael Dowling'
18
- version = '3.0.0'
19
- release = '3.0.0'
20
-
21
- exclude_patterns = ['_build']
22
-
23
- # -- Options for HTML output ---------------------------------------------------
24
-
25
- # The name for this set of Sphinx documents. If None, it defaults to
26
- # "<project> v<release> documentation".
27
- html_title = "Guzzle documentation"
28
- html_short_title = "Guzzle"
29
-
30
- # Add any paths that contain custom static files (such as style sheets) here,
31
- # relative to this directory. They are copied after the builtin static files,
32
- # so a file named "default.css" will overwrite the builtin "default.css".
33
- html_static_path = ['_static']
34
-
35
- # Custom sidebar templates, maps document names to template names.
36
- html_sidebars = {
37
- '**': ['localtoc.html', 'leftbar.html', 'searchbox.html']
38
- }
39
-
40
- # Output file base name for HTML help builder.
41
- htmlhelp_basename = 'Guzzledoc'
42
-
43
- # -- Guzzle Sphinx theme setup ------------------------------------------------
44
-
45
- sys.path.insert(0, '/Users/dowling/projects/guzzle_sphinx_theme')
46
-
47
- import guzzle_sphinx_theme
48
- html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
49
- html_theme_path = guzzle_sphinx_theme.html_theme_path()
50
- html_theme = 'guzzle_sphinx_theme'
51
-
52
- # Guzzle theme options (see theme.conf for more information)
53
- html_theme_options = {
54
- "index_template": "index.html",
55
- "project_nav_name": "Guzzle",
56
- "github_user": "guzzle",
57
- "github_repo": "guzzle",
58
- "disqus_comments_shortname": "guzzle",
59
- "google_analytics_account": "UA-22752917-1"
60
- }
61
-
62
- # -- Options for LaTeX output --------------------------------------------------
63
-
64
- latex_elements = {}
65
-
66
- # Grouping the document tree into LaTeX files. List of tuples
67
- # (source start file, target name, title, author, documentclass [howto/manual]).
68
- latex_documents = [
69
- ('index', 'Guzzle.tex', u'Guzzle Documentation',
70
- u'Michael Dowling', 'manual'),
71
- ]
72
-
73
- # -- Options for manual page output --------------------------------------------
74
-
75
- # One entry per manual page. List of tuples
76
- # (source start file, name, description, authors, manual section).
77
- man_pages = [
78
- ('index', 'guzzle', u'Guzzle Documentation',
79
- [u'Michael Dowling'], 1)
80
- ]
81
-
82
- # If true, show URL addresses after external links.
83
- #man_show_urls = False
84
-
85
- # -- Options for Texinfo output ------------------------------------------------
86
-
87
- # Grouping the document tree into Texinfo files. List of tuples
88
- # (source start file, target name, title, author,
89
- # dir menu entry, description, category)
90
- texinfo_documents = [
91
- ('index', 'Guzzle', u'Guzzle Documentation',
92
- u'Michael Dowling', 'Guzzle', 'One line description of project.',
93
- 'Miscellaneous'),
94
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/docs.rst DELETED
@@ -1,73 +0,0 @@
1
- .. title:: Guzzle | PHP HTTP client and framework for consuming RESTful web services
2
-
3
- ====================
4
- Guzzle Documentation
5
- ====================
6
-
7
- Getting started
8
- ---------------
9
-
10
- .. toctree::
11
- :maxdepth: 1
12
-
13
- getting-started/overview
14
- getting-started/installation
15
- getting-started/faq
16
-
17
- The HTTP client
18
- ---------------
19
-
20
- .. toctree::
21
- :maxdepth: 2
22
-
23
- http-client/client
24
- http-client/request
25
- http-client/response
26
- http-client/entity-bodies
27
- http-client/http-redirects
28
- http-client/uri-templates
29
-
30
- Plugins
31
- -------
32
-
33
- .. toctree::
34
- :maxdepth: 1
35
-
36
- plugins/plugins-overview
37
- plugins/creating-plugins
38
- plugins/async-plugin
39
- plugins/backoff-plugin
40
- plugins/cache-plugin
41
- plugins/cookie-plugin
42
- plugins/curl-auth-plugin
43
- plugins/history-plugin
44
- plugins/log-plugin
45
- plugins/md5-validator-plugin
46
- plugins/mock-plugin
47
- plugins/oauth-plugin
48
-
49
- The web service client
50
- ----------------------
51
-
52
- .. toctree::
53
- :maxdepth: 1
54
-
55
- webservice-client/webservice-client
56
- webservice-client/using-the-service-builder
57
- webservice-client/guzzle-service-descriptions
58
- batching/batching
59
- iterators/resource-iterators
60
- iterators/guzzle-iterators
61
-
62
- Testing
63
- -------
64
-
65
- .. toctree::
66
- :maxdepth: 2
67
-
68
- testing/unit-testing
69
-
70
- API Docs
71
- --------
72
-
73
- `Read the API docs <http://guzzlephp.org/api/index.html>`_
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/getting-started/faq.rst DELETED
@@ -1,29 +0,0 @@
1
- ===
2
- FAQ
3
- ===
4
-
5
- What should I do if I get this error: Fatal error: Maximum function nesting level of '100' reached, aborting!
6
- -------------------------------------------------------------------------------------------------------------
7
-
8
- You could run into this error if you have the XDebug extension installed and you execute a lot of requests in
9
- callbacks. This error message comes specifically from the XDebug extension. PHP itself does not have a function
10
- nesting limit. Change this setting in your php.ini to increase the limit::
11
-
12
- xdebug.max_nesting_level = 1000
13
-
14
- [`source <http://stackoverflow.com/a/4293870/151504>`_]
15
-
16
- How can I speed up my client?
17
- -----------------------------
18
-
19
- There are several things you can do to speed up your client:
20
-
21
- 1. Utilize a C based HTTP message parser (e.g. ``Guzzle\Parser\Message\PeclHttpMessageParser``)
22
- 2. Disable operation validation by setting the ``command.disable_validation`` option to true on a command
23
-
24
- Why am I getting a 417 error response?
25
- --------------------------------------
26
-
27
- This can occur for a number of reasons, but if you are sending PUT, POST, or PATCH requests with an
28
- ``Expect: 100-Continue`` header, a server that does not support this header will return a 417 response. You can work
29
- around this by calling ``$request->removeHeader('Expect');`` after setting the entity body of a request.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/getting-started/installation.rst DELETED
@@ -1,154 +0,0 @@
1
- ============
2
- Installation
3
- ============
4
-
5
- Requirements
6
- ------------
7
-
8
- #. PHP 5.3.3+ compiled with the cURL extension
9
- #. A recent version of cURL 7.16.2+ compiled with OpenSSL and zlib
10
-
11
- Installing Guzzle
12
- -----------------
13
-
14
- Composer
15
- ~~~~~~~~
16
-
17
- The recommended way to install Guzzle is with `Composer <http://getcomposer.org>`_. Composer is a dependency
18
- management tool for PHP that allows you to declare the dependencies your project needs and installs them into your
19
- project.
20
-
21
- .. code-block:: bash
22
-
23
- # Install Composer
24
- curl -sS https://getcomposer.org/installer | php
25
-
26
- # Add Guzzle as a dependency
27
- php composer.phar require guzzle/guzzle:~3.9
28
-
29
- After installing, you need to require Composer's autoloader:
30
-
31
- .. code-block:: php
32
-
33
- require 'vendor/autoload.php';
34
-
35
- You can find out more on how to install Composer, configure autoloading, and other best-practices for defining
36
- dependencies at `getcomposer.org <http://getcomposer.org>`_.
37
-
38
- Using only specific parts of Guzzle
39
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
40
-
41
- While you can always just rely on ``guzzle/guzzle``, Guzzle provides several smaller parts of Guzzle as individual
42
- packages available through Composer.
43
-
44
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
45
- | Package name | Description |
46
- +===============================================================================================+==========================================+
47
- | `guzzle/common <https://packagist.org/packages/guzzle/common>`_ | Provides ``Guzzle\Common`` |
48
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
49
- | `guzzle/http <https://packagist.org/packages/guzzle/http>`_ | Provides ``Guzzle\Http`` |
50
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
51
- | `guzzle/parser <https://packagist.org/packages/guzzle/parser>`_ | Provides ``Guzzle\Parser`` |
52
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
53
- | `guzzle/batch <https://packagist.org/packages/guzzle/batch>`_ | Provides ``Guzzle\Batch`` |
54
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
55
- | `guzzle/cache <https://packagist.org/packages/guzzle/cache>`_ | Provides ``Guzzle\Cache`` |
56
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
57
- | `guzzle/inflection <https://packagist.org/packages/guzzle/inflection>`_ | Provides ``Guzzle\Inflection`` |
58
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
59
- | `guzzle/iterator <https://packagist.org/packages/guzzle/iterator>`_ | Provides ``Guzzle\Iterator`` |
60
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
61
- | `guzzle/log <https://packagist.org/packages/guzzle/log>`_ | Provides ``Guzzle\Log`` |
62
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
63
- | `guzzle/plugin <https://packagist.org/packages/guzzle/plugin>`_ | Provides ``Guzzle\Plugin`` (all plugins) |
64
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
65
- | `guzzle/plugin-async <https://packagist.org/packages/guzzle/plugin-async>`_ | Provides ``Guzzle\Plugin\Async`` |
66
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
67
- | `guzzle/plugin-backoff <https://packagist.org/packages/guzzle/plugin-backoff>`_ | Provides ``Guzzle\Plugin\BackoffPlugin`` |
68
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
69
- | `guzzle/plugin-cache <https://packagist.org/packages/guzzle/plugin-cache>`_ | Provides ``Guzzle\Plugin\Cache`` |
70
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
71
- | `guzzle/plugin-cookie <https://packagist.org/packages/guzzle/plugin-cookie>`_ | Provides ``Guzzle\Plugin\Cookie`` |
72
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
73
- | `guzzle/plugin-error-response <https://packagist.org/packages/guzzle/plugin-error-response>`_ | Provides ``Guzzle\Plugin\ErrorResponse`` |
74
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
75
- | `guzzle/plugin-history <https://packagist.org/packages/guzzle/plugin-history>`_ | Provides ``Guzzle\Plugin\History`` |
76
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
77
- | `guzzle/plugin-log <https://packagist.org/packages/guzzle/plugin-log>`_ | Provides ``Guzzle\Plugin\Log`` |
78
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
79
- | `guzzle/plugin-md5 <https://packagist.org/packages/guzzle/plugin-md5>`_ | Provides ``Guzzle\Plugin\Md5`` |
80
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
81
- | `guzzle/plugin-mock <https://packagist.org/packages/guzzle/plugin-mock>`_ | Provides ``Guzzle\Plugin\Mock`` |
82
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
83
- | `guzzle/plugin-oauth <https://packagist.org/packages/guzzle/plugin-oauth>`_ | Provides ``Guzzle\Plugin\Oauth`` |
84
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
85
- | `guzzle/service <https://packagist.org/packages/guzzle/service>`_ | Provides ``Guzzle\Service`` |
86
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
87
- | `guzzle/stream <https://packagist.org/packages/guzzle/stream>`_ | Provides ``Guzzle\Stream`` |
88
- +-----------------------------------------------------------------------------------------------+------------------------------------------+
89
-
90
- Bleeding edge
91
- ^^^^^^^^^^^^^
92
-
93
- During your development, you can keep up with the latest changes on the master branch by setting the version
94
- requirement for Guzzle to ``dev-master``.
95
-
96
- .. code-block:: js
97
-
98
- {
99
- "require": {
100
- "guzzle/guzzle": "dev-master"
101
- }
102
- }
103
-
104
- PEAR
105
- ~~~~
106
-
107
- Guzzle can be installed through PEAR:
108
-
109
- .. code-block:: bash
110
-
111
- pear channel-discover guzzlephp.org/pear
112
- pear install guzzle/guzzle
113
-
114
- You can install a specific version of Guzzle by providing a version number suffix:
115
-
116
- .. code-block:: bash
117
-
118
- pear install guzzle/guzzle-3.9.0
119
-
120
- Contributing to Guzzle
121
- ----------------------
122
-
123
- In order to contribute, you'll need to checkout the source from GitHub and install Guzzle's dependencies using
124
- Composer:
125
-
126
- .. code-block:: bash
127
-
128
- git clone https://github.com/guzzle/guzzle.git
129
- cd guzzle && curl -s http://getcomposer.org/installer | php && ./composer.phar install --dev
130
-
131
- Guzzle is unit tested with PHPUnit. You will need to create your own phpunit.xml file in order to run the unit tests
132
- (or just copy phpunit.xml.dist to phpunit.xml). Run the tests using the vendored PHPUnit binary:
133
-
134
- .. code-block:: bash
135
-
136
- vendor/bin/phpunit
137
-
138
- You'll need to install node.js v0.5.0 or newer in order to test the cURL implementation.
139
-
140
- Framework integrations
141
- ----------------------
142
-
143
- Using Guzzle with Symfony
144
- ~~~~~~~~~~~~~~~~~~~~~~~~~
145
-
146
- Bundles are available on GitHub:
147
-
148
- - `DdeboerGuzzleBundle <https://github.com/ddeboer/GuzzleBundle>`_ for Guzzle 2
149
- - `MisdGuzzleBundle <https://github.com/misd-service-development/guzzle-bundle>`_ for Guzzle 3
150
-
151
- Using Guzzle with Silex
152
- ~~~~~~~~~~~~~~~~~~~~~~~
153
-
154
- A `Guzzle Silex service provider <https://github.com/guzzle/guzzle-silex-extension>`_ is available on GitHub.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/getting-started/overview.rst DELETED
@@ -1,85 +0,0 @@
1
- =================
2
- Welcome to Guzzle
3
- =================
4
-
5
- What is Guzzle?
6
- ~~~~~~~~~~~~~~~
7
-
8
- Guzzle is a PHP HTTP client and framework for building web service clients. Guzzle takes the pain out of sending HTTP
9
- requests and the redundancy out of creating web service clients.
10
-
11
- Features at a glance
12
- --------------------
13
-
14
- - All the power of cURL with a simple interface.
15
- - Persistent connections and parallel requests.
16
- - Streams request and response bodies
17
- - Service descriptions for quickly building clients.
18
- - Powered by the Symfony2 EventDispatcher.
19
- - Use all of the code or only specific components.
20
- - Plugins for caching, logging, OAuth, mocks, and more
21
- - Includes a custom node.js webserver to test your clients.
22
- - Service descriptions for defining the inputs and outputs of an API
23
- - Resource iterators for traversing paginated resources
24
- - Batching for sending a large number of requests as efficiently as possible
25
-
26
- .. code-block:: php
27
-
28
- // Really simple using a static facade
29
- Guzzle\Http\StaticClient::mount();
30
- $response = Guzzle::get('http://guzzlephp.org');
31
-
32
- // More control using a client class
33
- $client = new \Guzzle\Http\Client('http://guzzlephp.org');
34
- $request = $client->get('/');
35
- $response = $request->send();
36
-
37
- License
38
- -------
39
-
40
- Licensed using the `MIT license <http://opensource.org/licenses/MIT>`_.
41
-
42
- Copyright (c) 2013 Michael Dowling <https://github.com/mtdowling>
43
-
44
- Permission is hereby granted, free of charge, to any person obtaining a copy
45
- of this software and associated documentation files (the "Software"), to deal
46
- in the Software without restriction, including without limitation the rights
47
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
48
- copies of the Software, and to permit persons to whom the Software is
49
- furnished to do so, subject to the following conditions:
50
-
51
- The above copyright notice and this permission notice shall be included in
52
- all copies or substantial portions of the Software.
53
-
54
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
55
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
56
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
57
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
58
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
59
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
60
- THE SOFTWARE.
61
-
62
- Contributing
63
- ------------
64
-
65
- Guidelines
66
- ~~~~~~~~~~
67
-
68
- This is still a work in progress, but there are only a few rules:
69
-
70
- 1. Guzzle follows PSR-0, PSR-1, and PSR-2
71
- 2. All pull requests must include unit tests to ensure the change works as expected and to prevent future regressions
72
-
73
- Reporting a security vulnerability
74
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75
-
76
- We want to ensure that Guzzle is a secure HTTP client library for everyone. If you've discovered a security
77
- vulnerability in Guzzle, we appreciate your help in disclosing it to us in a
78
- `responsible manner <http://en.wikipedia.org/wiki/Responsible_disclosure>`_.
79
-
80
- Publicly disclosing a vulnerability can put the entire community at risk. If you've discovered a security concern,
81
- please email us at security@guzzlephp.org. We'll work with you to make sure that we understand the scope of the issue,
82
- and that we fully address your concern. We consider correspondence sent to security@guzzlephp.org our highest priority,
83
- and work to address any issues that arise as quickly as possible.
84
-
85
- After a security vulnerability has been corrected, a security hotfix release will be deployed as soon as possible.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/http-client/client.rst DELETED
@@ -1,569 +0,0 @@
1
- ======================
2
- The Guzzle HTTP client
3
- ======================
4
-
5
- Guzzle gives PHP developers complete control over HTTP requests while utilizing HTTP/1.1 best practices. Guzzle's HTTP
6
- functionality is a robust framework built on top of the `PHP libcurl bindings <http://www.php.net/curl>`_.
7
-
8
- The three main parts of the Guzzle HTTP client are:
9
-
10
- +--------------+-------------------------------------------------------------------------------------------------------+
11
- | Clients | ``Guzzle\Http\Client`` (creates and sends requests, associates a response with a request) |
12
- +--------------+-------------------------------------------------------------------------------------------------------+
13
- | Requests | ``Guzzle\Http\Message\Request`` (requests with no body), |
14
- | | ``Guzzle\Http\Message\EntityEnclosingRequest`` (requests with a body) |
15
- +--------------+-------------------------------------------------------------------------------------------------------+
16
- | Responses | ``Guzzle\Http\Message\Response`` |
17
- +--------------+-------------------------------------------------------------------------------------------------------+
18
-
19
- Creating a Client
20
- -----------------
21
-
22
- Clients create requests, send requests, and set responses on a request object. When instantiating a client object,
23
- you can pass an optional "base URL" and optional array of configuration options. A base URL is a
24
- :doc:`URI template <uri-templates>` that contains the URL of a remote server. When creating requests with a relative
25
- URL, the base URL of a client will be merged into the request's URL.
26
-
27
- .. code-block:: php
28
-
29
- use Guzzle\Http\Client;
30
-
31
- // Create a client and provide a base URL
32
- $client = new Client('https://api.github.com');
33
-
34
- $request = $client->get('/user');
35
- $request->setAuth('user', 'pass');
36
- echo $request->getUrl();
37
- // >>> https://api.github.com/user
38
-
39
- // You must send a request in order for the transfer to occur
40
- $response = $request->send();
41
-
42
- echo $response->getBody();
43
- // >>> {"type":"User", ...
44
-
45
- echo $response->getHeader('Content-Length');
46
- // >>> 792
47
-
48
- $data = $response->json();
49
- echo $data['type'];
50
- // >>> User
51
-
52
- Base URLs
53
- ~~~~~~~~~
54
-
55
- Notice that the URL provided to the client's ``get()`` method is relative. Relative URLs will always merge into the
56
- base URL of the client. There are a few rules that control how the URLs are merged.
57
-
58
- .. tip::
59
-
60
- Guzzle follows `RFC 3986 <http://tools.ietf.org/html/rfc3986#section-5.2>`_ when merging base URLs and
61
- relative URLs.
62
-
63
- In the above example, we passed ``/user`` to the ``get()`` method of the client. This is a relative URL, so it will
64
- merge into the base URL of the client-- resulting in the derived URL of ``https://api.github.com/users``.
65
-
66
- ``/user`` is a relative URL but uses an absolute path because it contains the leading slash. Absolute paths will
67
- overwrite any existing path of the base URL. If an absolute path is provided (e.g. ``/path/to/something``), then the
68
- path specified in the base URL of the client will be replaced with the absolute path, and the query string provided
69
- by the relative URL will replace the query string of the base URL.
70
-
71
- Omitting the leading slash and using relative paths will add to the path of the base URL of the client. So using a
72
- client base URL of ``https://api.twitter.com/v1.1`` and creating a GET request with ``statuses/user_timeline.json``
73
- will result in a URL of ``https://api.twitter.com/v1.1/statuses/user_timeline.json``. If a relative path and a query
74
- string are provided, then the relative path will be appended to the base URL path, and the query string provided will
75
- be merged into the query string of the base URL.
76
-
77
- If an absolute URL is provided (e.g. ``http://httpbin.org/ip``), then the request will completely use the absolute URL
78
- as-is without merging in any of the URL parts specified in the base URL.
79
-
80
- Configuration options
81
- ~~~~~~~~~~~~~~~~~~~~~
82
-
83
- The second argument of the client's constructor is an array of configuration data. This can include URI template data
84
- or special options that alter the client's behavior:
85
-
86
- +-------------------------------+-------------------------------------------------------------------------------------+
87
- | ``request.options`` | Associative array of :ref:`Request options <request-options>` to apply to every |
88
- | | request created by the client. |
89
- +-------------------------------+-------------------------------------------------------------------------------------+
90
- | ``redirect.disable`` | Disable HTTP redirects for every request created by the client. |
91
- +-------------------------------+-------------------------------------------------------------------------------------+
92
- | ``curl.options`` | Associative array of cURL options to apply to every request created by the client. |
93
- | | if either the key or value of an entry in the array is a string, Guzzle will |
94
- | | attempt to find a matching defined cURL constant automatically (e.g. |
95
- | | "CURLOPT_PROXY" will be converted to the constant ``CURLOPT_PROXY``). |
96
- +-------------------------------+-------------------------------------------------------------------------------------+
97
- | ``ssl.certificate_authority`` | Set to true to use the Guzzle bundled SSL certificate bundle (this is used by |
98
- | | default, 'system' to use the bundle on your system, a string pointing to a file to |
99
- | | use a specific certificate file, a string pointing to a directory to use multiple |
100
- | | certificates, or ``false`` to disable SSL validation (not recommended). |
101
- | | |
102
- | | When using Guzzle inside of a phar file, the bundled SSL certificate will be |
103
- | | extracted to your system's temp folder, and each time a client is created an MD5 |
104
- | | check will be performed to ensure the integrity of the certificate. |
105
- +-------------------------------+-------------------------------------------------------------------------------------+
106
- | ``command.params`` | When using a ``Guzzle\Service\Client`` object, this is an associative array of |
107
- | | default options to set on each command created by the client. |
108
- +-------------------------------+-------------------------------------------------------------------------------------+
109
-
110
- Here's an example showing how to set various configuration options, including default headers to send with each request,
111
- default query string parameters to add to each request, a default auth scheme for each request, and a proxy to use for
112
- each request. Values can be injected into the client's base URL using variables from the configuration array.
113
-
114
- .. code-block:: php
115
-
116
- use Guzzle\Http\Client;
117
-
118
- $client = new Client('https://api.twitter.com/{version}', array(
119
- 'version' => 'v1.1',
120
- 'request.options' => array(
121
- 'headers' => array('Foo' => 'Bar'),
122
- 'query' => array('testing' => '123'),
123
- 'auth' => array('username', 'password', 'Basic|Digest|NTLM|Any'),
124
- 'proxy' => 'tcp://localhost:80'
125
- )
126
- ));
127
-
128
- Setting a custom User-Agent
129
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
130
-
131
- The default Guzzle User-Agent header is ``Guzzle/<Guzzle_Version> curl/<curl_version> PHP/<PHP_VERSION>``. You can
132
- customize the User-Agent header of a client by calling the ``setUserAgent()`` method of a Client object.
133
-
134
- .. code-block:: php
135
-
136
- // Completely override the default User-Agent
137
- $client->setUserAgent('Test/123');
138
-
139
- // Prepend a string to the default User-Agent
140
- $client->setUserAgent('Test/123', true);
141
-
142
- Creating requests with a client
143
- -------------------------------
144
-
145
- A Client object exposes several methods used to create Request objects:
146
-
147
- * Create a custom HTTP request: ``$client->createRequest($method, $uri, array $headers, $body, $options)``
148
- * Create a GET request: ``$client->get($uri, array $headers, $options)``
149
- * Create a HEAD request: ``$client->head($uri, array $headers, $options)``
150
- * Create a DELETE request: ``$client->delete($uri, array $headers, $body, $options)``
151
- * Create a POST request: ``$client->post($uri, array $headers, $postBody, $options)``
152
- * Create a PUT request: ``$client->put($uri, array $headers, $body, $options)``
153
- * Create a PATCH request: ``$client->patch($uri, array $headers, $body, $options)``
154
-
155
- .. code-block:: php
156
-
157
- use Guzzle\Http\Client;
158
-
159
- $client = new Client('http://baseurl.com/api/v1');
160
-
161
- // Create a GET request using Relative to base URL
162
- // URL of the request: http://baseurl.com/api/v1/path?query=123&value=abc)
163
- $request = $client->get('path?query=123&value=abc');
164
- $response = $request->send();
165
-
166
- // Create HEAD request using a relative URL with an absolute path
167
- // URL of the request: http://baseurl.com/path?query=123&value=abc
168
- $request = $client->head('/path?query=123&value=abc');
169
- $response = $request->send();
170
-
171
- // Create a DELETE request using an absolute URL
172
- $request = $client->delete('http://www.example.com/path?query=123&value=abc');
173
- $response = $request->send();
174
-
175
- // Create a PUT request using the contents of a PHP stream as the body
176
- // Specify custom HTTP headers
177
- $request = $client->put('http://www.example.com/upload', array(
178
- 'X-Header' => 'My Header'
179
- ), fopen('http://www.test.com/', 'r'));
180
- $response = $request->send();
181
-
182
- // Create a POST request and add the POST files manually
183
- $request = $client->post('http://localhost:8983/solr/update')
184
- ->addPostFiles(array('file' => '/path/to/documents.xml'));
185
- $response = $request->send();
186
-
187
- // Check if a resource supports the DELETE method
188
- $supportsDelete = $client->options('/path')->send()->isMethodAllowed('DELETE');
189
- $response = $request->send();
190
-
191
- Client objects create Request objects using a request factory (``Guzzle\Http\Message\RequestFactoryInterface``).
192
- You can inject a custom request factory into the Client using ``$client->setRequestFactory()``, but you can typically
193
- rely on a Client's default request factory.
194
-
195
- Static clients
196
- --------------
197
-
198
- You can use Guzzle's static client facade to more easily send simple HTTP requests.
199
-
200
- .. code-block:: php
201
-
202
- // Mount the client so that you can access it at \Guzzle
203
- Guzzle\Http\StaticClient::mount();
204
- $response = Guzzle::get('http://guzzlephp.org');
205
-
206
- Each request method of the static client (e.g. ``get()``, ``post()`, ``put()``, etc) accepts an associative array of request
207
- options to apply to the request.
208
-
209
- .. code-block:: php
210
-
211
- $response = Guzzle::post('http://test.com', array(
212
- 'headers' => array('X-Foo' => 'Bar'),
213
- 'body' => array('Test' => '123'),
214
- 'timeout' => 10
215
- ));
216
-
217
- .. _request-options:
218
-
219
- Request options
220
- ---------------
221
-
222
- Request options can be specified when creating a request or in the ``request.options`` parameter of a client. These
223
- options can control various aspects of a request including: headers to send, query string data, where the response
224
- should be downloaded, proxies, auth, etc.
225
-
226
- headers
227
- ~~~~~~~
228
-
229
- Associative array of headers to apply to the request. When specified in the ``$options`` argument of a client creational
230
- method (e.g. ``get()``, ``post()``, etc), the headers in the ``$options`` array will overwrite headers specified in the
231
- ``$headers`` array.
232
-
233
- .. code-block:: php
234
-
235
- $request = $client->get($url, array(), array(
236
- 'headers' => array('X-Foo' => 'Bar')
237
- ));
238
-
239
- Headers can be specified on a client to add default headers to every request sent by a client.
240
-
241
- .. code-block:: php
242
-
243
- $client = new Guzzle\Http\Client();
244
-
245
- // Set a single header using path syntax
246
- $client->setDefaultOption('headers/X-Foo', 'Bar');
247
-
248
- // Set all headers
249
- $client->setDefaultOption('headers', array('X-Foo' => 'Bar'));
250
-
251
- .. note::
252
-
253
- In addition to setting request options when creating requests or using the ``setDefaultOption()`` method, any
254
- default client request option can be set using a client's config object:
255
-
256
- .. code-block:: php
257
-
258
- $client->getConfig()->setPath('request.options/headers/X-Foo', 'Bar');
259
-
260
- query
261
- ~~~~~
262
-
263
- Associative array of query string parameters to the request. When specified in the ``$options`` argument of a client
264
- creational method, the query string parameters in the ``$options`` array will overwrite query string parameters
265
- specified in the `$url`.
266
-
267
- .. code-block:: php
268
-
269
- $request = $client->get($url, array(), array(
270
- 'query' => array('abc' => '123')
271
- ));
272
-
273
- Query string parameters can be specified on a client to add default query string parameters to every request sent by a
274
- client.
275
-
276
- .. code-block:: php
277
-
278
- $client = new Guzzle\Http\Client();
279
-
280
- // Set a single query string parameter using path syntax
281
- $client->setDefaultOption('query/abc', '123');
282
-
283
- // Set an array of default query string parameters
284
- $client->setDefaultOption('query', array('abc' => '123'));
285
-
286
- body
287
- ~~~~
288
-
289
- Sets the body of a request. The value supplied to the body option can be a ``Guzzle\Http\EntityBodyInterface``, string,
290
- fopen resource, or array when sending POST requests. When a ``body`` request option is supplied, the option value will
291
- overwrite the ``$body`` argument of a client creational method.
292
-
293
- auth
294
- ~~~~
295
-
296
- Specifies and array of HTTP authorization parameters parameters to use with the request. The array must contain the
297
- username in index [0], the password in index [1], and can optionally contain the authentication type in index [2].
298
- The available authentication types are: "Basic" (default), "Digest", "NTLM", or "Any".
299
-
300
- .. code-block:: php
301
-
302
- $request = $client->get($url, array(), array(
303
- 'auth' => array('username', 'password', 'Digest')
304
- ));
305
-
306
- // You can add auth headers to every request of a client
307
- $client->setDefaultOption('auth', array('username', 'password', 'Digest'));
308
-
309
- cookies
310
- ~~~~~~~
311
-
312
- Specifies an associative array of cookies to add to the request.
313
-
314
- allow_redirects
315
- ~~~~~~~~~~~~~~~
316
-
317
- Specifies whether or not the request should follow redirects. Requests will follow redirects by default. Set
318
- ``allow_redirects`` to ``false`` to disable redirects.
319
-
320
- save_to
321
- ~~~~~~~
322
-
323
- The ``save_to`` option specifies where the body of a response is downloaded. You can pass the path to a file, an fopen
324
- resource, or a ``Guzzle\Http\EntityBodyInterface`` object.
325
-
326
- See :ref:`Changing where a response is downloaded <request-set-response-body>` for more information on setting the
327
- `save_to` option.
328
-
329
- events
330
- ~~~~~~
331
-
332
- The `events` option makes it easy to attach listeners to the various events emitted by a request object. The `events`
333
- options must be an associative array mapping an event name to a Closure or array the contains a Closure and the
334
- priority of the event.
335
-
336
- .. code-block:: php
337
-
338
- $request = $client->get($url, array(), array(
339
- 'events' => array(
340
- 'request.before_send' => function (\Guzzle\Common\Event $e) {
341
- echo 'About to send ' . $e['request'];
342
- }
343
- )
344
- ));
345
-
346
- // Using the static client:
347
- Guzzle::get($url, array(
348
- 'events' => array(
349
- 'request.before_send' => function (\Guzzle\Common\Event $e) {
350
- echo 'About to send ' . $e['request'];
351
- }
352
- )
353
- ));
354
-
355
- plugins
356
- ~~~~~~~
357
-
358
- The `plugins` options makes it easy to attach an array of plugins to a request.
359
-
360
- .. code-block:: php
361
-
362
- // Using the static client:
363
- Guzzle::get($url, array(
364
- 'plugins' => array(
365
- new Guzzle\Plugin\Cache\CachePlugin(),
366
- new Guzzle\Plugin\Cookie\CookiePlugin()
367
- )
368
- ));
369
-
370
- exceptions
371
- ~~~~~~~~~~
372
-
373
- The `exceptions` option can be used to disable throwing exceptions for unsuccessful HTTP response codes
374
- (e.g. 404, 500, etc). Set `exceptions` to false to not throw exceptions.
375
-
376
- params
377
- ~~~~~~
378
-
379
- The `params` options can be used to specify an associative array of data parameters to add to a request. Note that
380
- these are not query string parameters.
381
-
382
- timeout / connect_timeout
383
- ~~~~~~~~~~~~~~~~~~~~~~~~~
384
-
385
- You can specify the maximum number of seconds to allow for an entire transfer to take place before timing out using
386
- the `timeout` request option. You can specify the maximum number of seconds to wait while trying to connect using the
387
- `connect_timeout` request option. Set either of these options to 0 to wait indefinitely.
388
-
389
- .. code-block:: php
390
-
391
- $request = $client->get('http://www.example.com', array(), array(
392
- 'timeout' => 20,
393
- 'connect_timeout' => 1.5
394
- ));
395
-
396
- verify
397
- ~~~~~~
398
-
399
- Set to true to enable SSL certificate validation (the default), false to disable SSL certificate validation, or supply
400
- the path to a CA bundle to enable verification using a custom certificate.
401
-
402
- cert
403
- ~~~~
404
-
405
- The `cert` option lets you specify a PEM formatted SSL client certificate to use with servers that require one. If the
406
- certificate requires a password, provide an array with the password as the second item.
407
-
408
- This would typically be used in conjunction with the `ssl_key` option.
409
-
410
- .. code-block:: php
411
-
412
- $request = $client->get('https://www.example.com', array(), array(
413
- 'cert' => '/etc/pki/client_certificate.pem'
414
- )
415
-
416
- $request = $client->get('https://www.example.com', array(), array(
417
- 'cert' => array('/etc/pki/client_certificate.pem', 's3cr3tp455w0rd')
418
- )
419
-
420
- ssl_key
421
- ~~~~~~~
422
-
423
- The `ssl_key` option lets you specify a file containing your PEM formatted private key, optionally protected by a password.
424
- Note: your password is sensitive, keep the PHP script containing it safe.
425
-
426
- This would typically be used in conjunction with the `cert` option.
427
-
428
- .. code-block:: php
429
-
430
- $request = $client->get('https://www.example.com', array(), array(
431
- 'ssl_key' => '/etc/pki/private_key.pem'
432
- )
433
-
434
- $request = $client->get('https://www.example.com', array(), array(
435
- 'ssl_key' => array('/etc/pki/private_key.pem', 's3cr3tp455w0rd')
436
- )
437
-
438
- proxy
439
- ~~~~~
440
-
441
- The `proxy` option is used to specify an HTTP proxy (e.g. `http://username:password@192.168.16.1:10`).
442
-
443
- debug
444
- ~~~~~
445
-
446
- The `debug` option is used to show verbose cURL output for a transfer.
447
-
448
- stream
449
- ~~~~~~
450
-
451
- When using a static client, you can set the `stream` option to true to return a `Guzzle\Stream\Stream` object that can
452
- be used to pull data from a stream as needed (rather than have cURL download the entire contents of a response to a
453
- stream all at once).
454
-
455
- .. code-block:: php
456
-
457
- $stream = Guzzle::get('http://guzzlephp.org', array('stream' => true));
458
- while (!$stream->feof()) {
459
- echo $stream->readLine();
460
- }
461
-
462
- Sending requests
463
- ----------------
464
-
465
- Requests can be sent by calling the ``send()`` method of a Request object, but you can also send requests using the
466
- ``send()`` method of a Client.
467
-
468
- .. code-block:: php
469
-
470
- $request = $client->get('http://www.amazon.com');
471
- $response = $client->send($request);
472
-
473
- Sending requests in parallel
474
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
475
-
476
- The Client's ``send()`` method accept a single ``Guzzle\Http\Message\RequestInterface`` object or an array of
477
- RequestInterface objects. When an array is specified, the requests will be sent in parallel.
478
-
479
- Sending many HTTP requests serially (one at a time) can cause an unnecessary delay in a script's execution. Each
480
- request must complete before a subsequent request can be sent. By sending requests in parallel, a pool of HTTP
481
- requests can complete at the speed of the slowest request in the pool, significantly reducing the amount of time
482
- needed to execute multiple HTTP requests. Guzzle provides a wrapper for the curl_multi functions in PHP.
483
-
484
- Here's an example of sending three requests in parallel using a client object:
485
-
486
- .. code-block:: php
487
-
488
- use Guzzle\Common\Exception\MultiTransferException;
489
-
490
- try {
491
- $responses = $client->send(array(
492
- $client->get('http://www.google.com/'),
493
- $client->head('http://www.google.com/'),
494
- $client->get('https://www.github.com/')
495
- ));
496
- } catch (MultiTransferException $e) {
497
-
498
- echo "The following exceptions were encountered:\n";
499
- foreach ($e as $exception) {
500
- echo $exception->getMessage() . "\n";
501
- }
502
-
503
- echo "The following requests failed:\n";
504
- foreach ($e->getFailedRequests() as $request) {
505
- echo $request . "\n\n";
506
- }
507
-
508
- echo "The following requests succeeded:\n";
509
- foreach ($e->getSuccessfulRequests() as $request) {
510
- echo $request . "\n\n";
511
- }
512
- }
513
-
514
- If the requests succeed, an array of ``Guzzle\Http\Message\Response`` objects are returned. A single request failure
515
- will not cause the entire pool of requests to fail. Any exceptions thrown while transferring a pool of requests will
516
- be aggregated into a ``Guzzle\Common\Exception\MultiTransferException`` exception.
517
-
518
- Plugins and events
519
- ------------------
520
-
521
- Guzzle provides easy to use request plugins that add behavior to requests based on signal slot event notifications
522
- powered by the
523
- `Symfony2 Event Dispatcher component <http://symfony.com/doc/2.0/components/event_dispatcher/introduction.html>`_. Any
524
- event listener or subscriber attached to a Client object will automatically be attached to each request created by the
525
- client.
526
-
527
- Using the same cookie session for each request
528
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
529
-
530
- Attach a ``Guzzle\Plugin\Cookie\CookiePlugin`` to a client which will in turn add support for cookies to every request
531
- created by a client, and each request will use the same cookie session:
532
-
533
- .. code-block:: php
534
-
535
- use Guzzle\Plugin\Cookie\CookiePlugin;
536
- use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar;
537
-
538
- // Create a new cookie plugin
539
- $cookiePlugin = new CookiePlugin(new ArrayCookieJar());
540
-
541
- // Add the cookie plugin to the client
542
- $client->addSubscriber($cookiePlugin);
543
-
544
- .. _client-events:
545
-
546
- Events emitted from a client
547
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
548
-
549
- A ``Guzzle\Http\Client`` object emits the following events:
550
-
551
- +------------------------------+--------------------------------------------+------------------------------------------+
552
- | Event name | Description | Event data |
553
- +==============================+============================================+==========================================+
554
- | client.create_request | Called when a client creates a request | * client: The client |
555
- | | | * request: The created request |
556
- +------------------------------+--------------------------------------------+------------------------------------------+
557
-
558
- .. code-block:: php
559
-
560
- use Guzzle\Common\Event;
561
- use Guzzle\Http\Client;
562
-
563
- $client = new Client();
564
-
565
- // Add a listener that will echo out requests as they are created
566
- $client->getEventDispatcher()->addListener('client.create_request', function (Event $e) {
567
- echo 'Client object: ' . spl_object_hash($e['client']) . "\n";
568
- echo "Request object: {$e['request']}\n";
569
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/http-client/entity-bodies.rst DELETED
@@ -1,151 +0,0 @@
1
- ===========================
2
- Request and response bodies
3
- ===========================
4
-
5
- `Entity body <http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html>`_ is the term used for the body of an HTTP
6
- message. The entity body of requests and responses is inherently a
7
- `PHP stream <http://php.net/manual/en/book.stream.php>`_ in Guzzle. The body of the request can be either a string or
8
- a PHP stream which are converted into a ``Guzzle\Http\EntityBody`` object using its factory method. When using a
9
- string, the entity body is stored in a `temp PHP stream <http://www.php.net/manual/en/wrappers.php.php>`_. The use of
10
- temp PHP streams helps to protect your application from running out of memory when sending or receiving large entity
11
- bodies in your messages. When more than 2MB of data is stored in a temp stream, it automatically stores the data on
12
- disk rather than in memory.
13
-
14
- EntityBody objects provide a great deal of functionality: compression, decompression, calculate the Content-MD5,
15
- calculate the Content-Length (when the resource is repeatable), guessing the Content-Type, and more. Guzzle doesn't
16
- need to load an entire entity body into a string when sending or retrieving data; entity bodies are streamed when
17
- being uploaded and downloaded.
18
-
19
- Here's an example of gzip compressing a text file then sending the file to a URL:
20
-
21
- .. code-block:: php
22
-
23
- use Guzzle\Http\EntityBody;
24
-
25
- $body = EntityBody::factory(fopen('/path/to/file.txt', 'r+'));
26
- echo $body->read(1024);
27
- $body->seek(0, SEEK_END);
28
- $body->write('foo');
29
- echo $body->ftell();
30
- $body->rewind();
31
-
32
- // Send a request using the body
33
- $response = $client->put('http://localhost:8080/uploads', null, $body)->send();
34
-
35
- The body of the request can be specified in the ``Client::put()`` or ``Client::post()`` method, or, you can specify
36
- the body of the request by calling the ``setBody()`` method of any
37
- ``Guzzle\Http\Message\EntityEnclosingRequestInterface`` object.
38
-
39
- Compression
40
- -----------
41
-
42
- You can compress the contents of an EntityBody object using the ``compress()`` method. The compress method accepts a
43
- filter that must match to one of the supported
44
- `PHP stream filters <http://www.php.net/manual/en/filters.compression.php>`_ on your system (e.g. `zlib.deflate`,
45
- ``bzip2.compress``, etc). Compressing an entity body will stream the entire entity body through a stream compression
46
- filter into a temporary PHP stream. You can uncompress an entity body using the ``uncompress()`` method and passing
47
- the PHP stream filter to use when decompressing the stream (e.g. ``zlib.inflate``).
48
-
49
- .. code-block:: php
50
-
51
- use Guzzle\Http\EntityBody;
52
-
53
- $body = EntityBody::factory(fopen('/tmp/test.txt', 'r+'));
54
- echo $body->getSize();
55
- // >>> 1048576
56
-
57
- // Compress using the default zlib.deflate filter
58
- $body->compress();
59
- echo $body->getSize();
60
- // >>> 314572
61
-
62
- // Decompress the stream
63
- $body->uncompress();
64
- echo $body->getSize();
65
- // >>> 1048576
66
-
67
- Decorators
68
- ----------
69
-
70
- Guzzle provides several EntityBody decorators that can be used to add functionality to an EntityBody at runtime.
71
-
72
- IoEmittingEntityBody
73
- ~~~~~~~~~~~~~~~~~~~~
74
-
75
- This decorator will emit events when data is read from a stream or written to a stream. Add an event subscriber to the
76
- entity body's ``body.read`` or ``body.write`` methods to receive notifications when data data is transferred.
77
-
78
- .. code-block:: php
79
-
80
- use Guzzle\Common\Event;
81
- use Guzzle\Http\EntityBody;
82
- use Guzzle\Http\IoEmittingEntityBody;
83
-
84
- $original = EntityBody::factory(fopen('/tmp/test.txt', 'r+'));
85
- $body = new IoEmittingEntityBody($original);
86
-
87
- // Listen for read events
88
- $body->getEventDispatcher()->addListener('body.read', function (Event $e) {
89
- // Grab data from the event
90
- $entityBody = $e['body'];
91
- // Amount of data retrieved from the body
92
- $lengthOfData = $e['length'];
93
- // The actual data that was read
94
- $data = $e['read'];
95
- });
96
-
97
- // Listen for write events
98
- $body->getEventDispatcher()->addListener('body.write', function (Event $e) {
99
- // Grab data from the event
100
- $entityBody = $e['body'];
101
- // The data that was written
102
- $data = $e['write'];
103
- // The actual amount of data that was written
104
- $data = $e['read'];
105
- });
106
-
107
- ReadLimitEntityBody
108
- ~~~~~~~~~~~~~~~~~~~
109
-
110
- The ReadLimitEntityBody decorator can be used to transfer a subset or slice of an existing EntityBody object. This can
111
- be useful for breaking a large file into smaller pieces to be sent in chunks (e.g. Amazon S3's multipart upload API).
112
-
113
- .. code-block:: php
114
-
115
- use Guzzle\Http\EntityBody;
116
- use Guzzle\Http\ReadLimitEntityBody;
117
-
118
- $original = EntityBody::factory(fopen('/tmp/test.txt', 'r+'));
119
- echo $original->getSize();
120
- // >>> 1048576
121
-
122
- // Limit the size of the body to 1024 bytes and start reading from byte 2048
123
- $body = new ReadLimitEntityBody($original, 1024, 2048);
124
- echo $body->getSize();
125
- // >>> 1024
126
- echo $body->ftell();
127
- // >>> 0
128
-
129
- CachingEntityBody
130
- ~~~~~~~~~~~~~~~~~
131
-
132
- The CachingEntityBody decorator is used to allow seeking over previously read bytes on non-seekable read streams. This
133
- can be useful when transferring a non-seekable entity body fails due to needing to rewind the stream (for example,
134
- resulting from a redirect). Data that is read from the remote stream will be buffered in a PHP temp stream so that
135
- previously read bytes are cached first in memory, then on disk.
136
-
137
- .. code-block:: php
138
-
139
- use Guzzle\Http\EntityBody;
140
- use Guzzle\Http\CachingEntityBody;
141
-
142
- $original = EntityBody::factory(fopen('http://www.google.com', 'r'));
143
- $body = new CachingEntityBody($original);
144
-
145
- $body->read(1024);
146
- echo $body->ftell();
147
- // >>> 1024
148
-
149
- $body->seek(0);
150
- echo $body->ftell();
151
- // >>> 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/http-client/http-redirects.rst DELETED
@@ -1,99 +0,0 @@
1
- ==============
2
- HTTP redirects
3
- ==============
4
-
5
- By default, Guzzle will automatically follow redirects using the non-RFC compliant implementation used by most web
6
- browsers. This means that redirects for POST requests are followed by a GET request. You can force RFC compliance by
7
- enabling the strict mode on a request's parameter object:
8
-
9
- .. code-block:: php
10
-
11
- // Set per request
12
- $request = $client->post();
13
- $request->getParams()->set('redirect.strict', true);
14
-
15
- // You can set globally on a client so all requests use strict redirects
16
- $client->getConfig()->set('request.params', array(
17
- 'redirect.strict' => true
18
- ));
19
-
20
- By default, Guzzle will redirect up to 5 times before throwing a ``Guzzle\Http\Exception\TooManyRedirectsException``.
21
- You can raise or lower this value using the ``redirect.max`` parameter of a request object:
22
-
23
- .. code-block:: php
24
-
25
- $request->getParams()->set('redirect.max', 2);
26
-
27
- Redirect history
28
- ----------------
29
-
30
- You can get the number of redirects of a request using the resulting response object's ``getRedirectCount()`` method.
31
- Similar to cURL's ``effective_url`` property, Guzzle provides the effective URL, or the last redirect URL that returned
32
- the request, in a response's ``getEffectiveUrl()`` method.
33
-
34
- When testing or debugging, it is often useful to see a history of redirects for a particular request. This can be
35
- achieved using the HistoryPlugin.
36
-
37
- .. code-block:: php
38
-
39
- $request = $client->get('/');
40
- $history = new Guzzle\Plugin\History\HistoryPlugin();
41
- $request->addSubscriber($history);
42
- $response = $request->send();
43
-
44
- // Get the last redirect URL or the URL of the request that received
45
- // this response
46
- echo $response->getEffectiveUrl();
47
-
48
- // Get the number of redirects
49
- echo $response->getRedirectCount();
50
-
51
- // Iterate over each sent request and response
52
- foreach ($history->getAll() as $transaction) {
53
- // Request object
54
- echo $transaction['request']->getUrl() . "\n";
55
- // Response object
56
- echo $transaction['response']->getEffectiveUrl() . "\n";
57
- }
58
-
59
- // Or, simply cast the HistoryPlugin to a string to view each request and response
60
- echo $history;
61
-
62
- Disabling redirects
63
- -------------------
64
-
65
- You can disable redirects on a client by passing a configuration option in the client's constructor:
66
-
67
- .. code-block:: php
68
-
69
- $client = new Client(null, array('redirect.disable' => true));
70
-
71
- You can also disable redirects per request:
72
-
73
- .. code-block:: php
74
-
75
- $request = $client->get($url, array(), array('allow_redirects' => false));
76
-
77
- Redirects and non-repeatable streams
78
- ------------------------------------
79
-
80
- If you are redirected when sending data from a non-repeatable stream and some of the data has been read off of the
81
- stream, then you will get a ``Guzzle\Http\Exception\CouldNotRewindStreamException``. You can get around this error by
82
- adding a custom rewind method to the entity body object being sent in the request.
83
-
84
- .. code-block:: php
85
-
86
- $request = $client->post(
87
- 'http://httpbin.com/redirect/2',
88
- null,
89
- fopen('http://httpbin.com/get', 'r')
90
- );
91
-
92
- // Add a custom function that can be used to rewind the stream
93
- // (reopen in this example)
94
- $request->getBody()->setRewindFunction(function ($body) {
95
- $body->setStream(fopen('http://httpbin.com/get', 'r'));
96
- return true;
97
- );
98
-
99
- $response = $client->send();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/http-client/request.rst DELETED
@@ -1,667 +0,0 @@
1
- =====================
2
- Using Request objects
3
- =====================
4
-
5
- HTTP request messages
6
- ---------------------
7
-
8
- Request objects are all about building an HTTP message. Each part of an HTTP request message can be set individually
9
- using methods on the request object or set in bulk using the ``setUrl()`` method. Here's the format of an HTTP request
10
- with each part of the request referencing the method used to change it::
11
-
12
- PUT(a) /path(b)?query=123(c) HTTP/1.1(d)
13
- X-Header(e): header
14
- Content-Length(e): 4
15
-
16
- data(f)
17
-
18
- +-------------------------+---------------------------------------------------------------------------------+
19
- | a. **Method** | The request method can only be set when instantiating a request |
20
- +-------------------------+---------------------------------------------------------------------------------+
21
- | b. **Path** | ``$request->setPath('/path');`` |
22
- +-------------------------+---------------------------------------------------------------------------------+
23
- | c. **Query** | ``$request->getQuery()->set('query', '123');`` |
24
- +-------------------------+---------------------------------------------------------------------------------+
25
- | d. **Protocol version** | ``$request->setProtocolVersion('1.1');`` |
26
- +-------------------------+---------------------------------------------------------------------------------+
27
- | e. **Header** | ``$request->setHeader('X-Header', 'header');`` |
28
- +-------------------------+---------------------------------------------------------------------------------+
29
- | f. **Entity Body** | ``$request->setBody('data'); // Only available with PUT, POST, PATCH, DELETE`` |
30
- +-------------------------+---------------------------------------------------------------------------------+
31
-
32
- Creating requests with a client
33
- -------------------------------
34
-
35
- Client objects are responsible for creating HTTP request objects.
36
-
37
- GET requests
38
- ~~~~~~~~~~~~
39
-
40
- `GET requests <http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3>`_ are the most common form of HTTP
41
- requests. When you visit a website in your browser, the HTML of the website is downloaded using a GET request. GET
42
- requests are idempotent requests that are typically used to download content (an entity) identified by a request URL.
43
-
44
- .. code-block:: php
45
-
46
- use Guzzle\Http\Client;
47
-
48
- $client = new Client();
49
-
50
- // Create a request that has a query string and an X-Foo header
51
- $request = $client->get('http://www.amazon.com?a=1', array('X-Foo' => 'Bar'));
52
-
53
- // Send the request and get the response
54
- $response = $request->send();
55
-
56
- You can change where the body of a response is downloaded on any request using the
57
- ``$request->setResponseBody(string|EntityBodyInterface|resource)`` method of a request. You can also set the ``save_to``
58
- option of a request:
59
-
60
- .. code-block:: php
61
-
62
- // Send the response body to a file
63
- $request = $client->get('http://test.com', array(), array('save_to' => '/path/to/file'));
64
-
65
- // Send the response body to an fopen resource
66
- $request = $client->get('http://test.com', array(), array('save_to' => fopen('/path/to/file', 'w')));
67
-
68
- HEAD requests
69
- ~~~~~~~~~~~~~
70
-
71
- `HEAD requests <http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4>`_ work exactly like GET requests except
72
- that they do not actually download the response body (entity) of the response message. HEAD requests are useful for
73
- retrieving meta information about an entity identified by a Request-URI.
74
-
75
- .. code-block:: php
76
-
77
- $client = new Guzzle\Http\Client();
78
- $request = $client->head('http://www.amazon.com');
79
- $response = $request->send();
80
- echo $response->getContentLength();
81
- // >>> Will output the Content-Length header value
82
-
83
- DELETE requests
84
- ~~~~~~~~~~~~~~~
85
-
86
- A `DELETE method <http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.7>`_ requests that the origin server
87
- delete the resource identified by the Request-URI.
88
-
89
- .. code-block:: php
90
-
91
- $client = new Guzzle\Http\Client();
92
- $request = $client->delete('http://example.com');
93
- $response = $request->send();
94
-
95
- POST requests
96
- ~~~~~~~~~~~~~
97
-
98
- While `POST requests <http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5>`_ can be used for a number of
99
- reasons, POST requests are often used when submitting HTML form data to a website. POST requests can include an entity
100
- body in the HTTP request.
101
-
102
- POST requests in Guzzle are sent with an ``application/x-www-form-urlencoded`` Content-Type header if POST fields are
103
- present but no files are being sent in the POST. If files are specified in the POST request, then the Content-Type
104
- header will become ``multipart/form-data``.
105
-
106
- The ``post()`` method of a client object accepts four arguments: the URL, optional headers, post fields, and an array of
107
- request options. To send files in the POST request, prepend the ``@`` symbol to the array value (just like you would if
108
- you were using the PHP ``curl_setopt`` function).
109
-
110
- Here's how to create a multipart/form-data POST request containing files and fields:
111
-
112
- .. code-block:: php
113
-
114
- $request = $client->post('http://httpbin.org/post', array(), array(
115
- 'custom_field' => 'my custom value',
116
- 'file_field' => '@/path/to/file.xml'
117
- ));
118
-
119
- $response = $request->send();
120
-
121
- .. note::
122
-
123
- Remember to **always** sanitize user input when sending POST requests:
124
-
125
- .. code-block:: php
126
-
127
- // Prevent users from accessing sensitive files by sanitizing input
128
- $_POST = array('firstname' => '@/etc/passwd');
129
- $request = $client->post('http://www.example.com', array(), array (
130
- 'firstname' => str_replace('@', '', $_POST['firstname'])
131
- ));
132
-
133
- You can alternatively build up the contents of a POST request.
134
-
135
- .. code-block:: php
136
-
137
- $request = $client->post('http://httpbin.org/post')
138
- ->setPostField('custom_field', 'my custom value')
139
- ->addPostFile('file', '/path/to/file.xml');
140
-
141
- $response = $request->send();
142
-
143
- Raw POST data
144
- ^^^^^^^^^^^^^
145
-
146
- POST requests can also contain raw POST data that is not related to HTML forms.
147
-
148
- .. code-block:: php
149
-
150
- $request = $client->post('http://httpbin.org/post', array(), 'this is the body');
151
- $response = $request->send();
152
-
153
- You can set the body of POST request using the ``setBody()`` method of the
154
- ``Guzzle\Http\Message\EntityEnclosingRequest`` object. This method accepts a string, a resource returned from
155
- ``fopen``, or a ``Guzzle\Http\EntityBodyInterface`` object.
156
-
157
- .. code-block:: php
158
-
159
- $request = $client->post('http://httpbin.org/post');
160
- // Set the body of the POST to stream the contents of /path/to/large_body.txt
161
- $request->setBody(fopen('/path/to/large_body.txt', 'r'));
162
- $response = $request->send();
163
-
164
- PUT requests
165
- ~~~~~~~~~~~~
166
-
167
- The `PUT method <http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6>`_ requests that the enclosed entity be
168
- stored under the supplied Request-URI. PUT requests are similar to POST requests in that they both can send an entity
169
- body in the request message.
170
-
171
- The body of a PUT request (any any ``Guzzle\Http\Message\EntityEnclosingRequestInterface`` object) is always stored as
172
- a ``Guzzle\Http\Message\EntityBodyInterface`` object. This allows a great deal of flexibility when sending data to a
173
- remote server. For example, you can stream the contents of a stream returned by fopen, stream the contents of a
174
- callback function, or simply send a string of data.
175
-
176
- .. code-block:: php
177
-
178
- $request = $client->put('http://httpbin.org/put', array(), 'this is the body');
179
- $response = $request->send();
180
-
181
- Just like with POST, PATH, and DELETE requests, you can set the body of a PUT request using the ``setBody()`` method.
182
-
183
- .. code-block:: php
184
-
185
- $request = $client->put('http://httpbin.org/put');
186
- $request->setBody(fopen('/path/to/large_body.txt', 'r'));
187
- $response = $request->send();
188
-
189
- PATCH requests
190
- ~~~~~~~~~~~~~~
191
-
192
- `PATCH requests <http://tools.ietf.org/html/rfc5789>`_ are used to modify a resource.
193
-
194
- .. code-block:: php
195
-
196
- $request = $client->patch('http://httpbin.org', array(), 'this is the body');
197
- $response = $request->send();
198
-
199
- OPTIONS requests
200
- ~~~~~~~~~~~~~~~~
201
-
202
- The `OPTIONS method <http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.2>`_ represents a request for
203
- information about the communication options available on the request/response chain identified by the Request-URI.
204
-
205
- .. code-block:: php
206
-
207
- $request = $client->options('http://httpbin.org');
208
- $response = $request->send();
209
-
210
- // Check if the PUT method is supported by this resource
211
- var_export($response->isMethodAllows('PUT'));
212
-
213
- Custom requests
214
- ~~~~~~~~~~~~~~~
215
-
216
- You can create custom HTTP requests that use non-standard HTTP methods using the ``createRequest()`` method of a
217
- client object.
218
-
219
- .. code-block:: php
220
-
221
- $request = $client->createRequest('COPY', 'http://example.com/foo', array(
222
- 'Destination' => 'http://example.com/bar',
223
- 'Overwrite' => 'T'
224
- ));
225
- $response = $request->send();
226
-
227
- Query string parameters
228
- -----------------------
229
-
230
- Query string parameters of a request are owned by a request's ``Guzzle\Http\Query`` object that is accessible by
231
- calling ``$request->getQuery()``. The Query class extends from ``Guzzle\Common\Collection`` and allows you to set one
232
- or more query string parameters as key value pairs. You can set a parameter on a Query object using the
233
- ``set($key, $value)`` method or access the query string object like an associative array. Any previously specified
234
- value for a key will be overwritten when using ``set()``. Use ``add($key, $value)`` to add a value to query string
235
- object, and in the event of a collision with an existing value at a specific key, the value will be converted to an
236
- array that contains all of the previously set values.
237
-
238
- .. code-block:: php
239
-
240
- $request = new Guzzle\Http\Message\Request('GET', 'http://www.example.com?foo=bar&abc=123');
241
-
242
- $query = $request->getQuery();
243
- echo "{$query}\n";
244
- // >>> foo=bar&abc=123
245
-
246
- $query->remove('abc');
247
- echo "{$query}\n";
248
- // >>> foo=bar
249
-
250
- $query->set('foo', 'baz');
251
- echo "{$query}\n";
252
- // >>> foo=baz
253
-
254
- $query->add('foo', 'bar');
255
- echo "{$query}\n";
256
- // >>> foo%5B0%5D=baz&foo%5B1%5D=bar
257
-
258
- Whoah! What happened there? When ``foo=bar`` was added to the existing ``foo=baz`` query string parameter, the
259
- aggregator associated with the Query object was used to help convert multi-value query string parameters into a string.
260
- Let's disable URL-encoding to better see what's happening.
261
-
262
- .. code-block:: php
263
-
264
- $query->useUrlEncoding(false);
265
- echo "{$query}\n";
266
- // >>> foo[0]=baz&foo[1]=bar
267
-
268
- .. note::
269
-
270
- URL encoding can be disabled by passing false, enabled by passing true, set to use RFC 1738 by passing
271
- ``Query::FORM_URLENCODED`` (internally uses PHP's ``urlencode`` function), or set to RFC 3986 by passing
272
- ``Query::RFC_3986`` (this is the default and internally uses PHP's ``rawurlencode`` function).
273
-
274
- As you can see, the multiple values were converted into query string parameters following the default PHP convention of
275
- adding numerically indexed square bracket suffixes to each key (``foo[0]=baz&foo[1]=bar``). The strategy used to convert
276
- multi-value parameters into a string can be customized using the ``setAggregator()`` method of the Query class. Guzzle
277
- ships with the following query string aggregators by default:
278
-
279
- 1. ``Guzzle\Http\QueryAggregator\PhpAggregator``: Aggregates using PHP style brackets (e.g. ``foo[0]=baz&foo[1]=bar``)
280
- 2. ``Guzzle\Http\QueryAggregator\DuplicateAggregator``: Performs no aggregation and allows for key value pairs to be
281
- repeated in a URL (e.g. ``foo=baz&foo=bar``)
282
- 3. ``Guzzle\Http\QueryAggregator\CommaAggregator``: Aggregates using commas (e.g. ``foo=baz,bar``)
283
-
284
- .. _http-message-headers:
285
-
286
- HTTP Message Headers
287
- --------------------
288
-
289
- HTTP message headers are case insensitive, multiple occurrences of any header can be present in an HTTP message
290
- (whether it's valid or not), and some servers require specific casing of particular headers. Because of this, request
291
- and response headers are stored in ``Guzzle\Http\Message\Header`` objects. The Header object can be cast as a string,
292
- counted, or iterated to retrieve each value from the header. Casting a Header object to a string will return all of
293
- the header values concatenated together using a glue string (typically ", ").
294
-
295
- A request (and response) object have several methods that allow you to retrieve and modify headers.
296
-
297
- * ``getHeaders()``: Get all of the headers of a message as a ``Guzzle\Http\Message\Header\HeaderCollection`` object.
298
- * ``getHeader($header)``: Get a specific header from a message. If the header exists, you'll get a
299
- ``Guzzle\Http\Message\Header`` object. If the header does not exist, this methods returns ``null``.
300
- * ``hasHeader($header)``: Returns true or false based on if the message has a particular header.
301
- * ``setHeader($header, $value)``: Set a header value and overwrite any previously set value for this header.
302
- * ``addHeader($header, $value)``: Add a header with a particular name. If a previous value was already set by the same,
303
- then the header will contain multiple values.
304
- * ``removeHeader($header)``: Remove a header by name from the message.
305
-
306
- .. code-block:: php
307
-
308
- $request = new Request('GET', 'http://httpbin.com/cookies');
309
- // addHeader will set and append to any existing header values
310
- $request->addHeader('Foo', 'bar');
311
- $request->addHeader('foo', 'baz');
312
- // setHeader overwrites any existing values
313
- $request->setHeader('Test', '123');
314
-
315
- // Request headers can be cast as a string
316
- echo $request->getHeader('Foo');
317
- // >>> bar, baz
318
- echo $request->getHeader('Test');
319
- // >>> 123
320
-
321
- // You can count the number of headers of a particular case insensitive name
322
- echo count($request->getHeader('foO'));
323
- // >>> 2
324
-
325
- // You can iterate over Header objects
326
- foreach ($request->getHeader('foo') as $header) {
327
- echo $header . "\n";
328
- }
329
-
330
- // You can get all of the request headers as a Guzzle\Http\Message\Header\HeaderCollection object
331
- $headers = $request->getHeaders();
332
-
333
- // Missing headers return NULL
334
- var_export($request->getHeader('Missing'));
335
- // >>> null
336
-
337
- // You can see all of the different variations of a header by calling raw() on the Header
338
- var_export($request->getHeader('foo')->raw());
339
-
340
- Setting the body of a request
341
- -----------------------------
342
-
343
- Requests that can send a body (e.g. PUT, POST, DELETE, PATCH) are instances of
344
- ``Guzzle\Http\Message\EntityEnclosingRequestInterface``. Entity enclosing requests contain several methods that allow
345
- you to specify the body to send with a request.
346
-
347
- Use the ``setBody()`` method of a request to set the body that will be sent with a request. This method accepts a
348
- string, a resource returned by ``fopen()``, an array, or an instance of ``Guzzle\Http\EntityBodyInterface``. The body
349
- will then be streamed from the underlying ``EntityBodyInterface`` object owned by the request. When setting the body
350
- of the request, you can optionally specify a Content-Type header and whether or not to force the request to use
351
- chunked Transfer-Encoding.
352
-
353
- .. code-block:: php
354
-
355
- $request = $client->put('/user.json');
356
- $request->setBody('{"foo":"baz"}', 'application/json');
357
-
358
- Content-Type header
359
- ~~~~~~~~~~~~~~~~~~~
360
-
361
- Guzzle will automatically add a Content-Type header to a request if the Content-Type can be guessed based on the file
362
- extension of the payload being sent or the file extension present in the path of a request.
363
-
364
- .. code-block:: php
365
-
366
- $request = $client->put('/user.json', array(), '{"foo":"bar"}');
367
- // The Content-Type was guessed based on the path of the request
368
- echo $request->getHeader('Content-Type');
369
- // >>> application/json
370
-
371
- $request = $client->put('/user.json');
372
- $request->setBody(fopen('/tmp/user_data.json', 'r'));
373
- // The Content-Type was guessed based on the path of the entity body
374
- echo $request->getHeader('Content-Type');
375
- // >>> application/json
376
-
377
- Transfer-Encoding: chunked header
378
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
379
-
380
- When sending HTTP requests that contain a payload, you must let the remote server know how to determine when the entire
381
- message has been sent. This usually is done by supplying a ``Content-Length`` header that tells the origin server the
382
- size of the body that is to be sent. In some cases, the size of the payload being sent in a request cannot be known
383
- before initiating the transfer. In these cases (when using HTTP/1.1), you can use the ``Transfer-Encoding: chunked``
384
- header.
385
-
386
- If the Content-Length cannot be determined (i.e. using a PHP ``http://`` stream), then Guzzle will automatically add
387
- the ``Transfer-Encoding: chunked`` header to the request.
388
-
389
- .. code-block:: php
390
-
391
- $request = $client->put('/user.json');
392
- $request->setBody(fopen('http://httpbin.org/get', 'r'));
393
-
394
- // The Content-Length could not be determined
395
- echo $request->getHeader('Transfer-Encoding');
396
- // >>> chunked
397
-
398
- See :doc:`/http-client/entity-bodies` for more information on entity bodies.
399
-
400
- Expect: 100-Continue header
401
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
402
-
403
- The ``Expect: 100-Continue`` header is used to help a client prevent sending a large payload to a server that will
404
- reject the request. This allows clients to fail fast rather than waste bandwidth sending an erroneous payload. Guzzle
405
- will automatically add the ``Expect: 100-Continue`` header to a request when the size of the payload exceeds 1MB or if
406
- the body of the request is not seekable (this helps to prevent errors when a non-seekable body request is redirected).
407
-
408
- .. note::
409
-
410
- If you find that your larger requests are taking too long to complete, you should first check if the
411
- ``Expect: 100-Continue`` header is being sent with the request. Some servers do not respond well to this header,
412
- which causes cURL to sleep for `1 second <http://curl.haxx.se/mail/lib-2010-01/0182.html>`_.
413
-
414
- POST fields and files
415
- ~~~~~~~~~~~~~~~~~~~~~
416
-
417
- Any entity enclosing request can send POST style fields and files. This includes POST, PUT, PATCH, and DELETE requests.
418
- Any request that has set POST fields or files will use cURL's POST message functionality.
419
-
420
- .. code-block:: php
421
-
422
- $request = $client->post('/post');
423
- // Set an overwrite any previously specified value
424
- $request->setPostField('foo', 'bar');
425
- // Append a value to any existing values
426
- $request->getPostFields()->add('foo', 'baz');
427
- // Remove a POST field by name
428
- $request->removePostField('fizz');
429
-
430
- // Add a file to upload (forces multipart/form-data)
431
- $request->addPostFile('my_file', '/path/to/file', 'plain/text');
432
- // Remove a POST file by POST key name
433
- $request->removePostFile('my_other_file');
434
-
435
- .. tip::
436
-
437
- Adding a large number of POST fields to a POST request is faster if you use the ``addPostFields()`` method so that
438
- you can add and process multiple fields with a single call. Adding multiple POST files is also faster using
439
- ``addPostFiles()``.
440
-
441
- Working with cookies
442
- --------------------
443
-
444
- Cookies can be modified and retrieved from a request using the following methods:
445
-
446
- .. code-block:: php
447
-
448
- $request->addCookie($name, $value);
449
- $request->removeCookie($name);
450
- $value = $request->getCookie($name);
451
- $valueArray = $request->getCookies();
452
-
453
- Use the :doc:`cookie plugin </plugins/cookie-plugin>` if you need to reuse cookies between requests.
454
-
455
- .. _request-set-response-body:
456
-
457
- Changing where a response is downloaded
458
- ----------------------------------------
459
-
460
- When a request is sent, the body of the response will be stored in a PHP temp stream by default. You can change the
461
- location in which the response will be downloaded using ``$request->setResponseBody($body)`` or the ``save_to`` request
462
- option. This can be useful for downloading the contents of a URL to a specific file.
463
-
464
- Here's an example of using request options:
465
-
466
- .. code-block:: php
467
-
468
- $request = $this->client->get('http://example.com/large.mov', array(), array(
469
- 'save_to' => '/tmp/large_file.mov'
470
- ));
471
- $request->send();
472
- var_export(file_exists('/tmp/large_file.mov'));
473
- // >>> true
474
-
475
- Here's an example of using ``setResponseBody()``:
476
-
477
- .. code-block:: php
478
-
479
- $body = fopen('/tmp/large_file.mov', 'w');
480
- $request = $this->client->get('http://example.com/large.mov');
481
- $request->setResponseBody($body);
482
-
483
- // You can more easily specify the name of a file to save the contents
484
- // of the response to by passing a string to ``setResponseBody()``.
485
-
486
- $request = $this->client->get('http://example.com/large.mov');
487
- $request->setResponseBody('/tmp/large_file.mov');
488
-
489
- Custom cURL options
490
- -------------------
491
-
492
- Most of the functionality implemented in the libcurl bindings has been simplified and abstracted by Guzzle. Developers
493
- who need access to `cURL specific functionality <http://www.php.net/curl_setopt>`_ can still add cURL handle
494
- specific behavior to Guzzle HTTP requests by modifying the cURL options collection of a request:
495
-
496
- .. code-block:: php
497
-
498
- $request->getCurlOptions()->set(CURLOPT_LOW_SPEED_LIMIT, 200);
499
-
500
- Other special options that can be set in the ``curl.options`` array include:
501
-
502
- +-------------------------+---------------------------------------------------------------------------------+
503
- | debug | Adds verbose cURL output to a temp stream owned by the cURL handle object |
504
- +-------------------------+---------------------------------------------------------------------------------+
505
- | progress | Instructs cURL to emit events when IO events occur. This allows you to be |
506
- | | notified when bytes are transferred over the wire by subscribing to a request's |
507
- | | ``curl.callback.read``, ``curl.callback.write``, and ``curl.callback.progress`` |
508
- | | events. |
509
- +-------------------------+---------------------------------------------------------------------------------+
510
-
511
- Request options
512
- ---------------
513
-
514
- Requests options can be specified when creating a request or in the ``request.options`` parameter of a client. These
515
- options can control various aspects of a request including: headers to send, query string data, where the response
516
- should be downloaded, proxies, auth, etc.
517
-
518
- .. code-block:: php
519
-
520
- $request = $client->get($url, $headers, array('proxy' => 'http://proxy.com'));
521
-
522
- See :ref:`Request options <request-options>` for more information.
523
-
524
- Working with errors
525
- -------------------
526
-
527
- HTTP errors
528
- ~~~~~~~~~~~
529
-
530
- Requests that receive a 4xx or 5xx response will throw a ``Guzzle\Http\Exception\BadResponseException``. More
531
- specifically, 4xx errors throw a ``Guzzle\Http\Exception\ClientErrorResponseException``, and 5xx errors throw a
532
- ``Guzzle\Http\Exception\ServerErrorResponseException``. You can catch the specific exceptions or just catch the
533
- BadResponseException to deal with either type of error. Here's an example of catching a generic BadResponseException:
534
-
535
- .. code-block:: php
536
-
537
- try {
538
- $response = $client->get('/not_found.xml')->send();
539
- } catch (Guzzle\Http\Exception\BadResponseException $e) {
540
- echo 'Uh oh! ' . $e->getMessage();
541
- echo 'HTTP request URL: ' . $e->getRequest()->getUrl() . "\n";
542
- echo 'HTTP request: ' . $e->getRequest() . "\n";
543
- echo 'HTTP response status: ' . $e->getResponse()->getStatusCode() . "\n";
544
- echo 'HTTP response: ' . $e->getResponse() . "\n";
545
- }
546
-
547
- Throwing an exception when a 4xx or 5xx response is encountered is the default behavior of Guzzle requests. This
548
- behavior can be overridden by adding an event listener with a higher priority than -255 that stops event propagation.
549
- You can subscribe to ``request.error`` to receive notifications any time an unsuccessful response is received.
550
-
551
- You can change the response that will be associated with the request by calling ``setResponse()`` on the
552
- ``$event['request']`` object passed into your listener, or by changing the ``$event['response']`` value of the
553
- ``Guzzle\Common\Event`` object that is passed to your listener. Transparently changing the response associated with a
554
- request by modifying the event allows you to retry failed requests without complicating the code that uses the client.
555
- This might be useful for sending requests to a web service that has expiring auth tokens. When a response shows that
556
- your token has expired, you can get a new token, retry the request with the new token, and return the successful
557
- response to the user.
558
-
559
- Here's an example of retrying a request using updated authorization credentials when a 401 response is received,
560
- overriding the response of the original request with the new response, and still allowing the default exception
561
- behavior to be called when other non-200 response status codes are encountered:
562
-
563
- .. code-block:: php
564
-
565
- // Add custom error handling to any request created by this client
566
- $client->getEventDispatcher()->addListener('request.error', function(Event $event) {
567
-
568
- if ($event['response']->getStatusCode() == 401) {
569
-
570
- $newRequest = $event['request']->clone();
571
- $newRequest->setHeader('X-Auth-Header', MyApplication::getNewAuthToken());
572
- $newResponse = $newRequest->send();
573
-
574
- // Set the response object of the request without firing more events
575
- $event['response'] = $newResponse;
576
-
577
- // You can also change the response and fire the normal chain of
578
- // events by calling $event['request']->setResponse($newResponse);
579
-
580
- // Stop other events from firing when you override 401 responses
581
- $event->stopPropagation();
582
- }
583
-
584
- });
585
-
586
- cURL errors
587
- ~~~~~~~~~~~
588
-
589
- Connection problems and cURL specific errors can also occur when transferring requests using Guzzle. When Guzzle
590
- encounters cURL specific errors while transferring a single request, a ``Guzzle\Http\Exception\CurlException`` is
591
- thrown with an informative error message and access to the cURL error message.
592
-
593
- A ``Guzzle\Http\Exception\MultiTransferException`` exception is thrown when a cURL specific error occurs while
594
- transferring multiple requests in parallel. You can then iterate over all of the exceptions encountered during the
595
- transfer.
596
-
597
- Plugins and events
598
- ------------------
599
-
600
- Guzzle request objects expose various events that allow you to hook in custom logic. A request object owns a
601
- ``Symfony\Component\EventDispatcher\EventDispatcher`` object that can be accessed by calling
602
- ``$request->getEventDispatcher()``. You can use the event dispatcher to add listeners (a simple callback function) or
603
- event subscribers (classes that listen to specific events of a dispatcher). You can add event subscribers to a request
604
- directly by just calling ``$request->addSubscriber($mySubscriber);``.
605
-
606
- .. _request-events:
607
-
608
- Events emitted from a request
609
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
610
-
611
- A ``Guzzle\Http\Message\Request`` and ``Guzzle\Http\Message\EntityEnclosingRequest`` object emit the following events:
612
-
613
- +------------------------------+--------------------------------------------+------------------------------------------+
614
- | Event name | Description | Event data |
615
- +==============================+============================================+==========================================+
616
- | request.before_send | About to send request | * request: Request to be sent |
617
- +------------------------------+--------------------------------------------+------------------------------------------+
618
- | request.sent | Sent the request | * request: Request that was sent |
619
- | | | * response: Received response |
620
- +------------------------------+--------------------------------------------+------------------------------------------+
621
- | request.complete | Completed a full HTTP transaction | * request: Request that was sent |
622
- | | | * response: Received response |
623
- +------------------------------+--------------------------------------------+------------------------------------------+
624
- | request.success | Completed a successful request | * request: Request that was sent |
625
- | | | * response: Received response |
626
- +------------------------------+--------------------------------------------+------------------------------------------+
627
- | request.error | Completed an unsuccessful request | * request: Request that was sent |
628
- | | | * response: Received response |
629
- +------------------------------+--------------------------------------------+------------------------------------------+
630
- | request.exception | An unsuccessful response was | * request: Request |
631
- | | received. | * response: Received response |
632
- | | | * exception: BadResponseException |
633
- +------------------------------+--------------------------------------------+------------------------------------------+
634
- | request.receive.status_line | Received the start of a response | * line: Full response start line |
635
- | | | * status_code: Status code |
636
- | | | * reason_phrase: Reason phrase |
637
- | | | * previous_response: (e.g. redirect) |
638
- +------------------------------+--------------------------------------------+------------------------------------------+
639
- | curl.callback.progress | cURL progress event (only dispatched when | * handle: CurlHandle |
640
- | | ``emit_io`` is set on a request's curl | * download_size: Total download size |
641
- | | options) | * downloaded: Bytes downloaded |
642
- | | | * upload_size: Total upload bytes |
643
- | | | * uploaded: Bytes uploaded |
644
- +------------------------------+--------------------------------------------+------------------------------------------+
645
- | curl.callback.write | cURL event called when data is written to | * request: Request |
646
- | | an outgoing stream | * write: Data being written |
647
- +------------------------------+--------------------------------------------+------------------------------------------+
648
- | curl.callback.read | cURL event called when data is written to | * request: Request |
649
- | | an incoming stream | * read: Data being read |
650
- +------------------------------+--------------------------------------------+------------------------------------------+
651
-
652
- Creating a request event listener
653
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
654
-
655
- Here's an example that listens to the ``request.complete`` event of a request and prints the request and response.
656
-
657
- .. code-block:: php
658
-
659
- use Guzzle\Common\Event;
660
-
661
- $request = $client->get('http://www.google.com');
662
-
663
- // Echo out the response that was received
664
- $request->getEventDispatcher()->addListener('request.complete', function (Event $e) {
665
- echo $e['request'] . "\n\n";
666
- echo $e['response'];
667
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/http-client/response.rst DELETED
@@ -1,141 +0,0 @@
1
- ======================
2
- Using Response objects
3
- ======================
4
-
5
- Sending a request will return a ``Guzzle\Http\Message\Response`` object. You can view the raw HTTP response message by
6
- casting the Response object to a string. Casting the response to a string will return the entity body of the response
7
- as a string too, so this might be an expensive operation if the entity body is stored in a file or network stream. If
8
- you only want to see the response headers, you can call ``getRawHeaders()``.
9
-
10
- Response status line
11
- --------------------
12
-
13
- The different parts of a response's `status line <http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1>`_
14
- (the first line of the response HTTP message) are easily retrievable.
15
-
16
- .. code-block:: php
17
-
18
- $response = $client->get('http://www.amazon.com')->send();
19
-
20
- echo $response->getStatusCode(); // >>> 200
21
- echo $response->getReasonPhrase(); // >>> OK
22
- echo $response->getProtocol(); // >>> HTTP
23
- echo $response->getProtocolVersion(); // >>> 1.1
24
-
25
- You can determine the type of the response using several helper methods:
26
-
27
- .. code-block:: php
28
-
29
- $response->isSuccessful(); // true
30
- $response->isInformational();
31
- $response->isRedirect();
32
- $response->isClientError();
33
- $response->isServerError();
34
-
35
- Response headers
36
- ----------------
37
-
38
- The Response object contains helper methods for retrieving common response headers. These helper methods normalize the
39
- variations of HTTP response headers.
40
-
41
- .. code-block:: php
42
-
43
- $response->getCacheControl();
44
- $response->getContentType();
45
- $response->getContentLength();
46
- $response->getContentEncoding();
47
- $response->getContentMd5();
48
- $response->getEtag();
49
- // etc... There are methods for every known response header
50
-
51
- You can interact with the Response headers using the same exact methods used to interact with Request headers. See
52
- :ref:`http-message-headers` for more information.
53
-
54
- .. code-block:: php
55
-
56
- echo $response->getHeader('Content-Type');
57
- echo $response->getHeader('Content-Length');
58
- echo $response->getHeaders()['Content-Type']; // PHP 5.4
59
-
60
- Response body
61
- -------------
62
-
63
- The entity body object of a response can be retrieved by calling ``$response->getBody()``. The response EntityBody can
64
- be cast to a string, or you can pass ``true`` to this method to retrieve the body as a string.
65
-
66
- .. code-block:: php
67
-
68
- $request = $client->get('http://www.amazon.com');
69
- $response = $request->send();
70
- echo $response->getBody();
71
-
72
- See :doc:`/http-client/entity-bodies` for more information on entity bodies.
73
-
74
- JSON Responses
75
- ~~~~~~~~~~~~~~
76
-
77
- You can easily parse and use a JSON response as an array using the ``json()`` method of a response. This method will
78
- always return an array if the response is valid JSON or if the response body is empty. You will get an exception if you
79
- call this method and the response is not valid JSON.
80
-
81
- .. code-block:: php
82
-
83
- $data = $response->json();
84
- echo gettype($data);
85
- // >>> array
86
-
87
- XML Responses
88
- ~~~~~~~~~~~~~
89
-
90
- You can easily parse and use a XML response as SimpleXMLElement object using the ``xml()`` method of a response. This
91
- method will always return a SimpleXMLElement object if the response is valid XML or if the response body is empty. You
92
- will get an exception if you call this method and the response is not valid XML.
93
-
94
- .. code-block:: php
95
-
96
- $xml = $response->xml();
97
- echo $xml->foo;
98
- // >>> Bar!
99
-
100
- Streaming responses
101
- -------------------
102
-
103
- Some web services provide streaming APIs that allow a client to keep a HTTP request open for an extended period of
104
- time while polling and reading. Guzzle provides a simple way to convert HTTP request messages into
105
- ``Guzzle\Stream\Stream`` objects so that you can send the initial headers of a request, read the response headers, and
106
- pull in the response body manually as needed.
107
-
108
- Here's an example using the Twitter Streaming API to track the keyword "bieber":
109
-
110
- .. code-block:: php
111
-
112
- use Guzzle\Http\Client;
113
- use Guzzle\Stream\PhpStreamRequestFactory;
114
-
115
- $client = new Client('https://stream.twitter.com/1');
116
-
117
- $request = $client->post('statuses/filter.json', null, array(
118
- 'track' => 'bieber'
119
- ));
120
-
121
- $request->setAuth('myusername', 'mypassword');
122
-
123
- $factory = new PhpStreamRequestFactory();
124
- $stream = $factory->fromRequest($request);
125
-
126
- // Read until the stream is closed
127
- while (!$stream->feof()) {
128
- // Read a line from the stream
129
- $line = $stream->readLine();
130
- // JSON decode the line of data
131
- $data = json_decode($line, true);
132
- }
133
-
134
- You can use the ``stream`` request option when using a static client to more easily create a streaming response.
135
-
136
- .. code-block:: php
137
-
138
- $stream = Guzzle::get('http://guzzlephp.org', array('stream' => true));
139
- while (!$stream->feof()) {
140
- echo $stream->readLine();
141
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/http-client/uri-templates.rst DELETED
@@ -1,52 +0,0 @@
1
- =============
2
- URI templates
3
- =============
4
-
5
- The ``$uri`` passed to one of the client's request creational methods or the base URL of a client can utilize URI
6
- templates. Guzzle supports the entire `URI templates RFC <http://tools.ietf.org/html/rfc6570>`_. URI templates add a
7
- special syntax to URIs that replace template place holders with user defined variables.
8
-
9
- Every request created by a Guzzle HTTP client passes through a URI template so that URI template expressions are
10
- automatically expanded:
11
-
12
- .. code-block:: php
13
-
14
- $client = new Guzzle\Http\Client('https://example.com/', array('a' => 'hi'));
15
- $request = $client->get('/{a}');
16
-
17
- Because of URI template expansion, the URL of the above request will become ``https://example.com/hi``. Notice that
18
- the template was expanded using configuration variables of the client. You can pass in custom URI template variables
19
- by passing the URI of your request as an array where the first index of the array is the URI template and the second
20
- index of the array are template variables that are merged into the client's configuration variables.
21
-
22
- .. code-block:: php
23
-
24
- $request = $client->get(array('/test{?a,b}', array('b' => 'there')));
25
-
26
- The URL for this request will become ``https://test.com?a=hi&b=there``. URI templates aren't limited to just simple
27
- variable replacements; URI templates can provide an enormous amount of flexibility when creating request URIs.
28
-
29
- .. code-block:: php
30
-
31
- $request = $client->get(array('http://example.com{+path}{/segments*}{?query,data*}', array(
32
- 'path' => '/foo/bar',
33
- 'segments' => array('one', 'two'),
34
- 'query' => 'test',
35
- 'data' => array(
36
- 'more' => 'value'
37
- )
38
- )));
39
-
40
- The resulting URL would become ``http://example.com/foo/bar/one/two?query=test&more=value``.
41
-
42
- By default, URI template expressions are enclosed in an opening and closing brace (e.g. ``{var}``). If you are working
43
- with a web service that actually uses braces (e.g. Solr), then you can specify a custom regular expression to use to
44
- match URI template expressions.
45
-
46
- .. code-block:: php
47
-
48
- $client->getUriTemplate()->setRegex('/\<\$(.+)\>/');
49
- $client->get('/<$a>');
50
-
51
- You can learn about all of the different features of URI templates by reading the
52
- `URI templates RFC <http://tools.ietf.org/html/rfc6570>`_.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/index.rst DELETED
@@ -1,5 +0,0 @@
1
- .. title:: Guzzle | PHP HTTP client and framework for consuming RESTful web services
2
- .. toctree::
3
- :hidden:
4
-
5
- docs.rst
 
 
 
 
 
vendor/guzzle/guzzle/docs/iterators/guzzle-iterators.rst DELETED
@@ -1,97 +0,0 @@
1
- ================
2
- Guzzle iterators
3
- ================
4
-
5
- Guzzle provides several SPL iterators that can be used with other SPL iterators, including Guzzle resource iterators.
6
- Guzzle's ``guzzle/iterator`` component can also be used independently of the rest of Guzzle through Packagist and
7
- Composer: https://packagist.org/packages/guzzle/iterator
8
-
9
- ChunkedIterator
10
- ---------------
11
-
12
- Pulls out multiple values from an inner iterator and yields and array of values for each outer iteration -- essentially
13
- pulling out chunks of values from the inner iterator.
14
-
15
- .. code-block:: php
16
-
17
- use Guzzle\Iterator\ChunkedIterator;
18
-
19
- $inner = new ArrayIterator(range(0, 8));
20
- $chunkedIterator = new ChunkedIterator($inner, 2);
21
-
22
- foreach ($chunkedIterator as $chunk) {
23
- echo implode(', ', $chunk) . "\n";
24
- }
25
-
26
- // >>> 0, 1
27
- // >>> 2, 3
28
- // >>> 4, 5
29
- // >>> 6, 7
30
- // >>> 8
31
-
32
- FilterIterator
33
- --------------
34
-
35
- This iterator is used to filter values out of the inner iterator. This iterator can be used when PHP 5.4's
36
- CallbackFilterIterator is not available.
37
-
38
- .. code-block:: php
39
-
40
- use Guzzle\Iterator\FilterIterator;
41
-
42
- $inner = new ArrayIterator(range(1, 10));
43
- $filterIterator = new FilterIterator($inner, function ($value) {
44
- return $value % 2;
45
- });
46
-
47
- foreach ($filterIterator as $value) {
48
- echo $value . "\n";
49
- }
50
-
51
- // >>> 2
52
- // >>> 4
53
- // >>> 6
54
- // >>> 8
55
- // >>> 10
56
-
57
- MapIterator
58
- -----------
59
-
60
- This iterator modifies the values of the inner iterator before yielding.
61
-
62
- .. code-block:: php
63
-
64
- use Guzzle\Iterator\MapIterator;
65
-
66
- $inner = new ArrayIterator(range(0, 3));
67
-
68
- $mapIterator = new MapIterator($inner, function ($value) {
69
- return $value * 10;
70
- });
71
-
72
- foreach ($mapIterator as $value) {
73
- echo $value . "\n";
74
- }
75
-
76
- // >>> 0
77
- // >>> 10
78
- // >>> 20
79
- // >>> 30
80
-
81
- MethodProxyIterator
82
- -------------------
83
-
84
- This decorator is useful when you need to expose a specific method from an inner iterator that might be wrapper
85
- by one or more iterator decorators. This decorator proxies missing method calls to each inner iterator until one
86
- of the inner iterators can fulfill the call.
87
-
88
- .. code-block:: php
89
-
90
- use Guzzle\Iterator\MethodProxyIterator;
91
-
92
- $inner = new \ArrayIterator();
93
- $proxy = new MethodProxyIterator($inner);
94
-
95
- // Proxy method calls to the ArrayIterator
96
- $proxy->append('a');
97
- $proxy->append('b');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/iterators/resource-iterators.rst DELETED
@@ -1,149 +0,0 @@
1
- ==================
2
- Resource iterators
3
- ==================
4
-
5
- Web services often implement pagination in their responses which requires the end-user to issue a series of consecutive
6
- requests in order to fetch all of the data they asked for. Users of your web service client should not be responsible
7
- for implementing the logic involved in iterating through pages of results. Guzzle provides a simple resource iterator
8
- foundation to make it easier on web service client developers to offer a useful abstraction layer.
9
-
10
- Getting an iterator from a client
11
- ---------------------------------
12
-
13
- ResourceIteratorInterface Guzzle\Service\Client::getIterator($command [, array $commandOptions, array $iteratorOptions ])
14
-
15
- The ``getIterator`` method of a ``Guzzle\Service\ClientInterface`` object provides a convenient interface for
16
- instantiating a resource iterator for a specific command. This method implicitly uses a
17
- ``Guzzle\Service\Resource\ResourceIteratorFactoryInterface`` object to create resource iterators. Pass an
18
- instantiated command object or the name of a command in the first argument. When passing the name of a command, the
19
- command factory of the client will create the command by name using the ``$commandOptions`` array. The third argument
20
- may be used to pass an array of options to the constructor of the instantiated ``ResourceIteratorInterface`` object.
21
-
22
- .. code-block:: php
23
-
24
- $iterator = $client->getIterator('get_users');
25
-
26
- foreach ($iterator as $user) {
27
- echo $user['name'] . ' age ' . $user['age'] . PHP_EOL;
28
- }
29
-
30
- The above code sample might execute a single request or a thousand requests. As a consumer of a web service, I don't
31
- care. I just want to iterate over all of the users.
32
-
33
- Iterator options
34
- ~~~~~~~~~~~~~~~~
35
-
36
- The two universal options that iterators should support are ``limit`` and ``page_size``. Using the ``limit`` option
37
- tells the resource iterator to attempt to limit the total number of iterated resources to a specific amount. Keep in
38
- mind that this is not always possible due to limitations that may be inherent to a web service. The ``page_size``
39
- option is used to tell a resource iterator how many resources to request per page of results. Much like the ``limit``
40
- option, you can not rely on getting back exactly the number of resources your specify in the ``page_size`` option.
41
-
42
- .. note::
43
-
44
- The ``limit`` and ``page_size`` options can also be specified on an iterator using the ``setLimit($limit)`` and
45
- ``setPageSize($pageSize)`` methods.
46
-
47
- Resolving iterator class names
48
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
-
50
- The default resource iterator factory of a client object expects that your iterators are stored under the ``Model``
51
- folder of your client and that an iterator is names after the CamelCase name of a command followed by the word
52
- "Iterator". For example, if you wanted to create an iterator for the ``get_users`` command, then your iterator class
53
- would be ``Model\GetUsersIterator`` and would be stored in ``Model/GetUsersIterator.php``.
54
-
55
- Creating an iterator
56
- --------------------
57
-
58
- While not required, resource iterators in Guzzle typically iterate using a ``Guzzle\Service\Command\CommandInterface``
59
- object. ``Guzzle\Service\Resource\ResourceIterator``, the default iterator implementation that you should extend,
60
- accepts a command object and array of iterator options in its constructor. The command object passed to the resource
61
- iterator is expected to be ready to execute and not previously executed. The resource iterator keeps a reference of
62
- this command and clones the original command each time a subsequent request needs to be made to fetch more data.
63
-
64
- Implement the sendRequest method
65
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66
-
67
- The most important thing (and usually the only thing) you need to do when creating a resource iterator is to implement
68
- the ``sendRequest()`` method of the resource iterator. The ``sendRequest()`` method is called when you begin
69
- iterating or if there are no resources left to iterate and it you expect to retrieve more resources by making a
70
- subsequent request. The ``$this->command`` property of the resource iterator is updated with a cloned copy of the
71
- original command object passed into the constructor of the iterator. Use this command object to issue your subsequent
72
- requests.
73
-
74
- The ``sendRequest()`` method must return an array of the resources you retrieved from making the subsequent call.
75
- Returning an empty array will stop the iteration. If you suspect that your web service client will occasionally return
76
- an empty result set but still requires further iteration, then you must implement a sort of loop in your
77
- ``sendRequest()`` method that will continue to issue subsequent requests until your reach the end of the paginated
78
- result set or until additional resources are retrieved from the web service.
79
-
80
- Update the nextToken property
81
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82
-
83
- Beyond fetching more results, the ``sendRequest()`` method is responsible for updating the ``$this->nextToken``
84
- property of the iterator. Setting this property to anything other than null tells the iterator that issuing a
85
- subsequent request using the nextToken value will probably return more results. You must continually update this
86
- value in your ``sendRequest()`` method as each response is received from the web service.
87
-
88
- Example iterator
89
- ----------------
90
-
91
- Let's say you want to implement a resource iterator for the ``get_users`` command of your web service. The
92
- ``get_users`` command receives a response that contains a list of users, and if there are more pages of results to
93
- retrieve, returns a value called ``next_user``. This return value is known as the **next token** and should be used to
94
- issue subsequent requests.
95
-
96
- Assume the response to a ``get_users`` command returns JSON data that looks like this:
97
-
98
- .. code-block:: javascript
99
-
100
- {
101
- "users": [
102
- { "name": "Craig Johnson", "age": 10 },
103
- { "name": "Tom Barker", "age": 20 },
104
- { "name": "Bob Mitchell", "age": 74 }
105
- ],
106
- "next_user": "Michael Dowling"
107
- }
108
-
109
- Assume that because there is a ``next_user`` value, there will be more users if a subsequent request is issued. If the
110
- ``next_user`` value is missing or null, then we know there are no more results to fetch. Let's implement a resource
111
- iterator for this command.
112
-
113
- .. code-block:: php
114
-
115
- namespace MyService\Model;
116
-
117
- use Guzzle\Service\Resource\ResourceIterator;
118
-
119
- /**
120
- * Iterate over a get_users command
121
- */
122
- class GetUsersIterator extends ResourceIterator
123
- {
124
- protected function sendRequest()
125
- {
126
- // If a next token is set, then add it to the command
127
- if ($this->nextToken) {
128
- $this->command->set('next_user', $this->nextToken);
129
- }
130
-
131
- // Execute the command and parse the result
132
- $result = $this->command->execute();
133
-
134
- // Parse the next token
135
- $this->nextToken = isset($result['next_user']) ? $result['next_user'] : false;
136
-
137
- return $result['users'];
138
- }
139
- }
140
-
141
- As you can see, it's pretty simple to implement an iterator. There are a few things that you should notice from this
142
- example:
143
-
144
- 1. You do not need to create a new command in the ``sendRequest()`` method. A new command object is cloned from the
145
- original command passed into the constructor of the iterator before the ``sendRequest()`` method is called.
146
- Remember that the resource iterator expects a command that has not been executed.
147
- 2. When the ``sendRequest()`` method is first called, you will not have a ``$this->nextToken`` value, so always check
148
- before setting it on a command. Notice that the next token is being updated each time a request is sent.
149
- 3. After fetching more resources from the service, always return an array of resources.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/async-plugin.rst DELETED
@@ -1,18 +0,0 @@
1
- ============
2
- Async plugin
3
- ============
4
-
5
- The AsyncPlugin allows you to send requests that do not wait on a response. This is handled through cURL by utilizing
6
- the progress event. When a request has sent all of its data to the remote server, Guzzle adds a 1ms timeout on the
7
- request and instructs cURL to not download the body of the response. The async plugin then catches the exception and
8
- adds a mock response to the request, along with an X-Guzzle-Async header to let you know that the response was not
9
- fully downloaded.
10
-
11
- .. code-block:: php
12
-
13
- use Guzzle\Http\Client;
14
- use Guzzle\Plugin\Async\AsyncPlugin;
15
-
16
- $client = new Client('http://www.example.com');
17
- $client->addSubscriber(new AsyncPlugin());
18
- $response = $client->get()->send();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/backoff-plugin.rst DELETED
@@ -1,22 +0,0 @@
1
- ====================
2
- Backoff retry plugin
3
- ====================
4
-
5
- The ``Guzzle\Plugin\Backoff\BackoffPlugin`` automatically retries failed HTTP requests using custom backoff strategies:
6
-
7
- .. code-block:: php
8
-
9
- use Guzzle\Http\Client;
10
- use Guzzle\Plugin\Backoff\BackoffPlugin;
11
-
12
- $client = new Client('http://www.test.com/');
13
- // Use a static factory method to get a backoff plugin using the exponential backoff strategy
14
- $backoffPlugin = BackoffPlugin::getExponentialBackoff();
15
-
16
- // Add the backoff plugin to the client object
17
- $client->addSubscriber($backoffPlugin);
18
-
19
- The BackoffPlugin's constructor accepts a ``Guzzle\Plugin\Backoff\BackoffStrategyInterface`` object that is used to
20
- determine when a retry should be issued and how long to delay between retries. The above code example shows how to
21
- attach a BackoffPlugin to a client that is pre-configured to retry failed 500 and 503 responses using truncated
22
- exponential backoff (emulating the behavior of Guzzle 2's ExponentialBackoffPlugin).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/cache-plugin.rst DELETED
@@ -1,169 +0,0 @@
1
- =================
2
- HTTP Cache plugin
3
- =================
4
-
5
- Guzzle can leverage HTTP's caching specifications using the ``Guzzle\Plugin\Cache\CachePlugin``. The CachePlugin
6
- provides a private transparent proxy cache that caches HTTP responses. The caching logic, based on
7
- `RFC 2616 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html>`_, uses HTTP headers to control caching behavior,
8
- cache lifetime, and supports Vary, ETag, and Last-Modified based revalidation:
9
-
10
- .. code-block:: php
11
-
12
- use Guzzle\Http\Client;
13
- use Doctrine\Common\Cache\FilesystemCache;
14
- use Guzzle\Cache\DoctrineCacheAdapter;
15
- use Guzzle\Plugin\Cache\CachePlugin;
16
- use Guzzle\Plugin\Cache\DefaultCacheStorage;
17
-
18
- $client = new Client('http://www.test.com/');
19
-
20
- $cachePlugin = new CachePlugin(array(
21
- 'storage' => new DefaultCacheStorage(
22
- new DoctrineCacheAdapter(
23
- new FilesystemCache('/path/to/cache/files')
24
- )
25
- )
26
- ));
27
-
28
- // Add the cache plugin to the client object
29
- $client->addSubscriber($cachePlugin);
30
- $client->get('http://www.wikipedia.org/')->send();
31
-
32
- // The next request will revalidate against the origin server to see if it
33
- // has been modified. If a 304 response is received the response will be
34
- // served from cache
35
- $client->get('http://www.wikipedia.org/')->send();
36
-
37
- The cache plugin intercepts GET and HEAD requests before they are actually transferred to the origin server. The cache
38
- plugin then generates a hash key based on the request method and URL, and checks to see if a response exists in the cache. If
39
- a response exists in the cache, the cache adapter then checks to make sure that the caching rules associated with the response
40
- satisfy the request, and ensures that response still fresh. If the response is acceptable for the request any required
41
- revalidation, then the cached response is served instead of contacting the origin server.
42
-
43
- Vary
44
- ----
45
-
46
- Cache keys are derived from a request method and a request URL. Multiple responses can map to the same cache key and
47
- stored in Guzzle's underlying cache storage object. You should use the ``Vary`` HTTP header to tell the cache storage
48
- object that the cache response must have been cached for a request that matches the headers specified in the Vary header
49
- of the request. This allows you to have specific cache entries for the same request URL but variations in a request's
50
- headers determine which cache entry is served. Please see the http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44
51
- for more information.
52
-
53
- Cache options
54
- -------------
55
-
56
- There are several options you can add to requests or clients to modify the behavior of the cache plugin.
57
-
58
- Override cache TTL
59
- ~~~~~~~~~~~~~~~~~~
60
-
61
- You can override the number of seconds a cacheable response is stored in the cache by setting the
62
- ``cache.override_ttl`` parameter on the params object of a request:
63
-
64
- .. code-block:: php
65
-
66
- // If the response to the request is cacheable, then the response will be cached for 100 seconds
67
- $request->getParams()->set('cache.override_ttl', 100);
68
-
69
- If a response doesn't specify any freshness policy, it will be kept in cache for 3600 seconds by default.
70
-
71
- Custom caching decision
72
- ~~~~~~~~~~~~~~~~~~~~~~~
73
-
74
- If the service you are interacting with does not return caching headers or returns responses that are normally
75
- something that would not be cached, you can set a custom ``can_cache`` object on the constructor of the CachePlugin
76
- and provide a ``Guzzle\Plugin\Cache\CanCacheInterface`` object. You can use the
77
- ``Guzzle\Plugin\Cache\CallbackCanCacheStrategy`` to easily make a caching decision based on an HTTP request and
78
- response.
79
-
80
- Revalidation options
81
- ~~~~~~~~~~~~~~~~~~~~
82
-
83
- You can change the revalidation behavior of a request using the ``cache.revalidate`` parameter. Setting this
84
- parameter to ``never`` will ensure that a revalidation request is never sent, and the response is always served from
85
- the origin server. Setting this parameter to ``skip`` will never revalidate and uses the response stored in the cache.
86
-
87
- Normalizing requests for caching
88
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89
-
90
- Use the ``cache.key_filter`` parameter if you wish to strip certain query string parameters from your
91
- request before creating a unique hash for the request. This parameter can be useful if your requests have query
92
- string values that cause each request URL to be unique (thus preventing a cache hit). The ``cache.key_filter``
93
- format is simply a comma separated list of query string values to remove from the URL when creating a cache key.
94
- For example, here we are saying that the ``a`` and ``q`` query string variables should be ignored when generating a
95
- cache key for the request:
96
-
97
- .. code-block:: php
98
-
99
- $request->getParams()->set('cache.key_filter', 'a, q');
100
-
101
- Other options
102
- ~~~~~~~~~~~~~
103
-
104
- There are many other options available to the CachePlugin that can meet almost any caching requirement, including
105
- custom revalidation implementations, custom cache key generators, custom caching decision strategies, and custom
106
- cache storage objects. Take a look the constructor of ``Guzzle\Plugin\Cache\CachePlugin`` for more information.
107
-
108
- Setting Client-wide cache settings
109
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110
-
111
- You can specify cache settings for every request created by a client by adding cache settings to the configuration
112
- options of a client.
113
-
114
- .. code-block:: php
115
-
116
- $client = new Guzzle\Http\Client('http://www.test.com', array(
117
- 'request.params' => array(
118
- 'cache.override_ttl' => 3600,
119
- 'params.cache.revalidate' => 'never'
120
- )
121
- ));
122
-
123
- echo $client->get('/')->getParams()->get('cache.override_ttl');
124
- // >>> 3600
125
-
126
- echo $client->get('/')->getParams()->get('cache.revalidate');
127
- // >>> never
128
-
129
- Cache revalidation
130
- ------------------
131
-
132
- If the cache plugin determines that a response to a GET request needs revalidation, a conditional GET is transferred
133
- to the origin server. If the origin server returns a 304 response, then a response containing the merged headers of
134
- the cached response with the new response and the entity body of the cached response is returned. Custom revalidation
135
- strategies can be injected into a CachePlugin if needed.
136
-
137
- Cache adapters
138
- --------------
139
-
140
- Guzzle doesn't try to reinvent the wheel when it comes to caching or logging. Plenty of other frameworks have
141
- excellent solutions in place that you are probably already using in your applications. Guzzle uses adapters for
142
- caching and logging. The cache plugin requires a cache adapter so that is can store responses in a cache. Guzzle
143
- currently supports cache adapters for `Doctrine 2.0 <http://www.doctrine-project.org/>`_ and the
144
- `Zend Framework <http://framework.zend.com>`_.
145
-
146
- Doctrine cache adapter
147
- ~~~~~~~~~~~~~~~~~~~~~~
148
-
149
- .. code-block:: php
150
-
151
- use Doctrine\Common\Cache\ArrayCache;
152
- use Guzzle\Cache\DoctrineCacheAdapter;
153
- use Guzzle\Plugin\Cache\CachePlugin;
154
-
155
- $backend = new ArrayCache();
156
- $adapter = new DoctrineCacheAdapter($backend);
157
- $cache = new CachePlugin($adapter);
158
-
159
- Zend Framework cache adapter
160
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161
-
162
- .. code-block:: php
163
-
164
- use Guzzle\Cache\ZendCacheAdapter;
165
- use Zend\Cache\Backend\TestBackend;
166
-
167
- $backend = new TestBackend();
168
- $adapter = new ZendCacheAdapter($backend);
169
- $cache = new CachePlugin($adapter);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/cookie-plugin.rst DELETED
@@ -1,33 +0,0 @@
1
- =============
2
- Cookie plugin
3
- =============
4
-
5
- Some web services require a Cookie in order to maintain a session. The ``Guzzle\Plugin\Cookie\CookiePlugin`` will add
6
- cookies to requests and parse cookies from responses using a CookieJar object:
7
-
8
- .. code-block:: php
9
-
10
- use Guzzle\Http\Client;
11
- use Guzzle\Plugin\Cookie\CookiePlugin;
12
- use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar;
13
-
14
- $cookiePlugin = new CookiePlugin(new ArrayCookieJar());
15
-
16
- // Add the cookie plugin to a client
17
- $client = new Client('http://www.test.com/');
18
- $client->addSubscriber($cookiePlugin);
19
-
20
- // Send the request with no cookies and parse the returned cookies
21
- $client->get('http://www.yahoo.com/')->send();
22
-
23
- // Send the request again, noticing that cookies are being sent
24
- $request = $client->get('http://www.yahoo.com/');
25
- $request->send();
26
-
27
- echo $request;
28
-
29
- You can disable cookies per-request by setting the ``cookies.disable`` value to true on a request's params object.
30
-
31
- .. code-block:: php
32
-
33
- $request->getParams()->set('cookies.disable', true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/creating-plugins.rst DELETED
@@ -1,93 +0,0 @@
1
- ================
2
- Creating plugins
3
- ================
4
-
5
- .. highlight:: php
6
-
7
- Guzzle is extremely extensible because of the behavioral modifications that can be added to requests, clients, and
8
- commands using an event system. Before and after the majority of actions are taken in the library, an event is emitted
9
- with the name of the event and context surrounding the event. Observers can subscribe to a subject and modify the
10
- subject based on the events received. Guzzle's event system utilizes the Symfony2 EventDispatcher and is the backbone
11
- of its plugin architecture.
12
-
13
- Overview
14
- --------
15
-
16
- Plugins must implement the ``Symfony\Component\EventDispatcher\EventSubscriberInterface`` interface. The
17
- ``EventSubscriberInterface`` requires that your class implements a static method, ``getSubscribedEvents()``, that
18
- returns an associative array mapping events to methods on the object. See the
19
- `Symfony2 documentation <http://symfony.com/doc/2.0/book/internals.html#the-event-dispatcher>`_ for more information.
20
-
21
- Plugins can be attached to any subject, or object in Guzzle that implements that
22
- ``Guzzle\Common\HasDispatcherInterface``.
23
-
24
- Subscribing to a subject
25
- ~~~~~~~~~~~~~~~~~~~~~~~~
26
-
27
- You can subscribe an instantiated observer to an event by calling ``addSubscriber`` on a subject.
28
-
29
- .. code-block:: php
30
-
31
- $testPlugin = new TestPlugin();
32
- $client->addSubscriber($testPlugin);
33
-
34
- You can also subscribe to only specific events using a closure::
35
-
36
- $client->getEventDispatcher()->addListener('request.create', function(Event $event) {
37
- echo $event->getName();
38
- echo $event['request'];
39
- });
40
-
41
- ``Guzzle\Common\Event`` objects are passed to notified functions. The Event object has a ``getName()`` method which
42
- return the name of the emitted event and may contain contextual information that can be accessed like an array.
43
-
44
- Knowing what events to listen to
45
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46
-
47
- Any class that implements the ``Guzzle\Common\HasDispatcherInterface`` must implement a static method,
48
- ``getAllEvents()``, that returns an array of the events that are emitted from the object. You can browse the source
49
- to see each event, or you can call the static method directly in your code to get a list of available events.
50
-
51
- Event hooks
52
- -----------
53
-
54
- * :ref:`client-events`
55
- * :ref:`service-client-events`
56
- * :ref:`request-events`
57
- * ``Guzzle\Http\Curl\CurlMulti``:
58
- * :ref:`service-builder-events`
59
-
60
- Examples of the event system
61
- ----------------------------
62
-
63
- Simple Echo plugin
64
- ~~~~~~~~~~~~~~~~~~
65
-
66
- This simple plugin prints a string containing the request that is about to be sent by listening to the
67
- ``request.before_send`` event::
68
-
69
- use Symfony\Component\EventDispatcher\EventSubscriberInterface;
70
-
71
- class EchoPlugin implements EventSubscriberInterface
72
- {
73
- public static function getSubscribedEvents()
74
- {
75
- return array('request.before_send' => 'onBeforeSend');
76
- }
77
-
78
- public function onBeforeSend(Guzzle\Common\Event $event)
79
- {
80
- echo 'About to send a request: ' . $event['request'] . "\n";
81
- }
82
- }
83
-
84
- $client = new Guzzle\Service\Client('http://www.test.com/');
85
-
86
- // Create the plugin and add it as an event subscriber
87
- $plugin = new EchoPlugin();
88
- $client->addSubscriber($plugin);
89
-
90
- // Send a request and notice that the request is printed to the screen
91
- $client->get('/')->send();
92
-
93
- Running the above code will print a string containing the HTTP request that is about to be sent.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/curl-auth-plugin.rst DELETED
@@ -1,32 +0,0 @@
1
- ==========================
2
- cURL authentication plugin
3
- ==========================
4
-
5
- .. warning::
6
-
7
- The CurlAuthPlugin is deprecated. You should use the `auth` parameter of a client to add authorization headers to
8
- every request created by a client.
9
-
10
- .. code-block:: php
11
-
12
- $client->setDefaultOption('auth', array('username', 'password', 'Basic|Digest|NTLM|Any'));
13
-
14
- If your web service client requires basic authorization, then you can use the CurlAuthPlugin to easily add an
15
- Authorization header to each request sent by the client.
16
-
17
- .. code-block:: php
18
-
19
- use Guzzle\Http\Client;
20
- use Guzzle\Plugin\CurlAuth\CurlAuthPlugin;
21
-
22
- $client = new Client('http://www.test.com/');
23
-
24
- // Add the auth plugin to the client object
25
- $authPlugin = new CurlAuthPlugin('username', 'password');
26
- $client->addSubscriber($authPlugin);
27
-
28
- $response = $client->get('projects/1/people')->send();
29
- $xml = new SimpleXMLElement($response->getBody(true));
30
- foreach ($xml->person as $person) {
31
- echo $person->email . "\n";
32
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/history-plugin.rst DELETED
@@ -1,24 +0,0 @@
1
- ==============
2
- History plugin
3
- ==============
4
-
5
- The history plugin tracks all of the requests and responses sent through a request or client. This plugin can be
6
- useful for crawling or unit testing. By default, the history plugin stores up to 10 requests and responses.
7
-
8
- .. code-block:: php
9
-
10
- use Guzzle\Http\Client;
11
- use Guzzle\Plugin\History\HistoryPlugin;
12
-
13
- $client = new Client('http://www.test.com/');
14
-
15
- // Add the history plugin to the client object
16
- $history = new HistoryPlugin();
17
- $history->setLimit(5);
18
- $client->addSubscriber($history);
19
-
20
- $client->get('http://www.yahoo.com/')->send();
21
-
22
- echo $history->getLastRequest();
23
- echo $history->getLastResponse();
24
- echo count($history);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/log-plugin.rst DELETED
@@ -1,69 +0,0 @@
1
- ==========
2
- Log plugin
3
- ==========
4
-
5
- Use the ``Guzzle\Plugin\Log\LogPlugin`` to view all data sent over the wire, including entity bodies and redirects.
6
-
7
- .. code-block:: php
8
-
9
- use Guzzle\Http\Client;
10
- use Guzzle\Log\Zf1LogAdapter;
11
- use Guzzle\Plugin\Log\LogPlugin;
12
- use Guzzle\Log\MessageFormatter;
13
-
14
- $client = new Client('http://www.test.com/');
15
-
16
- $adapter = new Zf1LogAdapter(
17
- new \Zend_Log(new \Zend_Log_Writer_Stream('php://output'))
18
- );
19
- $logPlugin = new LogPlugin($adapter, MessageFormatter::DEBUG_FORMAT);
20
-
21
- // Attach the plugin to the client, which will in turn be attached to all
22
- // requests generated by the client
23
- $client->addSubscriber($logPlugin);
24
-
25
- $response = $client->get('http://google.com')->send();
26
-
27
- The code sample above wraps a ``Zend_Log`` object using a ``Guzzle\Log\Zf1LogAdapter``. After attaching the plugin to
28
- the client, all data sent over the wire will be logged to stdout.
29
-
30
- The first argument of the LogPlugin's constructor accepts a ``Guzzle\Log\LogAdapterInterface`` object. This object is
31
- an adapter that allows you to use the logging capabilities of your favorite log implementation. The second argument of
32
- the constructor accepts a ``Guzzle\Log\MessageFormatter`` or a log messaged format string. The format string uses
33
- variable substitution and allows you to define the log data that is important to your application. The different
34
- variables that can be injected are as follows:
35
-
36
- ================== ====================================================================================
37
- Variable Substitution
38
- ================== ====================================================================================
39
- {request} Full HTTP request message
40
- {response} Full HTTP response message
41
- {ts} Timestamp
42
- {host} Host of the request
43
- {method} Method of the request
44
- {url} URL of the request
45
- {host} Host of the request
46
- {protocol} Request protocol
47
- {version} Protocol version
48
- {resource} Resource of the request (path + query + fragment)
49
- {port} Port of the request
50
- {hostname} Hostname of the machine that sent the request
51
- {code} Status code of the response (if available)
52
- {phrase} Reason phrase of the response (if available)
53
- {curl_error} Curl error message (if available)
54
- {curl_code} Curl error code (if available)
55
- {curl_stderr} Curl standard error (if available)
56
- {connect_time} Time in seconds it took to establish the connection (if available)
57
- {total_time} Total transaction time in seconds for last transfer (if available)
58
- {req_header_*} Replace `*` with the lowercased name of a request header to add to the message
59
- {res_header_*} Replace `*` with the lowercased name of a response header to add to the message
60
- {req_body} Request body
61
- {res_body} Response body
62
- ================== ====================================================================================
63
-
64
- The LogPlugin has a helper method that can be used when debugging that will output the full HTTP request and
65
- response of a transaction:
66
-
67
- .. code-block:: php
68
-
69
- $client->addSubscriber(LogPlugin::getDebugPlugin());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/md5-validator-plugin.rst DELETED
@@ -1,29 +0,0 @@
1
- ====================
2
- MD5 validator plugin
3
- ====================
4
-
5
- Entity bodies can sometimes be modified over the wire due to a faulty TCP transport or misbehaving proxy. If an HTTP
6
- response contains a Content-MD5 header, then a MD5 hash of the entity body of a response can be compared against the
7
- Content-MD5 header of the response to determine if the response was delivered intact. The
8
- ``Guzzle\Plugin\Md5\Md5ValidatorPlugin`` will throw an ``UnexpectedValueException`` if the calculated MD5 hash does
9
- not match the Content-MD5 header value:
10
-
11
- .. code-block:: php
12
-
13
- use Guzzle\Http\Client;
14
- use Guzzle\Plugin\Md5\Md5ValidatorPlugin;
15
-
16
- $client = new Client('http://www.test.com/');
17
-
18
- $md5Plugin = new Md5ValidatorPlugin();
19
-
20
- // Add the md5 plugin to the client object
21
- $client->addSubscriber($md5Plugin);
22
-
23
- $request = $client->get('http://www.yahoo.com/');
24
- $request->send();
25
-
26
- Calculating the MD5 hash of a large entity body or an entity body that was transferred using a Content-Encoding is an
27
- expensive operation. When working in high performance applications, you might consider skipping the MD5 hash
28
- validation for entity bodies bigger than a certain size or Content-Encoded entity bodies
29
- (see ``Guzzle\Plugin\Md5\Md5ValidatorPlugin`` for more information).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/mock-plugin.rst DELETED
@@ -1,27 +0,0 @@
1
- ===========
2
- Mock plugin
3
- ===========
4
-
5
- The mock plugin is useful for testing Guzzle clients. The mock plugin allows you to queue an array of responses that
6
- will satisfy requests sent from a client by consuming the request queue in FIFO order.
7
-
8
- .. code-block:: php
9
-
10
- use Guzzle\Http\Client;
11
- use Guzzle\Plugin\Mock\MockPlugin;
12
- use Guzzle\Http\Message\Response;
13
-
14
- $client = new Client('http://www.test.com/');
15
-
16
- $mock = new MockPlugin();
17
- $mock->addResponse(new Response(200))
18
- ->addResponse(new Response(404));
19
-
20
- // Add the mock plugin to the client object
21
- $client->addSubscriber($mock);
22
-
23
- // The following request will receive a 200 response from the plugin
24
- $client->get('http://www.example.com/')->send();
25
-
26
- // The following request will receive a 404 response from the plugin
27
- $client->get('http://www.test.com/')->send();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/oauth-plugin.rst DELETED
@@ -1,30 +0,0 @@
1
- ============
2
- OAuth plugin
3
- ============
4
-
5
- Guzzle ships with an OAuth 1.0 plugin that can sign requests using a consumer key, consumer secret, OAuth token,
6
- and OAuth secret. Here's an example showing how to send an authenticated request to the Twitter REST API:
7
-
8
- .. code-block:: php
9
-
10
- use Guzzle\Http\Client;
11
- use Guzzle\Plugin\Oauth\OauthPlugin;
12
-
13
- $client = new Client('http://api.twitter.com/1');
14
- $oauth = new OauthPlugin(array(
15
- 'consumer_key' => 'my_key',
16
- 'consumer_secret' => 'my_secret',
17
- 'token' => 'my_token',
18
- 'token_secret' => 'my_token_secret'
19
- ));
20
- $client->addSubscriber($oauth);
21
-
22
- $response = $client->get('statuses/public_timeline.json')->send();
23
-
24
- If you need to use a custom signing method, you can pass a ``signature_method`` configuration option in the
25
- constructor of the OAuth plugin. The ``signature_method`` option must be a callable variable that accepts a string to
26
- sign and signing key and returns a signed string.
27
-
28
- .. note::
29
-
30
- You can omit the ``token`` and ``token_secret`` options to use two-legged OAuth.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/plugins-list.rst.inc DELETED
@@ -1,9 +0,0 @@
1
- * :doc:`/plugins/async-plugin`
2
- * :doc:`/plugins/backoff-plugin`
3
- * :doc:`/plugins/cache-plugin`
4
- * :doc:`/plugins/cookie-plugin`
5
- * :doc:`/plugins/history-plugin`
6
- * :doc:`/plugins/log-plugin`
7
- * :doc:`/plugins/md5-validator-plugin`
8
- * :doc:`/plugins/mock-plugin`
9
- * :doc:`/plugins/oauth-plugin`
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/plugins/plugins-overview.rst DELETED
@@ -1,59 +0,0 @@
1
- ======================
2
- Plugin system overview
3
- ======================
4
-
5
- The workflow of sending a request and parsing a response is driven by Guzzle's event system, which is powered by the
6
- `Symfony2 Event Dispatcher component <http://symfony.com/doc/current/components/event_dispatcher/introduction.html>`_.
7
-
8
- Any object in Guzzle that emits events will implement the ``Guzzle\Common\HasEventDispatcher`` interface. You can add
9
- event subscribers directly to these objects using the ``addSubscriber()`` method, or you can grab the
10
- ``Symfony\Component\EventDispatcher\EventDispatcher`` object owned by the object using ``getEventDispatcher()`` and
11
- add a listener or event subscriber.
12
-
13
- Adding event subscribers to clients
14
- -----------------------------------
15
-
16
- Any event subscriber or event listener attached to the EventDispatcher of a ``Guzzle\Http\Client`` or
17
- ``Guzzle\Service\Client`` object will automatically be attached to all request objects created by the client. This
18
- allows you to attach, for example, a HistoryPlugin to a client object, and from that point on, every request sent
19
- through that client will utilize the HistoryPlugin.
20
-
21
- .. code-block:: php
22
-
23
- use Guzzle\Plugin\History\HistoryPlugin;
24
- use Guzzle\Service\Client;
25
-
26
- $client = new Client();
27
-
28
- // Create a history plugin and attach it to the client
29
- $history = new HistoryPlugin();
30
- $client->addSubscriber($history);
31
-
32
- // Create and send a request. This request will also utilize the HistoryPlugin
33
- $client->get('http://httpbin.org')->send();
34
-
35
- // Echo out the last sent request by the client
36
- echo $history->getLastRequest();
37
-
38
- .. tip::
39
-
40
- :doc:`Create event subscribers <creating-plugins>`, or *plugins*, to implement reusable logic that can be
41
- shared across clients. Event subscribers are also easier to test than anonymous functions.
42
-
43
- Pre-Built plugins
44
- -----------------
45
-
46
- Guzzle provides easy to use request plugins that add behavior to requests based on signal slot event notifications
47
- powered by the Symfony2 Event Dispatcher component.
48
-
49
- * :doc:`async-plugin`
50
- * :doc:`backoff-plugin`
51
- * :doc:`cache-plugin`
52
- * :doc:`cookie-plugin`
53
- * :doc:`curl-auth-plugin`
54
- * :doc:`history-plugin`
55
- * :doc:`log-plugin`
56
- * :doc:`md5-validator-plugin`
57
- * :doc:`mock-plugin`
58
- * :doc:`oauth-plugin`
59
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/requirements.txt DELETED
@@ -1,2 +0,0 @@
1
- Sphinx>=1.2b1
2
- guzzle_sphinx_theme>=0.5.0
 
 
vendor/guzzle/guzzle/docs/testing/unit-testing.rst DELETED
@@ -1,201 +0,0 @@
1
- ===========================
2
- Unit Testing Guzzle clients
3
- ===========================
4
-
5
- Guzzle provides several tools that will enable you to easily unit test your web service clients.
6
-
7
- * PHPUnit integration
8
- * Mock responses
9
- * node.js web server for integration testing
10
-
11
- PHPUnit integration
12
- -------------------
13
-
14
- Guzzle is unit tested using `PHPUnit <http://www.phpunit.de/>`_. Your web service client's unit tests should extend
15
- ``Guzzle\Tests\GuzzleTestCase`` so that you can take advantage of some of the built in helpers.
16
-
17
- In order to unit test your client, a developer would need to copy phpunit.xml.dist to phpunit.xml and make any needed
18
- modifications. As a best practice and security measure for you and your contributors, it is recommended to add an
19
- ignore statement to your SCM so that phpunit.xml is ignored.
20
-
21
- Bootstrapping
22
- ~~~~~~~~~~~~~
23
-
24
- Your web service client should have a tests/ folder that contains a bootstrap.php file. The bootstrap.php file
25
- responsible for autoloading and configuring a ``Guzzle\Service\Builder\ServiceBuilder`` that is used throughout your
26
- unit tests for loading a configured client. You can add custom parameters to your phpunit.xml file that expects users
27
- to provide the path to their configuration data.
28
-
29
- .. code-block:: php
30
-
31
- Guzzle\Tests\GuzzleTestCase::setServiceBuilder(Aws\Common\Aws::factory($_SERVER['CONFIG']));
32
-
33
- Guzzle\Tests\GuzzleTestCase::setServiceBuilder(Guzzle\Service\Builder\ServiceBuilder::factory(array(
34
- 'test.unfuddle' => array(
35
- 'class' => 'Guzzle.Unfuddle.UnfuddleClient',
36
- 'params' => array(
37
- 'username' => 'test_user',
38
- 'password' => '****',
39
- 'subdomain' => 'test'
40
- )
41
- )
42
- )));
43
-
44
- The above code registers a service builder that can be used throughout your unit tests. You would then be able to
45
- retrieve an instantiated and configured Unfuddle client by calling ``$this->getServiceBuilder()->get('test.unfuddle)``.
46
- The above code assumes that ``$_SERVER['CONFIG']`` contains the path to a file that stores service description
47
- configuration.
48
-
49
- Unit testing remote APIs
50
- ------------------------
51
-
52
- Mock responses
53
- ~~~~~~~~~~~~~~
54
-
55
- One of the benefits of unit testing is the ability to quickly determine if there are errors in your code. If your
56
- unit tests run slowly, then they become tedious and will likely be run less frequently. Guzzle's philosophy on unit
57
- testing web service clients is that no network access should be required to run the unit tests. This means that
58
- responses are served from mock responses or local servers. By adhering to this principle, tests will run much faster
59
- and will not require an external resource to be available. The problem with this approach is that your mock responses
60
- must first be gathered and then subsequently updated each time the remote API changes.
61
-
62
- Integration testing over the internet
63
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
-
65
- You can perform integration testing with a web service over the internet by making calls directly to the service. If
66
- the web service you are requesting uses a complex signing algorithm or some other specific implementation, then you
67
- may want to include at least one actual network test that can be run specifically through the command line using
68
- `PHPUnit group annotations <http://www.phpunit.de/manual/current/en/appendixes.annotations.html#appendixes.annotations.group>`_.
69
-
70
- @group internet annotation
71
- ^^^^^^^^^^^^^^^^^^^^^^^^^^
72
-
73
- When creating tests that require an internet connection, it is recommended that you add ``@group internet`` annotations
74
- to your unit tests to specify which tests require network connectivity.
75
-
76
- You can then `run PHPUnit tests <http://www.phpunit.de/manual/current/en/textui.html>`_ that exclude the @internet
77
- group by running ``phpunit --exclude-group internet``.
78
-
79
- API credentials
80
- ^^^^^^^^^^^^^^^
81
-
82
- If API credentials are required to run your integration tests, you must add ``<php>`` parameters to your
83
- phpunit.xml.dist file and extract these parameters in your bootstrap.php file.
84
-
85
- .. code-block:: xml
86
-
87
- <?xml version="1.0" encoding="UTF-8"?>
88
- <phpunit bootstrap="./tests/bootstrap.php" colors="true">
89
- <php>
90
- <!-- Specify the path to a service configuration file -->
91
- <server name="CONFIG" value="test_services.json" />
92
- <!-- Or, specify each require parameter individually -->
93
- <server name="API_USER" value="change_me" />
94
- <server name="API_PASSWORD" value="****" />
95
- </php>
96
- <testsuites>
97
- <testsuite name="guzzle-service">
98
- <directory suffix="Test.php">./Tests</directory>
99
- </testsuite>
100
- </testsuites>
101
- </phpunit>
102
-
103
- You can then extract the ``server`` variables in your bootstrap.php file by grabbing them from the ``$_SERVER``
104
- superglobal: ``$apiUser = $_SERVER['API_USER'];``
105
-
106
- Further reading
107
- ^^^^^^^^^^^^^^^
108
-
109
- A good discussion on the topic of testing remote APIs can be found in Sebastian Bergmann's
110
- `Real-World Solutions for Developing High-Quality PHP Frameworks and Applications <http://www.amazon.com/dp/0470872497>`_.
111
-
112
- Queueing Mock responses
113
- -----------------------
114
-
115
- Mock responses can be used to test if requests are being generated correctly and responses and handled correctly by
116
- your client. Mock responses can be queued up for a client using the ``$this->setMockResponse($client, $path)`` method
117
- of your test class. Pass the client you are adding mock responses to and a single path or array of paths to mock
118
- response files relative to the ``/tests/mock/ folder``. This will queue one or more mock responses for your client by
119
- creating a simple observer on the client. Mock response files must contain a full HTTP response message:
120
-
121
- .. code-block:: none
122
-
123
- HTTP/1.1 200 OK
124
- Date: Wed, 25 Nov 2009 12:00:00 GMT
125
- Connection: close
126
- Server: AmazonS3
127
- Content-Type: application/xml
128
-
129
- <?xml version="1.0" encoding="UTF-8"?>
130
- <LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/">EU</LocationConstraint>
131
-
132
- After queuing mock responses for a client, you can get an array of the requests that were sent by the client that
133
- were issued a mock response by calling ``$this->getMockedRequests()``.
134
-
135
- You can also use the ``Guzzle\Plugin\Mock\MockPlugin`` object directly with your clients.
136
-
137
- .. code-block:: php
138
-
139
- $plugin = new Guzzle\Plugin\Mock\MockPlugin();
140
- $plugin->addResponse(new Guzzle\Http\Message\Response(200));
141
- $client = new Guzzle\Http\Client();
142
- $client->addSubscriber($plugin);
143
-
144
- // The following request will get the mock response from the plugin in FIFO order
145
- $request = $client->get('http://www.test.com/');
146
- $request->send();
147
-
148
- // The MockPlugin maintains a list of requests that were mocked
149
- $this->assertContainsOnly($request, $plugin->getReceivedRequests());
150
-
151
- node.js web server for integration testing
152
- ------------------------------------------
153
-
154
- Using mock responses is usually enough when testing a web service client. If your client needs to add custom cURL
155
- options to requests, then you should use the node.js test web server to ensure that your HTTP request message is
156
- being created correctly.
157
-
158
- Guzzle is based around PHP's libcurl bindings. cURL sometimes modifies an HTTP request message based on
159
- ``CURLOPT_*`` options. Headers that are added to your request by cURL will not be accounted for if you inject mock
160
- responses into your tests. Additionally, some request entity bodies cannot be loaded by the client before transmitting
161
- it to the sever (for example, when using a client as a sort of proxy and streaming content from a remote server). You
162
- might also need to inspect the entity body of a ``multipart/form-data`` POST request.
163
-
164
- .. note::
165
-
166
- You can skip all of the tests that require the node.js test web server by excluding the ``server`` group:
167
- ``phpunit --exclude-group server``
168
-
169
- Using the test server
170
- ~~~~~~~~~~~~~~~~~~~~~
171
-
172
- The node.js test server receives requests and returns queued responses. The test server exposes a simple API that is
173
- used to enqueue responses and inspect the requests that it has received.
174
-
175
- Retrieve the server object by calling ``$this->getServer()``. If the node.js server is not running, it will be
176
- started as a forked process and an object that interfaces with the server will be returned. (note: stopping the
177
- server is handled internally by Guzzle.)
178
-
179
- You can queue an HTTP response or an array of responses by calling ``$this->getServer()->enqueue()``:
180
-
181
- .. code-block:: php
182
-
183
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
184
-
185
- The above code queues a single 200 response with an empty body. Responses are queued using a FIFO order; this
186
- response will be returned by the server when it receives the first request and then removed from the queue. If a
187
- request is received by a server with no queued responses, an exception will be thrown in your unit test.
188
-
189
- You can inspect the requests that the server has retrieved by calling ``$this->getServer()->getReceivedRequests()``.
190
- This method accepts an optional ``$hydrate`` parameter that specifies if you are retrieving an array of string HTTP
191
- requests or an array of ``Guzzle\Http\RequestInterface`` subclassed objects. "Hydrating" the requests will allow
192
- greater flexibility in your unit tests so that you can easily assert the state of the various parts of a request.
193
-
194
- You will need to modify the base_url of your web service client in order to use it against the test server.
195
-
196
- .. code-block:: php
197
-
198
- $client = $this->getServiceBuilder()->get('my_client');
199
- $client->setBaseUrl($this->getServer()->getUrl());
200
-
201
- After running the above code, all calls made from the ``$client`` object will be sent to the test web server.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst DELETED
@@ -1,619 +0,0 @@
1
- ===========================
2
- Guzzle service descriptions
3
- ===========================
4
-
5
- Guzzle allows you to serialize HTTP requests and parse HTTP responses using a DSL called a service descriptions.
6
- Service descriptions define web service APIs by documenting each operation, the operation's parameters, validation
7
- options for each parameter, an operation's response, how the response is parsed, and any errors that can be raised for
8
- an operation. Writing a service description for a web service allows you to more quickly consume a web service than
9
- writing concrete commands for each web service operation.
10
-
11
- Guzzle service descriptions can be representing using a PHP array or JSON document. Guzzle's service descriptions are
12
- heavily inspired by `Swagger <http://swagger.wordnik.com/>`_.
13
-
14
- Service description schema
15
- ==========================
16
-
17
- A Guzzle Service description must match the following JSON schema document. This document can also serve as a guide when
18
- implementing a Guzzle service description.
19
-
20
- Download the schema here: :download:`Guzzle JSON schema document </_downloads/guzzle-schema-1.0.json>`
21
-
22
- .. class:: overflow-height-500px
23
-
24
- .. literalinclude:: ../_downloads/guzzle-schema-1.0.json
25
- :language: json
26
-
27
- Top-level attributes
28
- --------------------
29
-
30
- Service descriptions are comprised of the following top-level attributes:
31
-
32
- .. code-block:: json
33
-
34
- {
35
- "name": "string",
36
- "apiVersion": "string|number",
37
- "baseUrl": "string",
38
- "description": "string",
39
- "operations": {},
40
- "models": {},
41
- "includes": ["string.php", "string.json"]
42
- }
43
-
44
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
45
- | Property Name | Value | Description |
46
- +=========================================+=========================+=======================================================================================================================+
47
- | name | string | Name of the web service |
48
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
49
- | apiVersion | string|number | Version identifier that the service description is compatible with |
50
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
51
- | baseUrl or basePath | string | Base URL of the web service. Any relative URI specified in an operation will be merged with the baseUrl using the |
52
- | | | process defined in RFC 2396. Some clients require custom logic to determine the baseUrl. In those cases, it is best |
53
- | | | to not include a baseUrl in the service description, but rather allow the factory method of the client to configure |
54
- | | | the client’s baseUrl. |
55
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
56
- | description | string | Short summary of the web service |
57
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
58
- | operations | object containing | Operations of the service. The key is the name of the operation and value is the attributes of the operation. |
59
- | | :ref:`operation-schema` | |
60
- | | | |
61
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
62
- | models | object containing | Schema models that can be referenced throughout the service description. Models can be used to define how an HTTP |
63
- | | :ref:`model-schema` | response is parsed into a ``Guzzle\Service\Resource\Model`` object when an operation uses a ``model`` ``responseType``|
64
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
65
- | includes | array of .js, | Service description files to include and extend from (can be a .json, .js, or .php file) |
66
- | | .json, or .php | |
67
- | | files. | |
68
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
69
- | (any additional properties) | mixed | Any additional properties specified as top-level attributes are allowed and will be treated as arbitrary data |
70
- +-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+
71
-
72
- .. _operation-schema:
73
-
74
- Operations
75
- ----------
76
-
77
- Operations are the actions that can be taken on a service. Each operation is given a unique name and has a distinct
78
- endpoint and HTTP method. If an API has a ``DELETE /users/:id`` operation, a satisfactory operation name might be
79
- ``DeleteUser`` with a parameter of ``id`` that is inserted into the URI.
80
-
81
- .. class:: overflow-height-250px
82
-
83
- .. code-block:: json
84
-
85
- {
86
- "operations": {
87
- "operationName": {
88
- "extends": "string",
89
- "httpMethod": "GET|POST|PUT|DELETE|PATCH|string",
90
- "uri": "string",
91
- "summary": "string",
92
- "class": "string",
93
- "responseClass": "string",
94
- "responseNotes": "string",
95
- "type": "string",
96
- "description": "string",
97
- "responseType": "primitive|class|(model by name)|documentation|(string)",
98
- "deprecated": false,
99
- "errorResponses": [
100
- {
101
- "code": 500,
102
- "reason": "Unexpected Error",
103
- "class": "string"
104
- }
105
- ],
106
- "data": {
107
- "foo": "bar",
108
- "baz": "bam"
109
- },
110
- "parameters": {}
111
- }
112
- }
113
- }
114
-
115
- .. csv-table::
116
- :header: "Property Name", "Value", "Description"
117
- :widths: 20, 15, 65
118
-
119
- "extends", "string", "Extend from another operation by name. The parent operation must be defined before the child."
120
- "httpMethod", "string", "HTTP method used with the operation (e.g. GET, POST, PUT, DELETE, PATCH, etc)"
121
- "uri", "string", "URI of the operation. The uri attribute can contain URI templates. The variables of the URI template are parameters of the operation with a location value of uri"
122
- "summary", "string", "Short summary of what the operation does"
123
- "class", "string", "Custom class to instantiate instead of the default Guzzle\\Service\\Command\\OperationCommand. Using this attribute allows you to define an operation using a service description, but allows more customized logic to be implemented in user-land code."
124
- "responseClass", "string", "Defined what is returned from the method. Can be a primitive, class name, or model name. You can specify the name of a class to return a more customized result from the operation (for example, a domain model object). When using the name of a PHP class, the class must implement ``Guzzle\Service\Command\ResponseClassInterface``."
125
- "responseNotes", "string", "A description of the response returned by the operation"
126
- "responseType", "string", "The type of response that the operation creates: one of primitive, class, model, or documentation. If not specified, this value will be automatically inferred based on whether or not there is a model matching the name, if a matching class name is found, or set to 'primitive' by default."
127
- "deprecated", "boolean", "Whether or not the operation is deprecated"
128
- "errorResponses", "array", "Errors that could occur while executing the operation. Each item of the array is an object that can contain a 'code' (HTTP response status code of the error), 'reason' (reason phrase or description of the error), and 'class' (an exception class that will be raised when this error is encountered)"
129
- "data", "object", "Any arbitrary data to associate with the operation"
130
- "parameters", "object containing :ref:`parameter-schema` objects", "Parameters of the operation. Parameters are used to define how input data is serialized into a HTTP request."
131
- "additionalParameters", "A single :ref:`parameter-schema` object", "Validation and serialization rules for any parameter supplied to the operation that was not explicitly defined."
132
-
133
- additionalParameters
134
- ~~~~~~~~~~~~~~~~~~~~
135
-
136
- When a webservice offers a large number of parameters that all are set in the same location (for example the query
137
- string or a JSON document), defining each parameter individually can require a lot of time and repetition. Furthermore,
138
- some web services allow for completely arbitrary parameters to be supplied for an operation. The
139
- ``additionalParameters`` attribute can be used to solve both of these issues.
140
-
141
- As an example, we can define a Twitter API operation quite easily using ``additionalParameters``. The
142
- GetMentions operation accepts a large number of query string parameters. Defining each of these parameters
143
- is ideal because it provide much more introspection for the client and opens the possibility to use the description with
144
- other tools (e.g. a documentation generator). However, you can very quickly provide a "catch-all" serialization rule
145
- that will place any custom parameters supplied to an operation the generated request's query string parameters.
146
-
147
- .. class:: overflow-height-250px
148
-
149
- .. code-block:: json
150
-
151
- {
152
- "name": "Twitter",
153
- "apiVersion": "1.1",
154
- "baseUrl": "https://api.twitter.com/1.1",
155
- "operations": {
156
- "GetMentions": {
157
- "httpMethod": "GET",
158
- "uri": "statuses/mentions_timeline.json",
159
- "responseClass": "GetMentionsOutput",
160
- "additionalParameters": {
161
- "location": "query"
162
- }
163
- }
164
- },
165
- "models": {
166
- "GetMentionsOutput": {
167
- "type": "object",
168
- "additionalProperties": {
169
- "location": "json"
170
- }
171
- }
172
- }
173
- }
174
-
175
- responseClass
176
- ~~~~~~~~~~~~~
177
-
178
- The ``responseClass`` attribute is used to define the return value of an operation (what is returned by calling the
179
- ``getResult()`` method of a command object). The value set in the responseClass attribute can be one of "primitive"
180
- (meaning the result with be primitive type like a string), a class name meaning the result will be an instance of a
181
- specific user-land class, or a model name meaning the result will be a ``Guzzle\Service\Resource\Model`` object that
182
- uses a :ref:`model schema <model-schema>` to define how the HTTP response is parsed.
183
-
184
- .. note::
185
-
186
- Using a class name with a ``responseClass`` will only work if it is supported by the ``class`` that is instantiated
187
- for the operation. Keep this in mind when specifying a custom ``class`` attribute that points to a custom
188
- ``Guzzle\Service\Command\CommandInterface`` class. The default ``class``,
189
- ``Guzzle\Service\Command\OperationCommand``, does support setting custom ``class`` attributes.
190
-
191
- You can specify the name of a class to return a more customized result from the operation (for example, a domain model
192
- object). When using the name of a PHP class, the class must implement ``Guzzle\Service\Command\ResponseClassInterface``.
193
- Here's a very simple example of implementing a custom responseClass object.
194
-
195
- .. code-block:: json
196
-
197
- {
198
- "operations": {
199
- "test": {
200
- "responseClass": "MyApplication\\User"
201
- }
202
- }
203
- }
204
-
205
- .. code-block:: php
206
-
207
- namespace MyApplication;
208
-
209
- use Guzzle\Service\Command\ResponseClassInterface;
210
- use Guzzle\Service\Command\OperationCommand;
211
-
212
- class User implements ResponseClassInterface
213
- {
214
- protected $name;
215
-
216
- public static function fromCommand(OperationCommand $command)
217
- {
218
- $response = $command->getResponse();
219
- $xml = $response->xml();
220
-
221
- return new self((string) $xml->name);
222
- }
223
-
224
- public function __construct($name)
225
- {
226
- $this->name = $name;
227
- }
228
- }
229
-
230
- errorResponses
231
- ~~~~~~~~~~~~~~
232
-
233
- ``errorResponses`` is an array containing objects that define the errors that could occur while executing the
234
- operation. Each item of the array is an object that can contain a 'code' (HTTP response status code of the error),
235
- 'reason' (reason phrase or description of the error), and 'class' (an exception class that will be raised when this
236
- error is encountered).
237
-
238
- ErrorResponsePlugin
239
- ^^^^^^^^^^^^^^^^^^^
240
-
241
- Error responses are by default only used for documentation. If you don't need very complex exception logic for your web
242
- service errors, then you can use the ``Guzzle\Plugin\ErrorResponse\ErrorResponsePlugin`` to automatically throw defined
243
- exceptions when one of the ``errorResponse`` rules are matched. The error response plugin will listen for the
244
- ``request.complete`` event of a request created by a command object. Every response (including a successful response) is
245
- checked against the list of error responses for an exact match using the following order of checks:
246
-
247
- 1. Does the errorResponse have a defined ``class``?
248
- 2. Is the errorResponse ``code`` equal to the status code of the response?
249
- 3. Is the errorResponse ``reason`` equal to the reason phrase of the response?
250
- 4. Throw the exception stored in the ``class`` attribute of the errorResponse.
251
-
252
- The ``class`` attribute must point to a class that implements
253
- ``Guzzle\Plugin\ErrorResponse\ErrorResponseExceptionInterface``. This interface requires that an error response class
254
- implements ``public static function fromCommand(CommandInterface $command, Response $response)``. This method must
255
- return an object that extends from ``\Exception``. After an exception is returned, it is thrown by the plugin.
256
-
257
- .. _parameter-schema:
258
-
259
- Parameter schema
260
- ----------------
261
-
262
- Parameters in both operations and models are represented using the
263
- `JSON schema <http://tools.ietf.org/id/draft-zyp-json-schema-04.html>`_ syntax.
264
-
265
- .. csv-table::
266
- :header: "Property Name", "Value", "Description"
267
- :widths: 20, 15, 65
268
-
269
- "name", "string", "Unique name of the parameter"
270
- "type", "string|array", "Type of variable (string, number, integer, boolean, object, array, numeric, null, any). Types are using for validation and determining the structure of a parameter. You can use a union type by providing an array of simple types. If one of the union types matches the provided value, then the value is valid."
271
- "instanceOf", "string", "When the type is an object, you can specify the class that the object must implement"
272
- "required", "boolean", "Whether or not the parameter is required"
273
- "default", "mixed", "Default value to use if no value is supplied"
274
- "static", "boolean", "Set to true to specify that the parameter value cannot be changed from the default setting"
275
- "description", "string", "Documentation of the parameter"
276
- "location", "string", "The location of a request used to apply a parameter. Custom locations can be registered with a command, but the defaults are uri, query, statusCode, reasonPhrase, header, body, json, xml, postField, postFile, responseBody"
277
- "sentAs", "string", "Specifies how the data being modeled is sent over the wire. For example, you may wish to include certain headers in a response model that have a normalized casing of FooBar, but the actual header is x-foo-bar. In this case, sentAs would be set to x-foo-bar."
278
- "filters", "array", "Array of functions to to run a parameter value through."
279
-
280
- filters
281
- ~~~~~~~
282
-
283
- Each value in the array must be a string containing the full class path to a static method or an array of complex
284
- filter information. You can specify static methods of classes using the full namespace class name followed by
285
- "::" (e.g. ``FooBar::baz()``). Some filters require arguments in order to properly filter a value. For complex filters,
286
- use an object containing a ``method`` attribute pointing to a function, and an ``args`` attribute containing an
287
- array of positional arguments to pass to the function. Arguments can contain keywords that are replaced when filtering
288
- a value: ``@value`` is replaced with the value being filtered, and ``@api`` is replaced with the actual Parameter
289
- object.
290
-
291
- .. code-block:: json
292
-
293
- {
294
- "filters": [
295
- "strtolower",
296
- {
297
- "method": "MyClass::convertString",
298
- "args": [ "test", "@value", "@api" ]
299
- }
300
- ]
301
- }
302
-
303
- The above example will filter a parameter using ``strtolower``. It will then call the ``convertString`` static method
304
- of ``MyClass``, passing in "test", the actual value of the parameter, and a ``Guzzle\Service\Description\Parameter``
305
- object.
306
-
307
- Operation parameter location attributes
308
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
309
-
310
- The location field of top-level parameters control how a parameter is serialized when generating a request.
311
-
312
- uri location
313
- ^^^^^^^^^^^^
314
-
315
- Parameters are injected into the ``uri`` attribute of the operation using
316
- `URI-template expansion <http://tools.ietf.org/html/rfc6570>`_.
317
-
318
- .. code-block:: json
319
-
320
- {
321
- "operations": {
322
- "uriTest": {
323
- "uri": "/test/{testValue}",
324
- "parameters": {
325
- "testValue": {
326
- "location": "uri"
327
- }
328
- }
329
- }
330
- }
331
- }
332
-
333
- query location
334
- ^^^^^^^^^^^^^^
335
-
336
- Parameters are injected into the query string of a request. Query values can be nested, which would result in a PHP
337
- style nested query string. The name of a parameter is the default name of the query string parameter added to the
338
- request. You can override this behavior by specifying the ``sentAs`` attribute on the parameter.
339
-
340
- .. code-block:: json
341
-
342
- {
343
- "operations": {
344
- "queryTest": {
345
- "parameters": {
346
- "testValue": {
347
- "location": "query",
348
- "sentAs": "test_value"
349
- }
350
- }
351
- }
352
- }
353
- }
354
-
355
- header location
356
- ^^^^^^^^^^^^^^^
357
-
358
- Parameters are injected as headers on an HTTP request. The name of the parameter is used as the name of the header by
359
- default. You can change the name of the header created by the parameter using the ``sentAs`` attribute.
360
-
361
- Headers that are of type ``object`` will be added as multiple headers to a request using the key of the input array as
362
- the header key. Setting a ``sentAs`` attribute along with a type ``object`` will use the value of ``sentAs`` as a
363
- prefix for each header key.
364
-
365
- body location
366
- ^^^^^^^^^^^^^
367
-
368
- Parameters are injected as the body of a request. The input of these parameters may be anything that can be cast to a
369
- string or a ``Guzzle\Http\EntityBodyInterface`` object.
370
-
371
- postField location
372
- ^^^^^^^^^^^^^^^^^^
373
-
374
- Parameters are inserted as POST fields in a request. Nested values may be supplied and will be represented using
375
- PHP style nested query strings. The POST field name is the same as the parameter name by default. You can use the
376
- ``sentAs`` parameter to override the POST field name.
377
-
378
- postFile location
379
- ^^^^^^^^^^^^^^^^^
380
-
381
- Parameters are added as POST files. A postFile value may be a string pointing to a local filename or a
382
- ``Guzzle\Http\Message\PostFileInterface`` object. The name of the POST file will be the name of the parameter by
383
- default. You can use a custom POST file name by using the ``sentAs`` attribute.
384
-
385
- Supports "string" and "array" types.
386
-
387
- json location
388
- ^^^^^^^^^^^^^
389
-
390
- Parameters are added to the body of a request as top level keys of a JSON document. Nested values may be specified,
391
- with any number of nested ``Guzzle\Common\ToArrayInterface`` objects. When JSON parameters are specified, the
392
- ``Content-Type`` of the request will change to ``application/json`` if a ``Content-Type`` has not already been specified
393
- on the request.
394
-
395
- xml location
396
- ^^^^^^^^^^^^
397
-
398
- Parameters are added to the body of a request as top level nodes of an XML document. Nested values may be specified,
399
- with any number of nested ``Guzzle\Common\ToArrayInterface`` objects. When XML parameters are specified, the
400
- ``Content-Type`` of the request will change to ``application/xml`` if a ``Content-Type`` has not already been specified
401
- on the request.
402
-
403
- responseBody location
404
- ^^^^^^^^^^^^^^^^^^^^^
405
-
406
- Specifies the EntityBody of a response. This can be used to download the response body to a file or a custom Guzzle
407
- EntityBody object.
408
-
409
- No location
410
- ^^^^^^^^^^^
411
-
412
- If a parameter has no location attribute, then the parameter is simply used as a data value.
413
-
414
- Other locations
415
- ^^^^^^^^^^^^^^^
416
-
417
- Custom locations can be registered as new locations or override default locations if needed.
418
-
419
- .. _model-schema:
420
-
421
- Model Schema
422
- ------------
423
-
424
- Models are used in service descriptions to provide generic JSON schema definitions that can be extended from or used in
425
- ``$ref`` attributes. Models can also be referenced in a ``responseClass`` attribute to provide valuable output to an
426
- operation. Models are JSON schema documents and use the exact syntax and attributes used in parameters.
427
-
428
- Response Models
429
- ~~~~~~~~~~~~~~~
430
-
431
- Response models describe how a response is parsed into a ``Guzzle\Service\Resource\Model`` object. Response models are
432
- always modeled as JSON schema objects. When an HTTP response is parsed using a response model, the rules specified on
433
- each property of a response model will translate 1:1 as keys in a PHP associative array. When a ``sentAs`` attribute is
434
- found in response model parameters, the value retrieved from the HTTP response is retrieved using the ``sentAs``
435
- parameter but stored in the response model using the name of the parameter.
436
-
437
- The location field of top-level parameters in a response model tell response parsers how data is retrieved from a
438
- response.
439
-
440
- statusCode location
441
- ^^^^^^^^^^^^^^^^^^^
442
-
443
- Retrieves the status code of the response.
444
-
445
- reasonPhrase location
446
- ^^^^^^^^^^^^^^^^^^^^^
447
-
448
- Retrieves the reason phrase of the response.
449
-
450
- header location
451
- ^^^^^^^^^^^^^^^
452
-
453
- Retrieves a header from the HTTP response.
454
-
455
- body location
456
- ^^^^^^^^^^^^^
457
-
458
- Retrieves the body of an HTTP response.
459
-
460
- json location
461
- ^^^^^^^^^^^^^
462
-
463
- Retrieves a top-level parameter from a JSON document contained in an HTTP response.
464
-
465
- You can use ``additionalProperties`` if the JSON document is wrapped in an outer array. This allows you to parse the
466
- contents of each item in the array using the parsing rules defined in the ``additionalProperties`` schema.
467
-
468
- xml location
469
- ^^^^^^^^^^^^
470
-
471
- Retrieves a top-level node value from an XML document contained in an HTTP response.
472
-
473
- Other locations
474
- ^^^^^^^^^^^^^^^
475
-
476
- Custom locations can be registered as new locations or override default locations if needed.
477
-
478
- Example service description
479
- ---------------------------
480
-
481
- Let's say you're interacting with a web service called 'Foo' that allows for the following routes and methods::
482
-
483
- GET/POST /users
484
- GET/DELETE /users/:id
485
-
486
- The following JSON service description implements this simple web service:
487
-
488
- .. class:: overflow-height-500px
489
-
490
- .. code-block:: json
491
-
492
- {
493
- "name": "Foo",
494
- "apiVersion": "2012-10-14",
495
- "baseUrl": "http://api.foo.com",
496
- "description": "Foo is an API that allows you to Baz Bar",
497
- "operations": {
498
- "GetUsers": {
499
- "httpMethod": "GET",
500
- "uri": "/users",
501
- "summary": "Gets a list of users",
502
- "responseClass": "GetUsersOutput"
503
- },
504
- "CreateUser": {
505
- "httpMethod": "POST",
506
- "uri": "/users",
507
- "summary": "Creates a new user",
508
- "responseClass": "CreateUserOutput",
509
- "parameters": {
510
- "name": {
511
- "location": "json",
512
- "type": "string"
513
- },
514
- "age": {
515
- "location": "json",
516
- "type": "integer"
517
- }
518
- }
519
- },
520
- "GetUser": {
521
- "httpMethod": "GET",
522
- "uri": "/users/{id}",
523
- "summary": "Retrieves a single user",
524
- "responseClass": "GetUserOutput",
525
- "parameters": {
526
- "id": {
527
- "location": "uri",
528
- "description": "User to retrieve by ID",
529
- "required": true
530
- }
531
- }
532
- },
533
- "DeleteUser": {
534
- "httpMethod": "DELETE",
535
- "uri": "/users/{id}",
536
- "summary": "Deletes a user",
537
- "responseClass": "DeleteUserOutput",
538
- "parameters": {
539
- "id": {
540
- "location": "uri",
541
- "description": "User to delete by ID",
542
- "required": true
543
- }
544
- }
545
- }
546
- },
547
- "models": {
548
- "GetUsersOutput": {
549
- "type": "array",
550
- "items": {
551
- "type": "object",
552
- "properties": {
553
- "name": {
554
- "location": "json",
555
- "type": "string"
556
- },
557
- "age": {
558
- "location": "json",
559
- "type": "integer"
560
- }
561
- }
562
- }
563
- },
564
- "CreateUserOutput": {
565
- "type": "object",
566
- "properties": {
567
- "id": {
568
- "location": "json",
569
- "type": "string"
570
- },
571
- "location": {
572
- "location": "header",
573
- "sentAs": "Location",
574
- "type": "string"
575
- }
576
- }
577
- },
578
- "GetUserOutput": {
579
- "type": "object",
580
- "properties": {
581
- "name": {
582
- "location": "json",
583
- "type": "string"
584
- },
585
- "age": {
586
- "location": "json",
587
- "type": "integer"
588
- }
589
- }
590
- },
591
- "DeleteUserOutput": {
592
- "type": "object",
593
- "properties": {
594
- "status": {
595
- "location": "statusCode",
596
- "type": "integer"
597
- }
598
- }
599
- }
600
- }
601
- }
602
-
603
- If you attach this service description to a client, you would completely configure the client to interact with the
604
- Foo web service and provide valuable response models for each operation.
605
-
606
- .. code-block:: php
607
-
608
- use Guzzle\Service\Description\ServiceDescription;
609
-
610
- $description = ServiceDescription::factory('/path/to/client.json');
611
- $client->setDescription($description);
612
-
613
- $command = $client->getCommand('DeleteUser', array('id' => 123));
614
- $responseModel = $client->execute($command);
615
- echo $responseModel['status'];
616
-
617
- .. note::
618
-
619
- You can add the service description to your client's factory method or constructor.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/webservice-client/using-the-service-builder.rst DELETED
@@ -1,316 +0,0 @@
1
- =======================
2
- Using a service builder
3
- =======================
4
-
5
- The best way to instantiate Guzzle web service clients is to let Guzzle handle building the clients for you using a
6
- ServiceBuilder. A ServiceBuilder is responsible for creating concrete client objects based on configuration settings
7
- and helps to manage credentials for different environments.
8
-
9
- You don't have to use a service builder, but they help to decouple your application from concrete classes and help to
10
- share configuration data across multiple clients. Consider the following example. Here we are creating two clients that
11
- require the same API public key and secret key. The clients are created using their ``factory()`` methods.
12
-
13
- .. code-block:: php
14
-
15
- use MyService\FooClient;
16
- use MyService\BarClient;
17
-
18
- $foo = FooClient::factory(array(
19
- 'key' => 'abc',
20
- 'secret' => '123',
21
- 'custom' => 'and above all'
22
- ));
23
-
24
- $bar = BarClient::factory(array(
25
- 'key' => 'abc',
26
- 'secret' => '123',
27
- 'custom' => 'listen to me'
28
- ));
29
-
30
- The redundant specification of the API keys can be removed using a service builder.
31
-
32
- .. code-block:: php
33
-
34
- use Guzzle\Service\Builder\ServiceBuilder;
35
-
36
- $builder = ServiceBuilder::factory(array(
37
- 'services' => array(
38
- 'abstract_client' => array(
39
- 'params' => array(
40
- 'key' => 'abc',
41
- 'secret' => '123'
42
- )
43
- ),
44
- 'foo' => array(
45
- 'extends' => 'abstract_client',
46
- 'class' => 'MyService\FooClient',
47
- 'params' => array(
48
- 'custom' => 'and above all'
49
- )
50
- ),
51
- 'bar' => array(
52
- 'extends' => 'abstract_client',
53
- 'class' => 'MyService\FooClient',
54
- 'params' => array(
55
- 'custom' => 'listen to me'
56
- )
57
- )
58
- )
59
- ));
60
-
61
- $foo = $builder->get('foo');
62
- $bar = $builder->get('bar');
63
-
64
- You can make managing your API keys even easier by saving the service builder configuration in a JSON format in a
65
- .json file.
66
-
67
- Creating a service builder
68
- --------------------------
69
-
70
- A ServiceBuilder can source information from an array, an PHP include file that returns an array, or a JSON file.
71
-
72
- .. code-block:: php
73
-
74
- use Guzzle\Service\Builder\ServiceBuilder;
75
-
76
- // Source service definitions from a JSON file
77
- $builder = ServiceBuilder::factory('services.json');
78
-
79
- Sourcing data from an array
80
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
81
-
82
- Data can be source from a PHP array. The array must contain an associative ``services`` array that maps the name of a
83
- client to the configuration information used by the service builder to create the client. Clients are given names
84
- which are used to identify how a client is retrieved from a service builder. This can be useful for using multiple
85
- accounts for the same service or creating development clients vs. production clients.
86
-
87
- .. code-block:: php
88
-
89
- $services = array(
90
- 'includes' => array(
91
- '/path/to/other/services.json',
92
- '/path/to/other/php_services.php'
93
- ),
94
- 'services' => array(
95
- 'abstract.foo' => array(
96
- 'params' => array(
97
- 'username' => 'foo',
98
- 'password' => 'bar'
99
- )
100
- ),
101
- 'bar' => array(
102
- 'extends' => 'abstract.foo',
103
- 'class' => 'MyClientClass',
104
- 'params' => array(
105
- 'other' => 'abc'
106
- )
107
- )
108
- )
109
- );
110
-
111
- A service builder configuration array contains two top-level array keys:
112
-
113
- +------------+---------------------------------------------------------------------------------------------------------+
114
- | Key | Description |
115
- +============+=========================================================================================================+
116
- | includes | Array of paths to JSON or PHP include files to include in the configuration. |
117
- +------------+---------------------------------------------------------------------------------------------------------+
118
- | services | Associative array of defined services that can be created by the service builder. Each service can |
119
- | | contain the following keys: |
120
- | | |
121
- | | +------------+----------------------------------------------------------------------------------------+ |
122
- | | | Key | Description | |
123
- | | +============+========================================================================================+ |
124
- | | | class | The concrete class to instantiate that implements the | |
125
- | | | | ``Guzzle\Common\FromConfigInterface``. | |
126
- | | +------------+----------------------------------------------------------------------------------------+ |
127
- | | | extends | The name of a previously defined service to extend from | |
128
- | | +------------+----------------------------------------------------------------------------------------+ |
129
- | | | params | Associative array of parameters to pass to the factory method of the service it is | |
130
- | | | | instantiated | |
131
- | | +------------+----------------------------------------------------------------------------------------+ |
132
- | | | alias | An alias that can be used in addition to the array key for retrieving a client from | |
133
- | | | | the service builder. | |
134
- | | +------------+----------------------------------------------------------------------------------------+ |
135
- +------------+---------------------------------------------------------------------------------------------------------+
136
-
137
- The first client defined, ``abstract.foo``, is used as a placeholder of shared configuration values. Any service
138
- extending abstract.foo will inherit its params. As an example, this can be useful when clients share the same username
139
- and password.
140
-
141
- The next client, ``bar``, extends from ``abstract.foo`` using the ``extends`` attribute referencing the client from
142
- which to extend. Additional parameters can be merged into the original service definition when extending a parent
143
- service.
144
-
145
- .. important::
146
-
147
- Each client that you intend to instantiate must specify a ``class`` attribute that references the full class name
148
- of the client being created. The class referenced in the ``class`` parameter must implement a static ``factory()``
149
- method that accepts an array or ``Guzzle\Common\Collection`` object and returns an instantiated object.
150
-
151
- Sourcing from a PHP include
152
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
153
-
154
- You can create service builder configurations using a PHP include file. This can be useful if you wish to take
155
- advantage of an opcode cache like APC to speed up the process of loading and processing the configuration. The PHP
156
- include file is the same format as an array, but you simply create a PHP script that returns an array and save the
157
- file with the .php file extension.
158
-
159
- .. code-block:: php
160
-
161
- <?php return array('services' => '...');
162
- // Saved as config.php
163
-
164
- This configuration file can then be used with a service builder.
165
-
166
- .. code-block:: php
167
-
168
- $builder = ServiceBuilder::factory('/path/to/config.php');
169
-
170
- Sourcing from a JSON document
171
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172
-
173
- You can use JSON documents to serialize your service descriptions. The JSON format uses the exact same structure as
174
- the PHP array syntax, but it's just serialized using JSON.
175
-
176
- .. code-block:: javascript
177
-
178
- {
179
- "includes": ["/path/to/other/services.json", "/path/to/other/php_services.php"],
180
- "services": {
181
- "abstract.foo": {
182
- "params": {
183
- "username": "foo",
184
- "password": "bar"
185
- }
186
- },
187
- "bar": {
188
- "extends": "abstract.foo",
189
- "class": "MyClientClass",
190
- "params": {
191
- "other": "abc"
192
- }
193
- }
194
- }
195
- }
196
-
197
- Referencing other clients in parameters
198
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
199
-
200
- If one of your clients depends on another client as one of its parameters, you can reference that client by name by
201
- enclosing the client's reference key in ``{}``.
202
-
203
- .. code-block:: javascript
204
-
205
- {
206
- "services": {
207
- "token": {
208
- "class": "My\Token\TokenFactory",
209
- "params": {
210
- "access_key": "xyz"
211
- }
212
- },
213
- "client": {
214
- "class": "My\Client",
215
- "params": {
216
- "token_client": "{token}",
217
- "version": "1.0"
218
- }
219
- }
220
- }
221
- }
222
-
223
- When ``client`` is constructed by the service builder, the service builder will first create the ``token`` service
224
- and then inject the token service into ``client``'s factory method in the ``token_client`` parameter.
225
-
226
- Retrieving clients from a service builder
227
- -----------------------------------------
228
-
229
- Clients are referenced using a customizable name you provide in your service definition. The ServiceBuilder is a sort
230
- of multiton object-- it will only instantiate a client once and return that client for subsequent retrievals. Clients
231
- are retrieved by name (the array key used in the configuration) or by the ``alias`` setting of a service.
232
-
233
- Here's an example of retrieving a client from your ServiceBuilder:
234
-
235
- .. code-block:: php
236
-
237
- $client = $builder->get('foo');
238
-
239
- // You can also use the ServiceBuilder object as an array
240
- $client = $builder['foo'];
241
-
242
- Creating throwaway clients
243
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
244
-
245
- You can get a "throwaway" client (a client that is not persisted by the ServiceBuilder) by passing ``true`` in the
246
- second argument of ``ServiceBuilder::get()``. This allows you to create a client that will not be returned by other
247
- parts of your code that use the service builder. Instead of passing ``true``, you can pass an array of configuration
248
- settings that will override the configuration settings specified in the service builder.
249
-
250
- .. code-block:: php
251
-
252
- // Get a throwaway client and overwrite the "custom" setting of the client
253
- $foo = $builder->get('foo', array(
254
- 'custom' => 'in this world there are rules'
255
- ));
256
-
257
- Getting raw configuration settings
258
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
259
-
260
- You can get the raw configuration settings provided to the service builder for a specific service using the
261
- ``getData($name)`` method of a service builder. This method will null if the service was not found in the service
262
- builder or an array of configuration settings if the service was found.
263
-
264
- .. code-block:: php
265
-
266
- $data = $builder->getData('foo');
267
- echo $data['key'] . "\n";
268
- echo $data['secret'] . "\n";
269
- echo $data['custom'] . "\n";
270
-
271
- Adding a plugin to all clients
272
- ------------------------------
273
-
274
- You can add a plugin to all clients created by a service builder using the ``addGlobalPlugin($plugin)`` method of a
275
- service builder and passing a ``Symfony\Component\EventDispatcher\EventSubscriberInterface`` object. The service builder
276
- will then attach each global plugin to every client as it is created. This allows you to, for example, add a LogPlugin
277
- to every request created by a service builder for easy debugging.
278
-
279
- .. code-block:: php
280
-
281
- use Guzzle\Plugin\Log\LogPlugin;
282
-
283
- // Add a debug log plugin to every client as it is created
284
- $builder->addGlobalPlugin(LogPlugin::getDebugPlugin());
285
-
286
- $foo = $builder->get('foo');
287
- $foo->get('/')->send();
288
- // Should output all of the data sent over the wire
289
-
290
- .. _service-builder-events:
291
-
292
- Events emitted from a service builder
293
- -------------------------------------
294
-
295
- A ``Guzzle\Service\Builder\ServiceBuilder`` object emits the following events:
296
-
297
- +-------------------------------+--------------------------------------------+-----------------------------------------+
298
- | Event name | Description | Event data |
299
- +===============================+============================================+=========================================+
300
- | service_builder.create_client | Called when a client is created | * client: The created client object |
301
- +-------------------------------+--------------------------------------------+-----------------------------------------+
302
-
303
- .. code-block:: php
304
-
305
- use Guzzle\Common\Event;
306
- use Guzzle\Service\Builder\ServiceBuilder;
307
-
308
- $builder = ServiceBuilder::factory('/path/to/config.json');
309
-
310
- // Add an event listener to print out each client client as it is created
311
- $builder->getEventDispatcher()->addListener('service_builder.create_client', function (Event $e) {
312
- echo 'Client created: ' . get_class($e['client']) . "\n";
313
- });
314
-
315
- $foo = $builder->get('foo');
316
- // Should output the class used for the "foo" client
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/docs/webservice-client/webservice-client.rst DELETED
@@ -1,659 +0,0 @@
1
- ======================
2
- The web service client
3
- ======================
4
-
5
- The ``Guzzle\Service`` namespace contains various abstractions that help to make it easier to interact with a web
6
- service API, including commands, service descriptions, and resource iterators.
7
-
8
- In this chapter, we'll build a simple `Twitter API client <https://dev.twitter.com/docs/api/1.1>`_.
9
-
10
- Creating a client
11
- =================
12
-
13
- A class that extends from ``Guzzle\Service\Client`` or implements ``Guzzle\Service\ClientInterface`` must implement a
14
- ``factory()`` method in order to be used with a :doc:`service builder <using-the-service-builder>`.
15
-
16
- Factory method
17
- --------------
18
-
19
- You can use the ``factory()`` method of a client directly if you do not need a service builder.
20
-
21
- .. code-block:: php
22
-
23
- use mtdowling\TwitterClient;
24
-
25
- // Create a client and pass an array of configuration data
26
- $twitter = TwitterClient::factory(array(
27
- 'consumer_key' => '****',
28
- 'consumer_secret' => '****',
29
- 'token' => '****',
30
- 'token_secret' => '****'
31
- ));
32
-
33
- .. note::
34
-
35
- If you'd like to follow along, here's how to get your Twitter API credentials:
36
-
37
- 1. Visit https://dev.twitter.com/apps
38
- 2. Click on an application that you've created
39
- 3. Click on the "OAuth tool" tab
40
- 4. Copy all of the settings under "OAuth Settings"
41
-
42
- Implementing a factory method
43
- -----------------------------
44
-
45
- Creating a client and its factory method is pretty simple. You just need to implement ``Guzzle\Service\ClientInterface``
46
- or extend from ``Guzzle\Service\Client``.
47
-
48
- .. code-block:: php
49
-
50
- namespace mtdowling;
51
-
52
- use Guzzle\Common\Collection;
53
- use Guzzle\Plugin\Oauth\OauthPlugin;
54
- use Guzzle\Service\Client;
55
- use Guzzle\Service\Description\ServiceDescription;
56
-
57
- /**
58
- * A simple Twitter API client
59
- */
60
- class TwitterClient extends Client
61
- {
62
- public static function factory($config = array())
63
- {
64
- // Provide a hash of default client configuration options
65
- $default = array('base_url' => 'https://api.twitter.com/1.1');
66
-
67
- // The following values are required when creating the client
68
- $required = array(
69
- 'base_url',
70
- 'consumer_key',
71
- 'consumer_secret',
72
- 'token',
73
- 'token_secret'
74
- );
75
-
76
- // Merge in default settings and validate the config
77
- $config = Collection::fromConfig($config, $default, $required);
78
-
79
- // Create a new Twitter client
80
- $client = new self($config->get('base_url'), $config);
81
-
82
- // Ensure that the OauthPlugin is attached to the client
83
- $client->addSubscriber(new OauthPlugin($config->toArray()));
84
-
85
- return $client;
86
- }
87
- }
88
-
89
- Service Builder
90
- ---------------
91
-
92
- A service builder is used to easily create web service clients, provides a simple configuration driven approach to
93
- creating clients, and allows you to share configuration settings across multiple clients. You can find out more about
94
- Guzzle's service builder in :doc:`using-the-service-builder`.
95
-
96
- .. code-block:: php
97
-
98
- use Guzzle\Service\Builder\ServiceBuilder;
99
-
100
- // Create a service builder and provide client configuration data
101
- $builder = ServiceBuilder::factory('/path/to/client_config.json');
102
-
103
- // Get the client from the service builder by name
104
- $twitter = $builder->get('twitter');
105
-
106
- The above example assumes you have JSON data similar to the following stored in "/path/to/client_config.json":
107
-
108
- .. code-block:: json
109
-
110
- {
111
- "services": {
112
- "twitter": {
113
- "class": "mtdowling\\TwitterClient",
114
- "params": {
115
- "consumer_key": "****",
116
- "consumer_secret": "****",
117
- "token": "****",
118
- "token_secret": "****"
119
- }
120
- }
121
- }
122
- }
123
-
124
- .. note::
125
-
126
- A service builder becomes much more valuable when using multiple web service clients in a single application or
127
- if you need to utilize the same client with varying configuration settings (e.g. multiple accounts).
128
-
129
- Commands
130
- ========
131
-
132
- Commands are a concept in Guzzle that helps to hide the underlying implementation of an API by providing an easy to use
133
- parameter driven object for each action of an API. A command is responsible for accepting an array of configuration
134
- parameters, serializing an HTTP request, and parsing an HTTP response. Following the
135
- `command pattern <http://en.wikipedia.org/wiki/Command_pattern>`_, commands in Guzzle offer a greater level of
136
- flexibility when implementing and utilizing a web service client.
137
-
138
- Executing commands
139
- ------------------
140
-
141
- You must explicitly execute a command after creating a command using the ``getCommand()`` method. A command has an
142
- ``execute()`` method that may be called, or you can use the ``execute()`` method of a client object and pass in the
143
- command object. Calling either of these execute methods will return the result value of the command. The result value is
144
- the result of parsing the HTTP response with the ``process()`` method.
145
-
146
- .. code-block:: php
147
-
148
- // Get a command from the client and pass an array of parameters
149
- $command = $twitter->getCommand('getMentions', array(
150
- 'count' => 5
151
- ));
152
-
153
- // Other parameters can be set on the command after it is created
154
- $command['trim_user'] = false;
155
-
156
- // Execute the command using the command object.
157
- // The result value contains an array of JSON data from the response
158
- $result = $command->execute();
159
-
160
- // You can retrieve the result of the command later too
161
- $result = $command->getResult().
162
-
163
- Command object also contains methods that allow you to inspect the HTTP request and response that was utilized with
164
- the command.
165
-
166
- .. code-block:: php
167
-
168
- $request = $command->getRequest();
169
- $response = $command->getResponse();
170
-
171
- .. note::
172
-
173
- The format and notation used to retrieve commands from a client can be customized by injecting a custom command
174
- factory, ``Guzzle\Service\Command\Factory\FactoryInterface``, on the client using ``$client->setCommandFactory()``.
175
-
176
- Executing with magic methods
177
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
178
-
179
- When using method missing magic methods with a command, the command will be executed right away and the result of the
180
- command is returned.
181
-
182
- .. code-block:: php
183
-
184
- $jsonData = $twitter->getMentions(array(
185
- 'count' => 5,
186
- 'trim_user' => true
187
- ));
188
-
189
- Creating commands
190
- -----------------
191
-
192
- Commands are created using either the ``getCommand()`` method of a client or a magic missing method of a client. Using
193
- the ``getCommand()`` method allows you to create a command without executing it, allowing for customization of the
194
- command or the request serialized by the command.
195
-
196
- When a client attempts to create a command, it uses the client's ``Guzzle\Service\Command\Factory\FactoryInterface``.
197
- By default, Guzzle will utilize a command factory that first looks for a concrete class for a particular command
198
- (concrete commands) followed by a command defined by a service description (operation commands). We'll learn more about
199
- concrete commands and operation commands later in this chapter.
200
-
201
- .. code-block:: php
202
-
203
- // Get a command from the twitter client.
204
- $command = $twitter->getCommand('getMentions');
205
- $result = $command->execute();
206
-
207
- Unless you've skipped ahead, running the above code will throw an exception.
208
-
209
- PHP Fatal error: Uncaught exception 'Guzzle\Common\Exception\InvalidArgumentException' with message
210
- 'Command was not found matching getMentions'
211
-
212
- This exception was thrown because the "getMentions" command has not yet been implemented. Let's implement one now.
213
-
214
- Concrete commands
215
- ~~~~~~~~~~~~~~~~~
216
-
217
- Commands can be created in one of two ways: create a concrete command class that extends
218
- ``Guzzle\Service\Command\AbstractCommand`` or
219
- :doc:`create an OperationCommand based on a service description <guzzle-service-descriptions>`. The recommended
220
- approach is to use a service description to define your web service, but you can use concrete commands when custom
221
- logic must be implemented for marshaling or unmarshaling a HTTP message.
222
-
223
- Commands are the method in which you abstract away the underlying format of the requests that need to be sent to take
224
- action on a web service. Commands in Guzzle are meant to be built by executing a series of setter methods on a command
225
- object. Commands are only validated right before they are executed. A ``Guzzle\Service\Client`` object is responsible
226
- for executing commands. Commands created for your web service must implement
227
- ``Guzzle\Service\Command\CommandInterface``, but it's easier to extend the ``Guzzle\Service\Command\AbstractCommand``
228
- class, implement the ``build()`` method, and optionally implement the ``process()`` method.
229
-
230
- Serializing requests
231
- ^^^^^^^^^^^^^^^^^^^^
232
-
233
- The ``build()`` method of a command is responsible for using the arguments of the command to build and serialize a
234
- HTTP request and set the request on the ``$request`` property of the command object. This step is usually taken care of
235
- for you when using a service description driven command that uses the default
236
- ``Guzzle\Service\Command\OperationCommand``. You may wish to implement the process method yourself when you aren't
237
- using a service description or need to implement more complex request serialization.
238
-
239
- .. important::::
240
-
241
- When implementing a custom ``build()`` method, be sure to set the class property of ``$this->request`` to an
242
- instantiated and ready to send request.
243
-
244
- The following example shows how to implement the ``getMentions``
245
- `Twitter API <https://dev.twitter.com/docs/api/1.1/get/statuses/mentions_timeline>`_ method using a concrete command.
246
-
247
- .. code-block:: php
248
-
249
- namespace mtdowling\Twitter\Command;
250
-
251
- use Guzzle\Service\Command\AbstractCommand;
252
-
253
- class GetMentions extends AbstractCommand
254
- {
255
- protected function build()
256
- {
257
- // Create the request property of the command
258
- $this->request = $this->client->get('statuses/mentions_timeline.json');
259
-
260
- // Grab the query object of the request because we will use it for
261
- // serializing command parameters on the request
262
- $query = $this->request->getQuery();
263
-
264
- if ($this['count']) {
265
- $query->set('count', $this['count']);
266
- }
267
-
268
- if ($this['since_id']) {
269
- $query->set('since_id', $this['since_id']);
270
- }
271
-
272
- if ($this['max_id']) {
273
- $query->set('max_id', $this['max_id']);
274
- }
275
-
276
- if ($this['trim_user'] !== null) {
277
- $query->set('trim_user', $this['trim_user'] ? 'true' : 'false');
278
- }
279
-
280
- if ($this['contributor_details'] !== null) {
281
- $query->set('contributor_details', $this['contributor_details'] ? 'true' : 'false');
282
- }
283
-
284
- if ($this['include_entities'] !== null) {
285
- $query->set('include_entities', $this['include_entities'] ? 'true' : 'false');
286
- }
287
- }
288
- }
289
-
290
- By default, a client will attempt to find concrete command classes under the ``Command`` namespace of a client. First
291
- the client will attempt to find an exact match for the name of the command to the name of the command class. If an
292
- exact match is not found, the client will calculate a class name using inflection. This is calculated based on the
293
- folder hierarchy of a command and converting the CamelCased named commands into snake_case. Here are some examples on
294
- how the command names are calculated:
295
-
296
- #. ``Foo\Command\JarJar`` **->** jar_jar
297
- #. ``Foo\Command\Test`` **->** test
298
- #. ``Foo\Command\People\GetCurrentPerson`` **->** people.get_current_person
299
-
300
- Notice how any sub-namespace beneath ``Command`` is converted from ``\`` to ``.`` (a period). CamelCasing is converted
301
- to lowercased snake_casing (e.g. JarJar == jar_jar).
302
-
303
- Parsing responses
304
- ^^^^^^^^^^^^^^^^^
305
-
306
- The ``process()`` method of a command is responsible for converting an HTTP response into something more useful. For
307
- example, a service description operation that has specified a model object in the ``responseClass`` attribute of the
308
- operation will set a ``Guzzle\Service\Resource\Model`` object as the result of the command. This behavior can be
309
- completely modified as needed-- even if you are using operations and responseClass models. Simply implement a custom
310
- ``process()`` method that sets the ``$this->result`` class property to whatever you choose. You can reuse parts of the
311
- default Guzzle response parsing functionality or get inspiration from existing code by using
312
- ``Guzzle\Service\Command\OperationResponseParser`` and ``Guzzle\Service\Command\DefaultResponseParser`` classes.
313
-
314
- If you do not implement a custom ``process()`` method and are not using a service description, then Guzzle will attempt
315
- to guess how a response should be processed based on the Content-Type header of the response. Because the Twitter API
316
- sets a ``Content-Type: application/json`` header on this response, we do not need to implement any custom response
317
- parsing.
318
-
319
- Operation commands
320
- ~~~~~~~~~~~~~~~~~~
321
-
322
- Operation commands are commands in which the serialization of an HTTP request and the parsing of an HTTP response are
323
- driven by a Guzzle service description. Because request serialization, validation, and response parsing are
324
- described using a DSL, creating operation commands is a much faster process than writing concrete commands.
325
-
326
- Creating operation commands for our Twitter client can remove a great deal of redundancy from the previous concrete
327
- command, and allows for a deeper runtime introspection of the API. Here's an example service description we can use to
328
- create the Twitter API client:
329
-
330
- .. code-block:: json
331
-
332
- {
333
- "name": "Twitter",
334
- "apiVersion": "1.1",
335
- "baseUrl": "https://api.twitter.com/1.1",
336
- "description": "Twitter REST API client",
337
- "operations": {
338
- "GetMentions": {
339
- "httpMethod": "GET",
340
- "uri": "statuses/mentions_timeline.json",
341
- "summary": "Returns the 20 most recent mentions for the authenticating user.",
342
- "responseClass": "GetMentionsOutput",
343
- "parameters": {
344
- "count": {
345
- "description": "Specifies the number of tweets to try and retrieve",
346
- "type": "integer",
347
- "location": "query"
348
- },
349
- "since_id": {
350
- "description": "Returns results with an ID greater than the specified ID",
351
- "type": "integer",
352
- "location": "query"
353
- },
354
- "max_id": {
355
- "description": "Returns results with an ID less than or equal to the specified ID.",
356
- "type": "integer",
357
- "location": "query"
358
- },
359
- "trim_user": {
360
- "description": "Limits the amount of data returned for each user",
361
- "type": "boolean",
362
- "location": "query"
363
- },
364
- "contributor_details": {
365
- "description": "Adds more data to contributor elements",
366
- "type": "boolean",
367
- "location": "query"
368
- },
369
- "include_entities": {
370
- "description": "The entities node will be disincluded when set to false.",
371
- "type": "boolean",
372
- "location": "query"
373
- }
374
- }
375
- }
376
- },
377
- "models": {
378
- "GetMentionsOutput": {
379
- "type": "object",
380
- "additionalProperties": {
381
- "location": "json"
382
- }
383
- }
384
- }
385
- }
386
-
387
- If you're lazy, you can define the API in a less descriptive manner using ``additionalParameters``.
388
- ``additionalParameters`` define the serialization and validation rules of parameters that are not explicitly defined
389
- in a service description.
390
-
391
- .. code-block:: json
392
-
393
- {
394
- "name": "Twitter",
395
- "apiVersion": "1.1",
396
- "baseUrl": "https://api.twitter.com/1.1",
397
- "description": "Twitter REST API client",
398
- "operations": {
399
- "GetMentions": {
400
- "httpMethod": "GET",
401
- "uri": "statuses/mentions_timeline.json",
402
- "summary": "Returns the 20 most recent mentions for the authenticating user.",
403
- "responseClass": "GetMentionsOutput",
404
- "additionalParameters": {
405
- "location": "query"
406
- }
407
- }
408
- },
409
- "models": {
410
- "GetMentionsOutput": {
411
- "type": "object",
412
- "additionalProperties": {
413
- "location": "json"
414
- }
415
- }
416
- }
417
- }
418
-
419
- You should attach the service description to the client at the end of the client's factory method:
420
-
421
- .. code-block:: php
422
-
423
- // ...
424
- class TwitterClient extends Client
425
- {
426
- public static function factory($config = array())
427
- {
428
- // ... same code as before ...
429
-
430
- // Set the service description
431
- $client->setDescription(ServiceDescription::factory('path/to/twitter.json'));
432
-
433
- return $client;
434
- }
435
- }
436
-
437
- The client can now use operations defined in the service description instead of requiring you to create concrete
438
- command classes. Feel free to delete the concrete command class we created earlier.
439
-
440
- .. code-block:: php
441
-
442
- $jsonData = $twitter->getMentions(array(
443
- 'count' => 5,
444
- 'trim_user' => true
445
- ));
446
-
447
- Executing commands in parallel
448
- ------------------------------
449
-
450
- Much like HTTP requests, Guzzle allows you to send multiple commands in parallel. You can send commands in parallel by
451
- passing an array of command objects to a client's ``execute()`` method. The client will serialize each request and
452
- send them all in parallel. If an error is encountered during the transfer, then a
453
- ``Guzzle\Service\Exception\CommandTransferException`` is thrown, which allows you to retrieve a list of commands that
454
- succeeded and a list of commands that failed.
455
-
456
- .. code-block:: php
457
-
458
- use Guzzle\Service\Exception\CommandTransferException;
459
-
460
- $commands = array();
461
- $commands[] = $twitter->getCommand('getMentions');
462
- $commands[] = $twitter->getCommand('otherCommandName');
463
- // etc...
464
-
465
- try {
466
- $result = $client->execute($commands);
467
- foreach ($result as $command) {
468
- echo $command->getName() . ': ' . $command->getResponse()->getStatusCode() . "\n";
469
- }
470
- } catch (CommandTransferException $e) {
471
- // Get an array of the commands that succeeded
472
- foreach ($e->getSuccessfulCommands() as $command) {
473
- echo $command->getName() . " succeeded\n";
474
- }
475
- // Get an array of the commands that failed
476
- foreach ($e->getFailedCommands() as $command) {
477
- echo $command->getName() . " failed\n";
478
- }
479
- }
480
-
481
- .. note::
482
-
483
- All commands executed from a client using an array must originate from the same client.
484
-
485
- Special command options
486
- -----------------------
487
-
488
- Guzzle exposes several options that help to control how commands are validated, serialized, and parsed.
489
- Command options can be specified when creating a command or in the ``command.params`` parameter in the
490
- ``Guzzle\Service\Client``.
491
-
492
- =========================== ============================================================================================
493
- command.request_options Option used to add :ref:`Request options <request-options>` to the request created by a
494
- command
495
- command.hidden_params An array of the names of parameters ignored by the ``additionalParameters`` parameter schema
496
- command.disable_validation Set to true to disable JSON schema validation of the command's input parameters
497
- command.response_processing Determines how the default response parser will parse the command. One of "raw" no parsing,
498
- "model" (the default method used to parse commands using response models defined in service
499
- descriptions)
500
- command.headers (deprecated) Option used to specify custom headers. Use ``command.request_options`` instead
501
- command.on_complete (deprecated) Option used to add an onComplete method to a command. Use
502
- ``command.after_send`` event instead
503
- command.response_body (deprecated) Option used to change the entity body used to store a response.
504
- Use ``command.request_options`` instead
505
- =========================== ============================================================================================
506
-
507
- Advanced client configuration
508
- =============================
509
-
510
- Default command parameters
511
- --------------------------
512
-
513
- When creating a client object, you can specify default command parameters to pass into all commands. Any key value pair
514
- present in the ``command.params`` settings of a client will be added as default parameters to any command created
515
- by the client.
516
-
517
- .. code-block:: php
518
-
519
- $client = new Guzzle\Service\Client(array(
520
- 'command.params' => array(
521
- 'default_1' => 'foo',
522
- 'another' => 'bar'
523
- )
524
- ));
525
-
526
- Magic methods
527
- -------------
528
-
529
- Client objects will, by default, attempt to create and execute commands when a missing method is invoked on a client.
530
- This powerful concept applies to both concrete commands and operation commands powered by a service description. This
531
- makes it appear to the end user that you have defined actual methods on a client object, when in fact, the methods are
532
- invoked using PHP's magic ``__call`` method.
533
-
534
- The ``__call`` method uses the ``getCommand()`` method of a client, which uses the client's internal
535
- ``Guzzle\Service\Command\Factory\FactoryInterface`` object. The default command factory allows you to instantiate
536
- operations defined in a client's service description. The method in which a client determines which command to
537
- execute is defined as follows:
538
-
539
- 1. The client will first try to find a literal match for an operation in the service description.
540
- 2. If the literal match is not found, the client will try to uppercase the first character of the operation and find
541
- the match again.
542
- 3. If a match is still not found, the command factory will inflect the method name from CamelCase to snake_case and
543
- attempt to find a matching command.
544
- 4. If a command still does not match, an exception is thrown.
545
-
546
- .. code-block:: php
547
-
548
- // Use the magic method
549
- $result = $twitter->getMentions();
550
-
551
- // This is exactly the same as:
552
- $result = $twitter->getCommand('getMentions')->execute();
553
-
554
- You can disable magic methods on a client by passing ``false`` to the ``enableMagicMethod()`` method.
555
-
556
- Custom command factory
557
- ----------------------
558
-
559
- A client by default uses the ``Guzzle\Service\Command\Factory\CompositeFactory`` which allows multiple command
560
- factories to attempt to create a command by a certain name. The default CompositeFactory uses a ``ConcreteClassFactory``
561
- and a ``ServiceDescriptionFactory`` if a service description is specified on a client. You can specify a custom
562
- command factory if your client requires custom command creation logic using the ``setCommandFactory()`` method of
563
- a client.
564
-
565
- Custom resource Iterator factory
566
- --------------------------------
567
-
568
- Resource iterators can be retrieved from a client using the ``getIterator($name)`` method of a client. This method uses
569
- a client's internal ``Guzzle\Service\Resource\ResourceIteratorFactoryInterface`` object. A client by default uses a
570
- ``Guzzle\Service\Resource\ResourceIteratorClassFactory`` to attempt to find concrete classes that implement resource
571
- iterators. The default factory will first look for matching iterators in the ``Iterator`` subdirectory of the client
572
- followed by the ``Model`` subdirectory of a client. Use the ``setResourceIteratorFactory()`` method of a client to
573
- specify a custom resource iterator factory.
574
-
575
- Plugins and events
576
- ==================
577
-
578
- ``Guzzle\Service\Client`` exposes various events that allow you to hook in custom logic. A client object owns a
579
- ``Symfony\Component\EventDispatcher\EventDispatcher`` object that can be accessed by calling
580
- ``$client->getEventDispatcher()``. You can use the event dispatcher to add listeners (a simple callback function) or
581
- event subscribers (classes that listen to specific events of a dispatcher).
582
-
583
- .. _service-client-events:
584
-
585
- Events emitted from a Service Client
586
- ------------------------------------
587
-
588
- A ``Guzzle\Service\Client`` object emits the following events:
589
-
590
- +------------------------------+--------------------------------------------+------------------------------------------+
591
- | Event name | Description | Event data |
592
- +==============================+============================================+==========================================+
593
- | client.command.create | The client created a command object | * client: Client object |
594
- | | | * command: Command object |
595
- +------------------------------+--------------------------------------------+------------------------------------------+
596
- | command.before_prepare | Before a command is validated and built. | * command: Command being prepared |
597
- | | This is also before a request is created. | |
598
- +------------------------------+--------------------------------------------+------------------------------------------+
599
- | command.after_prepare | After a command instantiates and | * command: Command that was prepared |
600
- | | configures its request object. | |
601
- +------------------------------+--------------------------------------------+------------------------------------------+
602
- | command.before_send | The client is about to execute a prepared | * command: Command to execute |
603
- | | command | |
604
- +------------------------------+--------------------------------------------+------------------------------------------+
605
- | command.after_send | The client successfully completed | * command: The command that was executed |
606
- | | executing a command | |
607
- +------------------------------+--------------------------------------------+------------------------------------------+
608
- | command.parse_response | Called when ``responseType`` is ``class`` | * command: The command with a response |
609
- | | and the response is about to be parsed. | about to be parsed. |
610
- +------------------------------+--------------------------------------------+------------------------------------------+
611
-
612
- .. code-block:: php
613
-
614
- use Guzzle\Common\Event;
615
- use Guzzle\Service\Client;
616
-
617
- $client = new Client();
618
-
619
- // create an event listener that operates on request objects
620
- $client->getEventDispatcher()->addListener('command.after_prepare', function (Event $event) {
621
- $command = $event['command'];
622
- $request = $command->getRequest();
623
-
624
- // do something with request
625
- });
626
-
627
- .. code-block:: php
628
-
629
- use Guzzle\Common\Event;
630
- use Guzzle\Common\Client;
631
- use Symfony\Component\EventDispatcher\EventSubscriberInterface;
632
-
633
- class EventSubscriber implements EventSubscriberInterface
634
- {
635
- public static function getSubscribedEvents()
636
- {
637
- return array(
638
- 'client.command.create' => 'onCommandCreate',
639
- 'command.parse_response' => 'onParseResponse'
640
- );
641
- }
642
-
643
- public function onCommandCreate(Event $event)
644
- {
645
- $client = $event['client'];
646
- $command = $event['command'];
647
- // operate on client and command
648
- }
649
-
650
- public function onParseResponse(Event $event)
651
- {
652
- $command = $event['command'];
653
- // operate on the command
654
- }
655
- }
656
-
657
- $client = new Client();
658
-
659
- $client->addSubscriber(new EventSubscriber());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/phpunit.xml.dist DELETED
@@ -1,48 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <phpunit bootstrap="./tests/bootstrap.php"
3
- colors="true"
4
- processIsolation="false"
5
- stopOnFailure="false"
6
- syntaxCheck="false"
7
- convertErrorsToExceptions="true"
8
- convertNoticesToExceptions="true"
9
- convertWarningsToExceptions="true"
10
- testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader">
11
-
12
- <testsuites>
13
- <testsuite>
14
- <directory>./tests/Guzzle/Tests</directory>
15
- </testsuite>
16
- </testsuites>
17
-
18
- <logging>
19
- <log type="junit" target="build/artifacts/logs/junit.xml" logIncompleteSkipped="false" />
20
- </logging>
21
-
22
- <filter>
23
- <whitelist>
24
- <directory suffix=".php">./src/Guzzle</directory>
25
- <exclude>
26
- <directory suffix="Interface.php">./src/Guzzle</directory>
27
- <file>./src/Guzzle/Common/Exception/GuzzleException.php</file>
28
- <file>./src/Guzzle/Http/Exception/HttpException.php</file>
29
- <file>./src/Guzzle/Http/Exception/ServerErrorResponseException.php</file>
30
- <file>./src/Guzzle/Http/Exception/ClientErrorResponseException.php</file>
31
- <file>./src/Guzzle/Http/Exception/TooManyRedirectsException.php</file>
32
- <file>./src/Guzzle/Http/Exception/CouldNotRewindStreamException.php</file>
33
- <file>./src/Guzzle/Common/Exception/BadMethodCallException.php</file>
34
- <file>./src/Guzzle/Common/Exception/InvalidArgumentException.php</file>
35
- <file>./src/Guzzle/Common/Exception/RuntimeException.php</file>
36
- <file>./src/Guzzle/Common/Exception/UnexpectedValueException.php</file>
37
- <file>./src/Guzzle/Service/Exception/ClientNotFoundException.php</file>
38
- <file>./src/Guzzle/Service/Exception/CommandException.php</file>
39
- <file>./src/Guzzle/Service/Exception/DescriptionBuilderException.php</file>
40
- <file>./src/Guzzle/Service/Exception/ServiceBuilderException.php</file>
41
- <file>./src/Guzzle/Service/Exception/ServiceNotFoundException.php</file>
42
- <file>./src/Guzzle/Service/Exception/ValidationException.php</file>
43
- <file>./src/Guzzle/Service/Exception/JsonException.php</file>
44
- </exclude>
45
- </whitelist>
46
- </filter>
47
-
48
- </phpunit>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Batch/composer.json DELETED
@@ -1,31 +0,0 @@
1
- {
2
- "name": "guzzle/batch",
3
- "description": "Guzzle batch component for batching requests, commands, or custom transfers",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["batch", "HTTP", "REST", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/common": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Batch": "" }
20
- },
21
- "suggest": {
22
- "guzzle/http": "self.version",
23
- "guzzle/service": "self.version"
24
- },
25
- "target-dir": "Guzzle/Batch",
26
- "extra": {
27
- "branch-alias": {
28
- "dev-master": "3.7-dev"
29
- }
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Cache/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/cache",
3
- "description": "Guzzle cache adapter component",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["cache", "adapter", "zf", "doctrine", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/common": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Cache": "" }
20
- },
21
- "target-dir": "Guzzle/Cache",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Common/composer.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "name": "guzzle/common",
3
- "homepage": "http://guzzlephp.org/",
4
- "description": "Common libraries used by Guzzle",
5
- "keywords": ["common", "event", "exception", "collection"],
6
- "license": "MIT",
7
- "require": {
8
- "php": ">=5.3.2",
9
- "symfony/event-dispatcher": ">=2.1"
10
- },
11
- "autoload": {
12
- "psr-0": { "Guzzle\\Common": "" }
13
- },
14
- "target-dir": "Guzzle/Common",
15
- "extra": {
16
- "branch-alias": {
17
- "dev-master": "3.7-dev"
18
- }
19
- }
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Http/composer.json DELETED
@@ -1,32 +0,0 @@
1
- {
2
- "name": "guzzle/http",
3
- "description": "HTTP libraries used by Guzzle",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["http client", "http", "client", "Guzzle", "curl"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/common": "self.version",
17
- "guzzle/parser": "self.version",
18
- "guzzle/stream": "self.version"
19
- },
20
- "suggest": {
21
- "ext-curl": "*"
22
- },
23
- "autoload": {
24
- "psr-0": { "Guzzle\\Http": "" }
25
- },
26
- "target-dir": "Guzzle/Http",
27
- "extra": {
28
- "branch-alias": {
29
- "dev-master": "3.7-dev"
30
- }
31
- }
32
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Inflection/composer.json DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "name": "guzzle/inflection",
3
- "description": "Guzzle inflection component",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["inflection", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2"
16
- },
17
- "autoload": {
18
- "psr-0": { "Guzzle\\Inflection": "" }
19
- },
20
- "target-dir": "Guzzle/Inflection",
21
- "extra": {
22
- "branch-alias": {
23
- "dev-master": "3.7-dev"
24
- }
25
- }
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Iterator/README.md DELETED
@@ -1,25 +0,0 @@
1
- Guzzle Iterator
2
- ===============
3
-
4
- Provides useful Iterators and Iterator decorators
5
-
6
- - ChunkedIterator: Pulls out chunks from an inner iterator and yields the chunks as arrays
7
- - FilterIterator: Used when PHP 5.4's CallbackFilterIterator is not available
8
- - MapIterator: Maps values before yielding
9
- - MethodProxyIterator: Proxies missing method calls to the innermost iterator
10
-
11
- ### Installing via Composer
12
-
13
- ```bash
14
- # Install Composer
15
- curl -sS https://getcomposer.org/installer | php
16
-
17
- # Add Guzzle as a dependency
18
- php composer.phar require guzzle/iterator:~3.0
19
- ```
20
-
21
- After installing, you need to require Composer's autoloader:
22
-
23
- ```php
24
- require 'vendor/autoload.php';
25
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/iterator",
3
- "description": "Provides helpful iterators and iterator decorators",
4
- "keywords": ["iterator", "guzzle"],
5
- "homepage": "http://guzzlephp.org/",
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/common": ">=2.8.0"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Iterator": "/" }
20
- },
21
- "target-dir": "Guzzle/Iterator",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Log/composer.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "name": "guzzle/log",
3
- "description": "Guzzle log adapter component",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["log", "adapter", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2"
16
- },
17
- "autoload": {
18
- "psr-0": { "Guzzle\\Log": "" }
19
- },
20
- "suggest": {
21
- "guzzle/http": "self.version"
22
- },
23
- "target-dir": "Guzzle/Log",
24
- "extra": {
25
- "branch-alias": {
26
- "dev-master": "3.7-dev"
27
- }
28
- }
29
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Parser/composer.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "name": "guzzle/parser",
3
- "homepage": "http://guzzlephp.org/",
4
- "description": "Interchangeable parsers used by Guzzle",
5
- "keywords": ["HTTP", "message", "cookie", "URL", "URI Template"],
6
- "license": "MIT",
7
- "require": {
8
- "php": ">=5.3.2"
9
- },
10
- "autoload": {
11
- "psr-0": { "Guzzle\\Parser": "" }
12
- },
13
- "target-dir": "Guzzle/Parser",
14
- "extra": {
15
- "branch-alias": {
16
- "dev-master": "3.7-dev"
17
- }
18
- }
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-async",
3
- "description": "Guzzle async request plugin",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\Async": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/Async",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-backoff",
3
- "description": "Guzzle backoff retry plugins",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version",
17
- "guzzle/log": "self.version"
18
- },
19
- "autoload": {
20
- "psr-0": { "Guzzle\\Plugin\\Backoff": "" }
21
- },
22
- "target-dir": "Guzzle/Plugin/Backoff",
23
- "extra": {
24
- "branch-alias": {
25
- "dev-master": "3.7-dev"
26
- }
27
- }
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/composer.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-cache",
3
- "description": "Guzzle HTTP cache plugin",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version",
17
- "guzzle/cache": "self.version"
18
- },
19
- "autoload": {
20
- "psr-0": { "Guzzle\\Plugin\\Cache": "" }
21
- },
22
- "target-dir": "Guzzle/Plugin/Cache",
23
- "extra": {
24
- "branch-alias": {
25
- "dev-master": "3.7-dev"
26
- }
27
- }
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-cookie",
3
- "description": "Guzzle cookie plugin",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\Cookie": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/Cookie",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-curlauth",
3
- "description": "Guzzle cURL authorization plugin",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "curl", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\CurlAuth": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/CurlAuth",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-error-response",
3
- "description": "Guzzle errorResponse plugin for creating error exceptions based on a service description",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/service": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\ErrorResponse": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/ErrorResponse",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-history",
3
- "description": "Guzzle history plugin",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\History": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/History",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-log",
3
- "description": "Guzzle log plugin for over the wire logging",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "log", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version",
17
- "guzzle/log": "self.version"
18
- },
19
- "autoload": {
20
- "psr-0": { "Guzzle\\Plugin\\Log": "" }
21
- },
22
- "target-dir": "Guzzle/Plugin/Log",
23
- "extra": {
24
- "branch-alias": {
25
- "dev-master": "3.7-dev"
26
- }
27
- }
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-md5",
3
- "description": "Guzzle MD5 plugins",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\Md5": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/Md5",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-mock",
3
- "description": "Guzzle Mock plugin",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["mock", "plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\Mock": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/Mock",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/composer.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "name": "guzzle/plugin-oauth",
3
- "description": "Guzzle OAuth plugin",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["oauth", "plugin", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "autoload": {
19
- "psr-0": { "Guzzle\\Plugin\\Oauth": "" }
20
- },
21
- "target-dir": "Guzzle/Plugin/Oauth",
22
- "extra": {
23
- "branch-alias": {
24
- "dev-master": "3.7-dev"
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Plugin/composer.json DELETED
@@ -1,44 +0,0 @@
1
- {
2
- "name": "guzzle/plugin",
3
- "description": "Guzzle plugin component containing all Guzzle HTTP plugins",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["http", "client", "plugin", "extension", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/http": "self.version"
17
- },
18
- "suggest": {
19
- "guzzle/cache": "self.version",
20
- "guzzle/log": "self.version"
21
- },
22
- "autoload": {
23
- "psr-0": { "Guzzle\\Plugin": "" }
24
- },
25
- "target-dir": "Guzzle/Plugin",
26
- "replace": {
27
- "guzzle/plugin-async": "self.version",
28
- "guzzle/plugin-backoff": "self.version",
29
- "guzzle/plugin-cache": "self.version",
30
- "guzzle/plugin-cookie": "self.version",
31
- "guzzle/plugin-curlauth": "self.version",
32
- "guzzle/plugin-error-response": "self.version",
33
- "guzzle/plugin-history": "self.version",
34
- "guzzle/plugin-log": "self.version",
35
- "guzzle/plugin-md5": "self.version",
36
- "guzzle/plugin-mock": "self.version",
37
- "guzzle/plugin-oauth": "self.version"
38
- },
39
- "extra": {
40
- "branch-alias": {
41
- "dev-master": "3.7-dev"
42
- }
43
- }
44
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Service/composer.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "name": "guzzle/service",
3
- "description": "Guzzle service component for abstracting RESTful web services",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["web service", "webservice", "REST", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/cache": "self.version",
17
- "guzzle/http": "self.version",
18
- "guzzle/inflection": "self.version"
19
- },
20
- "autoload": {
21
- "psr-0": { "Guzzle\\Service": "" }
22
- },
23
- "target-dir": "Guzzle/Service",
24
- "extra": {
25
- "branch-alias": {
26
- "dev-master": "3.7-dev"
27
- }
28
- }
29
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/src/Guzzle/Stream/composer.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "name": "guzzle/stream",
3
- "description": "Guzzle stream wrapper component",
4
- "homepage": "http://guzzlephp.org/",
5
- "keywords": ["stream", "component", "guzzle"],
6
- "license": "MIT",
7
- "authors": [
8
- {
9
- "name": "Michael Dowling",
10
- "email": "mtdowling@gmail.com",
11
- "homepage": "https://github.com/mtdowling"
12
- }
13
- ],
14
- "require": {
15
- "php": ">=5.3.2",
16
- "guzzle/common": "self.version"
17
- },
18
- "suggest": {
19
- "guzzle/http": "To convert Guzzle request objects to PHP streams"
20
- },
21
- "autoload": {
22
- "psr-0": { "Guzzle\\Stream": "" }
23
- },
24
- "target-dir": "Guzzle/Stream",
25
- "extra": {
26
- "branch-alias": {
27
- "dev-master": "3.7-dev"
28
- }
29
- }
30
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/AbstractBatchDecoratorTest.php DELETED
@@ -1,33 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\Batch;
6
-
7
- /**
8
- * @covers Guzzle\Batch\AbstractBatchDecorator
9
- */
10
- class AbstractBatchDecoratorTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- public function testProxiesToWrappedObject()
13
- {
14
- $batch = new Batch(
15
- $this->getMock('Guzzle\Batch\BatchTransferInterface'),
16
- $this->getMock('Guzzle\Batch\BatchDivisorInterface')
17
- );
18
-
19
- $decoratorA = $this->getMockBuilder('Guzzle\Batch\AbstractBatchDecorator')
20
- ->setConstructorArgs(array($batch))
21
- ->getMockForAbstractClass();
22
-
23
- $decoratorB = $this->getMockBuilder('Guzzle\Batch\AbstractBatchDecorator')
24
- ->setConstructorArgs(array($decoratorA))
25
- ->getMockForAbstractClass();
26
-
27
- $decoratorA->add('foo');
28
- $this->assertFalse($decoratorB->isEmpty());
29
- $this->assertFalse($batch->isEmpty());
30
- $this->assertEquals(array($decoratorB, $decoratorA), $decoratorB->getDecorators());
31
- $this->assertEquals(array(), $decoratorB->flush());
32
- }
33
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchBuilderTest.php DELETED
@@ -1,86 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\BatchBuilder;
6
-
7
- /**
8
- * @covers Guzzle\Batch\BatchBuilder
9
- */
10
- class BatchBuilderTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- private function getMockTransfer()
13
- {
14
- return $this->getMock('Guzzle\Batch\BatchTransferInterface');
15
- }
16
-
17
- private function getMockDivisor()
18
- {
19
- return $this->getMock('Guzzle\Batch\BatchDivisorInterface');
20
- }
21
-
22
- private function getMockBatchBuilder()
23
- {
24
- return BatchBuilder::factory()
25
- ->transferWith($this->getMockTransfer())
26
- ->createBatchesWith($this->getMockDivisor());
27
- }
28
-
29
- public function testFactoryCreatesInstance()
30
- {
31
- $builder = BatchBuilder::factory();
32
- $this->assertInstanceOf('Guzzle\Batch\BatchBuilder', $builder);
33
- }
34
-
35
- public function testAddsAutoFlush()
36
- {
37
- $batch = $this->getMockBatchBuilder()->autoFlushAt(10)->build();
38
- $this->assertInstanceOf('Guzzle\Batch\FlushingBatch', $batch);
39
- }
40
-
41
- public function testAddsExceptionBuffering()
42
- {
43
- $batch = $this->getMockBatchBuilder()->bufferExceptions()->build();
44
- $this->assertInstanceOf('Guzzle\Batch\ExceptionBufferingBatch', $batch);
45
- }
46
-
47
- public function testAddHistory()
48
- {
49
- $batch = $this->getMockBatchBuilder()->keepHistory()->build();
50
- $this->assertInstanceOf('Guzzle\Batch\HistoryBatch', $batch);
51
- }
52
-
53
- public function testAddsNotify()
54
- {
55
- $batch = $this->getMockBatchBuilder()->notify(function() {})->build();
56
- $this->assertInstanceOf('Guzzle\Batch\NotifyingBatch', $batch);
57
- }
58
-
59
- /**
60
- * @expectedException Guzzle\Common\Exception\RuntimeException
61
- */
62
- public function testTransferStrategyMustBeSet()
63
- {
64
- $batch = BatchBuilder::factory()->createBatchesWith($this->getMockDivisor())->build();
65
- }
66
-
67
- /**
68
- * @expectedException Guzzle\Common\Exception\RuntimeException
69
- */
70
- public function testDivisorStrategyMustBeSet()
71
- {
72
- $batch = BatchBuilder::factory()->transferWith($this->getMockTransfer())->build();
73
- }
74
-
75
- public function testTransfersRequests()
76
- {
77
- $batch = BatchBuilder::factory()->transferRequests(10)->build();
78
- $this->assertInstanceOf('Guzzle\Batch\BatchRequestTransfer', $this->readAttribute($batch, 'transferStrategy'));
79
- }
80
-
81
- public function testTransfersCommands()
82
- {
83
- $batch = BatchBuilder::factory()->transferCommands(10)->build();
84
- $this->assertInstanceOf('Guzzle\Batch\BatchCommandTransfer', $this->readAttribute($batch, 'transferStrategy'));
85
- }
86
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureDivisorTest.php DELETED
@@ -1,36 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\BatchClosureDivisor;
6
-
7
- /**
8
- * @covers Guzzle\Batch\BatchClosureDivisor
9
- */
10
- class BatchClosureDivisorTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- /**
13
- * @expectedException Guzzle\Common\Exception\InvalidArgumentException
14
- */
15
- public function testEnsuresCallableIsCallable()
16
- {
17
- $d = new BatchClosureDivisor(new \stdClass());
18
- }
19
-
20
- public function testDividesBatch()
21
- {
22
- $queue = new \SplQueue();
23
- $queue[] = 'foo';
24
- $queue[] = 'baz';
25
-
26
- $d = new BatchClosureDivisor(function (\SplQueue $queue, $context) {
27
- return array(
28
- array('foo'),
29
- array('baz')
30
- );
31
- }, 'Bar!');
32
-
33
- $batches = $d->createBatches($queue);
34
- $this->assertEquals(array(array('foo'), array('baz')), $batches);
35
- }
36
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureTransferTest.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\BatchClosureTransfer;
6
-
7
- /**
8
- * @covers Guzzle\Batch\BatchClosureTransfer
9
- */
10
- class BatchClosureTransferTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- /** @var \Guzzle\Batch\BatchClosureTransfer The transfer fixture */
13
- protected $transferStrategy;
14
-
15
- /** @var array|null An array for keeping track of items passed into the transfer closure */
16
- protected $itemsTransferred;
17
-
18
- protected function setUp()
19
- {
20
- $this->itemsTransferred = null;
21
- $itemsTransferred =& $this->itemsTransferred;
22
-
23
- $this->transferStrategy = new BatchClosureTransfer(function (array $batch) use (&$itemsTransferred) {
24
- $itemsTransferred = $batch;
25
- return;
26
- });
27
- }
28
-
29
- public function testTransfersBatch()
30
- {
31
- $batchedItems = array('foo', 'bar', 'baz');
32
- $this->transferStrategy->transfer($batchedItems);
33
-
34
- $this->assertEquals($batchedItems, $this->itemsTransferred);
35
- }
36
-
37
- public function testTransferBailsOnEmptyBatch()
38
- {
39
- $batchedItems = array();
40
- $this->transferStrategy->transfer($batchedItems);
41
-
42
- $this->assertNull($this->itemsTransferred);
43
- }
44
-
45
- /**
46
- * @expectedException Guzzle\Common\Exception\InvalidArgumentException
47
- */
48
- public function testEnsuresCallableIsCallable()
49
- {
50
- $foo = new BatchClosureTransfer('uh oh!');
51
- }
52
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchCommandTransferTest.php DELETED
@@ -1,83 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\BatchCommandTransfer;
6
- use Guzzle\Service\Client;
7
- use Guzzle\Tests\Service\Mock\Command\MockCommand as Mc;
8
-
9
- /**
10
- * @covers Guzzle\Batch\BatchCommandTransfer
11
- */
12
- class BatchCommandTransferTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- public function testCreatesBatchesBasedOnClient()
15
- {
16
- $client1 = new Client('http://www.example.com');
17
- $client2 = new Client('http://www.example.com');
18
-
19
- $commands = array(new Mc(), new Mc(), new Mc(), new Mc(), new Mc());
20
-
21
- $queue = new \SplQueue();
22
- foreach ($commands as $i => $command) {
23
- if ($i % 2) {
24
- $command->setClient($client1);
25
- } else {
26
- $command->setClient($client2);
27
- }
28
- $queue[] = $command;
29
- }
30
-
31
- $batch = new BatchCommandTransfer(2);
32
- $this->assertEquals(array(
33
- array($commands[0], $commands[2]),
34
- array($commands[4]),
35
- array($commands[1], $commands[3])
36
- ), $batch->createBatches($queue));
37
- }
38
-
39
- /**
40
- * @expectedException Guzzle\Common\Exception\InvalidArgumentException
41
- */
42
- public function testEnsuresAllItemsAreCommands()
43
- {
44
- $queue = new \SplQueue();
45
- $queue[] = 'foo';
46
- $batch = new BatchCommandTransfer(2);
47
- $batch->createBatches($queue);
48
- }
49
-
50
- public function testTransfersBatches()
51
- {
52
- $client = $this->getMockBuilder('Guzzle\Service\Client')
53
- ->setMethods(array('send'))
54
- ->getMock();
55
- $client->expects($this->once())
56
- ->method('send');
57
- $command = new Mc();
58
- $command->setClient($client);
59
- $batch = new BatchCommandTransfer(2);
60
- $batch->transfer(array($command));
61
- }
62
-
63
- public function testDoesNotTransfersEmptyBatches()
64
- {
65
- $batch = new BatchCommandTransfer(2);
66
- $batch->transfer(array());
67
- }
68
-
69
- /**
70
- * @expectedException Guzzle\Service\Exception\InconsistentClientTransferException
71
- */
72
- public function testEnsuresAllCommandsUseTheSameClient()
73
- {
74
- $batch = new BatchCommandTransfer(2);
75
- $client1 = new Client('http://www.example.com');
76
- $client2 = new Client('http://www.example.com');
77
- $command1 = new Mc();
78
- $command1->setClient($client1);
79
- $command2 = new Mc();
80
- $command2->setClient($client2);
81
- $batch->transfer(array($command1, $command2));
82
- }
83
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchRequestTransferTest.php DELETED
@@ -1,80 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\BatchRequestTransfer;
6
- use Guzzle\Http\Client;
7
- use Guzzle\Http\Curl\CurlMulti;
8
-
9
- /**
10
- * @covers Guzzle\Batch\BatchRequestTransfer
11
- */
12
- class BatchRequestTransferTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- public function testCreatesBatchesBasedOnCurlMultiHandles()
15
- {
16
- $client1 = new Client('http://www.example.com');
17
- $client1->setCurlMulti(new CurlMulti());
18
-
19
- $client2 = new Client('http://www.example.com');
20
- $client2->setCurlMulti(new CurlMulti());
21
-
22
- $request1 = $client1->get();
23
- $request2 = $client2->get();
24
- $request3 = $client1->get();
25
- $request4 = $client2->get();
26
- $request5 = $client1->get();
27
-
28
- $queue = new \SplQueue();
29
- $queue[] = $request1;
30
- $queue[] = $request2;
31
- $queue[] = $request3;
32
- $queue[] = $request4;
33
- $queue[] = $request5;
34
-
35
- $batch = new BatchRequestTransfer(2);
36
- $this->assertEquals(array(
37
- array($request1, $request3),
38
- array($request3),
39
- array($request2, $request4)
40
- ), $batch->createBatches($queue));
41
- }
42
-
43
- /**
44
- * @expectedException \Guzzle\Common\Exception\InvalidArgumentException
45
- */
46
- public function testEnsuresAllItemsAreRequests()
47
- {
48
- $queue = new \SplQueue();
49
- $queue[] = 'foo';
50
- $batch = new BatchRequestTransfer(2);
51
- $batch->createBatches($queue);
52
- }
53
-
54
- public function testTransfersBatches()
55
- {
56
- $client = new Client('http://127.0.0.1:123');
57
- $request = $client->get();
58
- // For some reason... PHP unit clones the request, which emits a request.clone event. This causes the
59
- // 'sorted' property of the event dispatcher to contain an array in the cloned request that is not present in
60
- // the original.
61
- $request->dispatch('request.clone');
62
-
63
- $multi = $this->getMock('Guzzle\Http\Curl\CurlMultiInterface');
64
- $client->setCurlMulti($multi);
65
- $multi->expects($this->once())
66
- ->method('add')
67
- ->with($request);
68
- $multi->expects($this->once())
69
- ->method('send');
70
-
71
- $batch = new BatchRequestTransfer(2);
72
- $batch->transfer(array($request));
73
- }
74
-
75
- public function testDoesNotTransfersEmptyBatches()
76
- {
77
- $batch = new BatchRequestTransfer(2);
78
- $batch->transfer(array());
79
- }
80
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchSizeDivisorTest.php DELETED
@@ -1,24 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\BatchSizeDivisor;
6
-
7
- /**
8
- * @covers Guzzle\Batch\BatchSizeDivisor
9
- */
10
- class BatchSizeDivisorTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- public function testDividesBatch()
13
- {
14
- $queue = new \SplQueue();
15
- $queue[] = 'foo';
16
- $queue[] = 'baz';
17
- $queue[] = 'bar';
18
- $d = new BatchSizeDivisor(3);
19
- $this->assertEquals(3, $d->getSize());
20
- $d->setSize(2);
21
- $batches = $d->createBatches($queue);
22
- $this->assertEquals(array(array('foo', 'baz'), array('bar')), $batches);
23
- }
24
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchTest.php DELETED
@@ -1,91 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\Batch;
6
- use Guzzle\Batch\Exception\BatchTransferException;
7
-
8
- /**
9
- * @covers Guzzle\Batch\Batch
10
- */
11
- class BatchTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- private function getMockTransfer()
14
- {
15
- return $this->getMock('Guzzle\Batch\BatchTransferInterface');
16
- }
17
-
18
- private function getMockDivisor()
19
- {
20
- return $this->getMock('Guzzle\Batch\BatchDivisorInterface');
21
- }
22
-
23
- public function testAddsItemsToQueue()
24
- {
25
- $batch = new Batch($this->getMockTransfer(), $this->getMockDivisor());
26
- $this->assertSame($batch, $batch->add('foo'));
27
- $this->assertEquals(1, count($batch));
28
- }
29
-
30
- public function testFlushReturnsItems()
31
- {
32
- $transfer = $this->getMockTransfer();
33
- $transfer->expects($this->exactly(2))
34
- ->method('transfer');
35
-
36
- $divisor = $this->getMockDivisor();
37
- $divisor->expects($this->once())
38
- ->method('createBatches')
39
- ->will($this->returnValue(array(array('foo', 'baz'), array('bar'))));
40
-
41
- $batch = new Batch($transfer, $divisor);
42
-
43
- $batch->add('foo')->add('baz')->add('bar');
44
- $items = $batch->flush();
45
-
46
- $this->assertEquals(array('foo', 'baz', 'bar'), $items);
47
- }
48
-
49
- public function testThrowsExceptionContainingTheFailedBatch()
50
- {
51
- $called = 0;
52
- $originalException = new \Exception('Foo!');
53
-
54
- $transfer = $this->getMockTransfer();
55
- $transfer->expects($this->exactly(2))
56
- ->method('transfer')
57
- ->will($this->returnCallback(function () use (&$called, $originalException) {
58
- if (++$called == 2) {
59
- throw $originalException;
60
- }
61
- }));
62
-
63
- $divisor = $this->getMockDivisor();
64
- $batch = new Batch($transfer, $divisor);
65
-
66
- // PHPunit clones objects before passing them to a callback.
67
- // Horrible hack to get around this!
68
- $queue = $this->readAttribute($batch, 'queue');
69
-
70
- $divisor->expects($this->once())
71
- ->method('createBatches')
72
- ->will($this->returnCallback(function ($batch) use ($queue) {
73
- foreach ($queue as $item) {
74
- $items[] = $item;
75
- }
76
- return array_chunk($items, 2);
77
- }));
78
-
79
- $batch->add('foo')->add('baz')->add('bar')->add('bee')->add('boo');
80
- $this->assertFalse($batch->isEmpty());
81
-
82
- try {
83
- $items = $batch->flush();
84
- $this->fail('Expected exception');
85
- } catch (BatchTransferException $e) {
86
- $this->assertEquals($originalException, $e->getPrevious());
87
- $this->assertEquals(array('bar', 'bee'), array_values($e->getBatch()));
88
- $this->assertEquals(1, count($batch));
89
- }
90
- }
91
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/ExceptionBufferingBatchTest.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\ExceptionBufferingBatch;
6
- use Guzzle\Batch\Batch;
7
- use Guzzle\Batch\BatchSizeDivisor;
8
-
9
- /**
10
- * @covers Guzzle\Batch\ExceptionBufferingBatch
11
- */
12
- class ExceptionBufferingBatchTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- public function testFlushesEntireBatchWhileBufferingErroredBatches()
15
- {
16
- $t = $this->getMockBuilder('Guzzle\Batch\BatchTransferInterface')
17
- ->setMethods(array('transfer'))
18
- ->getMock();
19
-
20
- $d = new BatchSizeDivisor(1);
21
- $batch = new Batch($t, $d);
22
-
23
- $called = 0;
24
- $t->expects($this->exactly(3))
25
- ->method('transfer')
26
- ->will($this->returnCallback(function ($batch) use (&$called) {
27
- if (++$called === 2) {
28
- throw new \Exception('Foo');
29
- }
30
- }));
31
-
32
- $decorator = new ExceptionBufferingBatch($batch);
33
- $decorator->add('foo')->add('baz')->add('bar');
34
- $result = $decorator->flush();
35
-
36
- $e = $decorator->getExceptions();
37
- $this->assertEquals(1, count($e));
38
- $this->assertEquals(array('baz'), $e[0]->getBatch());
39
-
40
- $decorator->clearExceptions();
41
- $this->assertEquals(0, count($decorator->getExceptions()));
42
-
43
- $this->assertEquals(array('foo', 'bar'), $result);
44
- }
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/FlushingBatchTest.php DELETED
@@ -1,40 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\FlushingBatch;
6
- use Guzzle\Batch\Batch;
7
-
8
- /**
9
- * @covers Guzzle\Batch\FlushingBatch
10
- */
11
- class FlushingBatchTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- public function testFlushesWhenSizeMeetsThreshold()
14
- {
15
- $t = $this->getMock('Guzzle\Batch\BatchTransferInterface', array('transfer'));
16
- $d = $this->getMock('Guzzle\Batch\BatchDivisorInterface', array('createBatches'));
17
-
18
- $batch = new Batch($t, $d);
19
- $queue = $this->readAttribute($batch, 'queue');
20
-
21
- $d->expects($this->exactly(2))
22
- ->method('createBatches')
23
- ->will($this->returnCallback(function () use ($queue) {
24
- $items = array();
25
- foreach ($queue as $item) {
26
- $items[] = $item;
27
- }
28
- return array($items);
29
- }));
30
-
31
- $t->expects($this->exactly(2))
32
- ->method('transfer');
33
-
34
- $flush = new FlushingBatch($batch, 3);
35
- $this->assertEquals(3, $flush->getThreshold());
36
- $flush->setThreshold(2);
37
- $flush->add('foo')->add('baz')->add('bar')->add('bee')->add('boo');
38
- $this->assertEquals(1, count($flush));
39
- }
40
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/HistoryBatchTest.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\HistoryBatch;
6
- use Guzzle\Batch\Batch;
7
-
8
- /**
9
- * @covers Guzzle\Batch\HistoryBatch
10
- */
11
- class HistoryBatchTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- public function testMaintainsHistoryOfItemsAddedToBatch()
14
- {
15
- $batch = new Batch(
16
- $this->getMock('Guzzle\Batch\BatchTransferInterface'),
17
- $this->getMock('Guzzle\Batch\BatchDivisorInterface')
18
- );
19
-
20
- $history = new HistoryBatch($batch);
21
- $history->add('foo')->add('baz');
22
- $this->assertEquals(array('foo', 'baz'), $history->getHistory());
23
- $history->clearHistory();
24
- $this->assertEquals(array(), $history->getHistory());
25
- }
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/NotifyingBatchTest.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Batch;
4
-
5
- use Guzzle\Batch\NotifyingBatch;
6
- use Guzzle\Batch\Batch;
7
-
8
- /**
9
- * @covers Guzzle\Batch\NotifyingBatch
10
- */
11
- class NotifyingBatchTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- public function testNotifiesAfterFlush()
14
- {
15
- $batch = $this->getMock('Guzzle\Batch\Batch', array('flush'), array(
16
- $this->getMock('Guzzle\Batch\BatchTransferInterface'),
17
- $this->getMock('Guzzle\Batch\BatchDivisorInterface')
18
- ));
19
-
20
- $batch->expects($this->once())
21
- ->method('flush')
22
- ->will($this->returnValue(array('foo', 'baz')));
23
-
24
- $data = array();
25
- $decorator = new NotifyingBatch($batch, function ($batch) use (&$data) {
26
- $data[] = $batch;
27
- });
28
-
29
- $decorator->add('foo')->add('baz');
30
- $decorator->flush();
31
- $this->assertEquals(array(array('foo', 'baz')), $data);
32
- }
33
-
34
- /**
35
- * @expectedException Guzzle\Common\Exception\InvalidArgumentException
36
- */
37
- public function testEnsuresCallableIsValid()
38
- {
39
- $batch = new Batch(
40
- $this->getMock('Guzzle\Batch\BatchTransferInterface'),
41
- $this->getMock('Guzzle\Batch\BatchDivisorInterface')
42
- );
43
- $decorator = new NotifyingBatch($batch, 'foo');
44
- }
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterFactoryTest.php DELETED
@@ -1,64 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Cache;
4
-
5
- use Guzzle\Cache\CacheAdapterFactory;
6
- use Guzzle\Cache\DoctrineCacheAdapter;
7
- use Doctrine\Common\Cache\ArrayCache;
8
- use Zend\Cache\StorageFactory;
9
-
10
- /**
11
- * @covers Guzzle\Cache\CacheAdapterFactory
12
- */
13
- class CacheAdapterFactoryTest extends \Guzzle\Tests\GuzzleTestCase
14
- {
15
- /** @var ArrayCache */
16
- private $cache;
17
-
18
- /** @var DoctrineCacheAdapter */
19
- private $adapter;
20
-
21
- /**
22
- * Prepares the environment before running a test.
23
- */
24
- protected function setup()
25
- {
26
- parent::setUp();
27
- $this->cache = new ArrayCache();
28
- $this->adapter = new DoctrineCacheAdapter($this->cache);
29
- }
30
-
31
- /**
32
- * @expectedException \InvalidArgumentException
33
- */
34
- public function testEnsuresConfigIsObject()
35
- {
36
- CacheAdapterFactory::fromCache(array());
37
- }
38
-
39
- /**
40
- * @expectedException \InvalidArgumentException
41
- */
42
- public function testEnsuresKnownType()
43
- {
44
- CacheAdapterFactory::fromCache(new \stdClass());
45
- }
46
-
47
- public function cacheProvider()
48
- {
49
- return array(
50
- array(new DoctrineCacheAdapter(new ArrayCache()), 'Guzzle\Cache\DoctrineCacheAdapter'),
51
- array(new ArrayCache(), 'Guzzle\Cache\DoctrineCacheAdapter'),
52
- array(StorageFactory::factory(array('adapter' => 'memory')), 'Guzzle\Cache\Zf2CacheAdapter'),
53
- );
54
- }
55
-
56
- /**
57
- * @dataProvider cacheProvider
58
- */
59
- public function testCreatesNullCacheAdapterByDefault($cache, $type)
60
- {
61
- $adapter = CacheAdapterFactory::fromCache($cache);
62
- $this->assertInstanceOf($type, $adapter);
63
- }
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterTest.php DELETED
@@ -1,68 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Cache;
4
-
5
- use Guzzle\Cache\DoctrineCacheAdapter;
6
- use Doctrine\Common\Cache\ArrayCache;
7
-
8
- /**
9
- * @covers Guzzle\Cache\DoctrineCacheAdapter
10
- * @covers Guzzle\Cache\AbstractCacheAdapter
11
- */
12
- class CacheAdapterTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- /** @var ArrayCache */
15
- private $cache;
16
-
17
- /** @var DoctrineCacheAdapter */
18
- private $adapter;
19
-
20
- /**
21
- * Prepares the environment before running a test.
22
- */
23
- protected function setUp()
24
- {
25
- parent::setUp();
26
- $this->cache = new ArrayCache();
27
- $this->adapter = new DoctrineCacheAdapter($this->cache);
28
- }
29
-
30
- /**
31
- * Cleans up the environment after running a test.
32
- */
33
- protected function tearDown()
34
- {
35
- $this->adapter = null;
36
- $this->cache = null;
37
- parent::tearDown();
38
- }
39
-
40
- public function testGetCacheObject()
41
- {
42
- $this->assertEquals($this->cache, $this->adapter->getCacheObject());
43
- }
44
-
45
- public function testSave()
46
- {
47
- $this->assertTrue($this->adapter->save('test', 'data', 1000));
48
- }
49
-
50
- public function testFetch()
51
- {
52
- $this->assertTrue($this->adapter->save('test', 'data', 1000));
53
- $this->assertEquals('data', $this->adapter->fetch('test'));
54
- }
55
-
56
- public function testContains()
57
- {
58
- $this->assertTrue($this->adapter->save('test', 'data', 1000));
59
- $this->assertTrue($this->adapter->contains('test'));
60
- }
61
-
62
- public function testDelete()
63
- {
64
- $this->assertTrue($this->adapter->save('test', 'data', 1000));
65
- $this->assertTrue($this->adapter->delete('test'));
66
- $this->assertFalse($this->adapter->contains('test'));
67
- }
68
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/ClosureCacheAdapterTest.php DELETED
@@ -1,94 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Cache;
4
-
5
- use Guzzle\Cache\ClosureCacheAdapter;
6
-
7
- /**
8
- * @covers Guzzle\Cache\ClosureCacheAdapter
9
- */
10
- class ClosureCacheAdapterTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- /** @var ClosureCacheAdapter */
13
- private $adapter;
14
-
15
- /** Array of callables to use for testing */
16
- private $callables;
17
-
18
- /** Cache data for testing */
19
- public $data = array();
20
-
21
- /**
22
- * Prepares the environment before running a test.
23
- */
24
- protected function setUp()
25
- {
26
- parent::setUp();
27
-
28
- $that = $this;
29
- $this->callables = array(
30
- 'contains' => function($id, $options = array()) use ($that) {
31
- return array_key_exists($id, $that->data);
32
- },
33
- 'delete' => function($id, $options = array()) use ($that) {
34
- unset($that->data[$id]);
35
- return true;
36
- },
37
- 'fetch' => function($id, $options = array()) use ($that) {
38
- return array_key_exists($id, $that->data) ? $that->data[$id] : null;
39
- },
40
- 'save' => function($id, $data, $lifeTime, $options = array()) use ($that) {
41
- $that->data[$id] = $data;
42
- return true;
43
- }
44
- );
45
-
46
- $this->adapter = new ClosureCacheAdapter($this->callables);
47
- }
48
-
49
- /**
50
- * Cleans up the environment after running a test.
51
- */
52
- protected function tearDown()
53
- {
54
- $this->cache = null;
55
- $this->callables = null;
56
- parent::tearDown();
57
- }
58
-
59
- /**
60
- * @expectedException InvalidArgumentException
61
- */
62
- public function testEnsuresCallablesArePresent()
63
- {
64
- $callables = $this->callables;
65
- unset($callables['delete']);
66
- $cache = new ClosureCacheAdapter($callables);
67
- }
68
-
69
- public function testAllCallablesMustBePresent()
70
- {
71
- $cache = new ClosureCacheAdapter($this->callables);
72
- }
73
-
74
- public function testCachesDataUsingCallables()
75
- {
76
- $this->assertTrue($this->adapter->save('test', 'data', 1000));
77
- $this->assertEquals('data', $this->adapter->fetch('test'));
78
- }
79
-
80
- public function testChecksIfCacheContainsKeys()
81
- {
82
- $this->adapter->save('test', 'data', 1000);
83
- $this->assertTrue($this->adapter->contains('test'));
84
- $this->assertFalse($this->adapter->contains('foo'));
85
- }
86
-
87
- public function testDeletesFromCacheByKey()
88
- {
89
- $this->adapter->save('test', 'data', 1000);
90
- $this->assertTrue($this->adapter->contains('test'));
91
- $this->adapter->delete('test');
92
- $this->assertFalse($this->adapter->contains('test'));
93
- }
94
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/NullCacheAdapterTest.php DELETED
@@ -1,20 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Common\Cache;
4
-
5
- use Guzzle\Cache\NullCacheAdapter;
6
-
7
- /**
8
- * @covers Guzzle\Cache\NullCacheAdapter
9
- */
10
- class NullCacheAdapterTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- public function testNullCacheAdapter()
13
- {
14
- $c = new NullCacheAdapter();
15
- $this->assertEquals(false, $c->contains('foo'));
16
- $this->assertEquals(true, $c->delete('foo'));
17
- $this->assertEquals(false, $c->fetch('foo'));
18
- $this->assertEquals(true, $c->save('foo', 'bar'));
19
- }
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/Zf2CacheAdapterTest.php DELETED
@@ -1,58 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Cache;
4
-
5
- use Guzzle\Cache\Zf2CacheAdapter;
6
- use Zend\Cache\StorageFactory;
7
-
8
- /**
9
- * @covers Guzzle\Cache\Zf2CacheAdapter
10
- */
11
- class Zf2CacheAdapterTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- private $cache;
14
- private $adapter;
15
-
16
- /**
17
- * Prepares the environment before running a test.
18
- */
19
- protected function setUp()
20
- {
21
- parent::setUp();
22
- $this->cache = StorageFactory::factory(array(
23
- 'adapter' => 'memory'
24
- ));
25
- $this->adapter = new Zf2CacheAdapter($this->cache);
26
- }
27
-
28
- /**
29
- * Cleans up the environment after running a test.
30
- */
31
- protected function tearDown()
32
- {
33
- $this->adapter = null;
34
- $this->cache = null;
35
- parent::tearDown();
36
- }
37
-
38
- public function testCachesDataUsingCallables()
39
- {
40
- $this->assertTrue($this->adapter->save('test', 'data', 1000));
41
- $this->assertEquals('data', $this->adapter->fetch('test'));
42
- }
43
-
44
- public function testChecksIfCacheContainsKeys()
45
- {
46
- $this->adapter->save('test', 'data', 1000);
47
- $this->assertTrue($this->adapter->contains('test'));
48
- $this->assertFalse($this->adapter->contains('foo'));
49
- }
50
-
51
- public function testDeletesFromCacheByKey()
52
- {
53
- $this->adapter->save('test', 'data', 1000);
54
- $this->assertTrue($this->adapter->contains('test'));
55
- $this->adapter->delete('test');
56
- $this->assertFalse($this->adapter->contains('test'));
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/AbstractHasDispatcherTest.php DELETED
@@ -1,63 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Common;
4
-
5
- use Guzzle\Common\Event;
6
- use Guzzle\Common\AbstractHasDispatcher;
7
- use Symfony\Component\EventDispatcher\EventDispatcher;
8
-
9
- /**
10
- * @covers Guzzle\Common\AbstractHasDispatcher
11
- */
12
- class AbstractHasAdapterTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- public function testDoesNotRequireRegisteredEvents()
15
- {
16
- $this->assertEquals(array(), AbstractHasDispatcher::getAllEvents());
17
- }
18
-
19
- public function testAllowsDispatcherToBeInjected()
20
- {
21
- $d = new EventDispatcher();
22
- $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher');
23
- $this->assertSame($mock, $mock->setEventDispatcher($d));
24
- $this->assertSame($d, $mock->getEventDispatcher());
25
- }
26
-
27
- public function testCreatesDefaultEventDispatcherIfNeeded()
28
- {
29
- $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher');
30
- $this->assertInstanceOf('Symfony\Component\EventDispatcher\EventDispatcher', $mock->getEventDispatcher());
31
- }
32
-
33
- public function testHelperDispatchesEvents()
34
- {
35
- $data = array();
36
- $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher');
37
- $mock->getEventDispatcher()->addListener('test', function(Event $e) use (&$data) {
38
- $data = $e->getIterator()->getArrayCopy();
39
- });
40
- $mock->dispatch('test', array(
41
- 'param' => 'abc'
42
- ));
43
- $this->assertEquals(array(
44
- 'param' => 'abc',
45
- ), $data);
46
- }
47
-
48
- public function testHelperAttachesSubscribers()
49
- {
50
- $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher');
51
- $subscriber = $this->getMockForAbstractClass('Symfony\Component\EventDispatcher\EventSubscriberInterface');
52
-
53
- $dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')
54
- ->setMethods(array('addSubscriber'))
55
- ->getMock();
56
-
57
- $dispatcher->expects($this->once())
58
- ->method('addSubscriber');
59
-
60
- $mock->setEventDispatcher($dispatcher);
61
- $mock->addSubscriber($subscriber);
62
- }
63
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/CollectionTest.php DELETED
@@ -1,529 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Common;
4
-
5
- use Guzzle\Common\Collection;
6
- use Guzzle\Common\Exception\InvalidArgumentException;
7
- use Guzzle\Http\QueryString;
8
-
9
- /**
10
- * @covers Guzzle\Common\Collection
11
- */
12
- class CollectionTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- /** @var Collection */
15
- protected $coll;
16
-
17
- protected function setUp()
18
- {
19
- $this->coll = new Collection();
20
- }
21
-
22
- public function testConstructorCanBeCalledWithNoParams()
23
- {
24
- $this->coll = new Collection();
25
- $p = $this->coll->getAll();
26
- $this->assertEmpty($p, '-> Collection must be empty when no data is passed');
27
- }
28
-
29
- public function testConstructorCanBeCalledWithParams()
30
- {
31
- $testData = array(
32
- 'test' => 'value',
33
- 'test_2' => 'value2'
34
- );
35
- $this->coll = new Collection($testData);
36
- $this->assertEquals($this->coll->getAll(), $testData, '-> getAll() must return the data passed in the constructor');
37
- $this->assertEquals($this->coll->getAll(), $this->coll->toArray());
38
- }
39
-
40
- public function testImplementsIteratorAggregate()
41
- {
42
- $this->coll->set('key', 'value');
43
- $this->assertInstanceOf('ArrayIterator', $this->coll->getIterator());
44
- $this->assertEquals(1, count($this->coll));
45
- $total = 0;
46
- foreach ($this->coll as $key => $value) {
47
- $this->assertEquals('key', $key);
48
- $this->assertEquals('value', $value);
49
- $total++;
50
- }
51
- $this->assertEquals(1, $total);
52
- }
53
-
54
- public function testCanAddValuesToExistingKeysByUsingArray()
55
- {
56
- $this->coll->add('test', 'value1');
57
- $this->assertEquals($this->coll->getAll(), array('test' => 'value1'));
58
- $this->coll->add('test', 'value2');
59
- $this->assertEquals($this->coll->getAll(), array('test' => array('value1', 'value2')));
60
- $this->coll->add('test', 'value3');
61
- $this->assertEquals($this->coll->getAll(), array('test' => array('value1', 'value2', 'value3')));
62
- }
63
-
64
- public function testHandlesMergingInDisparateDataSources()
65
- {
66
- $params = array(
67
- 'test' => 'value1',
68
- 'test2' => 'value2',
69
- 'test3' => array('value3', 'value4')
70
- );
71
- $this->coll->merge($params);
72
- $this->assertEquals($this->coll->getAll(), $params);
73
-
74
- // Pass the same object to itself
75
- $this->assertEquals($this->coll->merge($this->coll), $this->coll);
76
- }
77
-
78
- public function testCanClearAllDataOrSpecificKeys()
79
- {
80
- $this->coll->merge(array(
81
- 'test' => 'value1',
82
- 'test2' => 'value2'
83
- ));
84
-
85
- // Clear a specific parameter by name
86
- $this->coll->remove('test');
87
-
88
- $this->assertEquals($this->coll->getAll(), array(
89
- 'test2' => 'value2'
90
- ));
91
-
92
- // Clear all parameters
93
- $this->coll->clear();
94
-
95
- $this->assertEquals($this->coll->getAll(), array());
96
- }
97
-
98
- public function testGetsValuesByKey()
99
- {
100
- $this->assertNull($this->coll->get('test'));
101
- $this->coll->add('test', 'value');
102
- $this->assertEquals('value', $this->coll->get('test'));
103
- $this->coll->set('test2', 'v2');
104
- $this->coll->set('test3', 'v3');
105
- $this->assertEquals(array(
106
- 'test' => 'value',
107
- 'test2' => 'v2'
108
- ), $this->coll->getAll(array('test', 'test2')));
109
- }
110
-
111
- public function testProvidesKeys()
112
- {
113
- $this->assertEquals(array(), $this->coll->getKeys());
114
- $this->coll->merge(array(
115
- 'test1' => 'value1',
116
- 'test2' => 'value2'
117
- ));
118
- $this->assertEquals(array('test1', 'test2'), $this->coll->getKeys());
119
- // Returns the cached array previously returned
120
- $this->assertEquals(array('test1', 'test2'), $this->coll->getKeys());
121
- $this->coll->remove('test1');
122
- $this->assertEquals(array('test2'), $this->coll->getKeys());
123
- $this->coll->add('test3', 'value3');
124
- $this->assertEquals(array('test2', 'test3'), $this->coll->getKeys());
125
- }
126
-
127
- public function testChecksIfHasKey()
128
- {
129
- $this->assertFalse($this->coll->hasKey('test'));
130
- $this->coll->add('test', 'value');
131
- $this->assertEquals(true, $this->coll->hasKey('test'));
132
- $this->coll->add('test2', 'value2');
133
- $this->assertEquals(true, $this->coll->hasKey('test'));
134
- $this->assertEquals(true, $this->coll->hasKey('test2'));
135
- $this->assertFalse($this->coll->hasKey('testing'));
136
- $this->assertEquals(false, $this->coll->hasKey('AB-C', 'junk'));
137
- }
138
-
139
- public function testChecksIfHasValue()
140
- {
141
- $this->assertFalse($this->coll->hasValue('value'));
142
- $this->coll->add('test', 'value');
143
- $this->assertEquals('test', $this->coll->hasValue('value'));
144
- $this->coll->add('test2', 'value2');
145
- $this->assertEquals('test', $this->coll->hasValue('value'));
146
- $this->assertEquals('test2', $this->coll->hasValue('value2'));
147
- $this->assertFalse($this->coll->hasValue('val'));
148
- }
149
-
150
- public function testCanGetAllValuesByArray()
151
- {
152
- $this->coll->add('foo', 'bar');
153
- $this->coll->add('tEsT', 'value');
154
- $this->coll->add('tesTing', 'v2');
155
- $this->coll->add('key', 'v3');
156
- $this->assertNull($this->coll->get('test'));
157
- $this->assertEquals(array(
158
- 'foo' => 'bar',
159
- 'tEsT' => 'value',
160
- 'tesTing' => 'v2'
161
- ), $this->coll->getAll(array(
162
- 'foo', 'tesTing', 'tEsT'
163
- )));
164
- }
165
-
166
- public function testImplementsCount()
167
- {
168
- $data = new Collection();
169
- $this->assertEquals(0, $data->count());
170
- $data->add('key', 'value');
171
- $this->assertEquals(1, count($data));
172
- $data->add('key', 'value2');
173
- $this->assertEquals(1, count($data));
174
- $data->add('key_2', 'value3');
175
- $this->assertEquals(2, count($data));
176
- }
177
-
178
- public function testAddParamsByMerging()
179
- {
180
- $params = array(
181
- 'test' => 'value1',
182
- 'test2' => 'value2',
183
- 'test3' => array('value3', 'value4')
184
- );
185
-
186
- // Add some parameters
187
- $this->coll->merge($params);
188
-
189
- // Add more parameters by merging them in
190
- $this->coll->merge(array(
191
- 'test' => 'another',
192
- 'different_key' => 'new value'
193
- ));
194
-
195
- $this->assertEquals(array(
196
- 'test' => array('value1', 'another'),
197
- 'test2' => 'value2',
198
- 'test3' => array('value3', 'value4'),
199
- 'different_key' => 'new value'
200
- ), $this->coll->getAll());
201
- }
202
-
203
- public function testAllowsFunctionalFilter()
204
- {
205
- $this->coll->merge(array(
206
- 'fruit' => 'apple',
207
- 'number' => 'ten',
208
- 'prepositions' => array('about', 'above', 'across', 'after'),
209
- 'same_number' => 'ten'
210
- ));
211
-
212
- $filtered = $this->coll->filter(function($key, $value) {
213
- return $value == 'ten';
214
- });
215
-
216
- $this->assertNotEquals($filtered, $this->coll);
217
-
218
- $this->assertEquals(array(
219
- 'number' => 'ten',
220
- 'same_number' => 'ten'
221
- ), $filtered->getAll());
222
- }
223
-
224
- public function testAllowsFunctionalMapping()
225
- {
226
- $this->coll->merge(array(
227
- 'number_1' => 1,
228
- 'number_2' => 2,
229
- 'number_3' => 3
230
- ));
231
-
232
- $mapped = $this->coll->map(function($key, $value) {
233
- return $value * $value;
234
- });
235
-
236
- $this->assertNotEquals($mapped, $this->coll);
237
-
238
- $this->assertEquals(array(
239
- 'number_1' => 1,
240
- 'number_2' => 4,
241
- 'number_3' => 9
242
- ), $mapped->getAll());
243
- }
244
-
245
- public function testImplementsArrayAccess()
246
- {
247
- $this->coll->merge(array(
248
- 'k1' => 'v1',
249
- 'k2' => 'v2'
250
- ));
251
-
252
- $this->assertTrue($this->coll->offsetExists('k1'));
253
- $this->assertFalse($this->coll->offsetExists('Krull'));
254
-
255
- $this->coll->offsetSet('k3', 'v3');
256
- $this->assertEquals('v3', $this->coll->offsetGet('k3'));
257
- $this->assertEquals('v3', $this->coll->get('k3'));
258
-
259
- $this->coll->offsetUnset('k1');
260
- $this->assertFalse($this->coll->offsetExists('k1'));
261
- }
262
-
263
- public function testUsesStaticWhenCreatingNew()
264
- {
265
- $qs = new QueryString(array(
266
- 'a' => 'b',
267
- 'c' => 'd'
268
- ));
269
-
270
- $this->assertInstanceOf('Guzzle\\Http\\QueryString', $qs->map(function($a, $b) {}));
271
- $this->assertInstanceOf('Guzzle\\Common\\Collection', $qs->map(function($a, $b) {}, array(), false));
272
-
273
- $this->assertInstanceOf('Guzzle\\Http\\QueryString', $qs->filter(function($a, $b) {}));
274
- $this->assertInstanceOf('Guzzle\\Common\\Collection', $qs->filter(function($a, $b) {}, false));
275
- }
276
-
277
- public function testCanReplaceAllData()
278
- {
279
- $this->assertSame($this->coll, $this->coll->replace(array(
280
- 'a' => '123'
281
- )));
282
-
283
- $this->assertEquals(array(
284
- 'a' => '123'
285
- ), $this->coll->getAll());
286
- }
287
-
288
- public function dataProvider()
289
- {
290
- return array(
291
- array('this_is_a_test', '{a}_is_a_{b}', array(
292
- 'a' => 'this',
293
- 'b' => 'test'
294
- )),
295
- array('this_is_a_test', '{abc}_is_a_{0}', array(
296
- 'abc' => 'this',
297
- 0 => 'test'
298
- )),
299
- array('this_is_a_test', '{abc}_is_a_{0}', array(
300
- 'abc' => 'this',
301
- 0 => 'test'
302
- )),
303
- array('this_is_a_test', 'this_is_a_test', array(
304
- 'abc' => 'this'
305
- )),
306
- array('{abc}_is_{not_found}a_{0}', '{abc}_is_{not_found}a_{0}', array())
307
- );
308
- }
309
-
310
- /**
311
- * @dataProvider dataProvider
312
- */
313
- public function testInjectsConfigData($output, $input, $config)
314
- {
315
- $collection = new Collection($config);
316
- $this->assertEquals($output, $collection->inject($input));
317
- }
318
-
319
- public function testCanSearchByKey()
320
- {
321
- $collection = new Collection(array(
322
- 'foo' => 'bar',
323
- 'BaZ' => 'pho'
324
- ));
325
-
326
- $this->assertEquals('foo', $collection->keySearch('FOO'));
327
- $this->assertEquals('BaZ', $collection->keySearch('baz'));
328
- $this->assertEquals(false, $collection->keySearch('Bar'));
329
- }
330
-
331
- public function testPreparesFromConfig()
332
- {
333
- $c = Collection::fromConfig(array(
334
- 'a' => '123',
335
- 'base_url' => 'http://www.test.com/'
336
- ), array(
337
- 'a' => 'xyz',
338
- 'b' => 'lol'
339
- ), array('a'));
340
-
341
- $this->assertInstanceOf('Guzzle\Common\Collection', $c);
342
- $this->assertEquals(array(
343
- 'a' => '123',
344
- 'b' => 'lol',
345
- 'base_url' => 'http://www.test.com/'
346
- ), $c->getAll());
347
-
348
- try {
349
- $c = Collection::fromConfig(array(), array(), array('a'));
350
- $this->fail('Exception not throw when missing config');
351
- } catch (InvalidArgumentException $e) {
352
- }
353
- }
354
-
355
- function falseyDataProvider()
356
- {
357
- return array(
358
- array(false, false),
359
- array(null, null),
360
- array('', ''),
361
- array(array(), array()),
362
- array(0, 0),
363
- );
364
- }
365
-
366
- /**
367
- * @dataProvider falseyDataProvider
368
- */
369
- public function testReturnsCorrectData($a, $b)
370
- {
371
- $c = new Collection(array('value' => $a));
372
- $this->assertSame($b, $c->get('value'));
373
- }
374
-
375
- public function testRetrievesNestedKeysUsingPath()
376
- {
377
- $data = array(
378
- 'foo' => 'bar',
379
- 'baz' => array(
380
- 'mesa' => array(
381
- 'jar' => 'jar'
382
- )
383
- )
384
- );
385
- $collection = new Collection($data);
386
- $this->assertEquals('bar', $collection->getPath('foo'));
387
- $this->assertEquals('jar', $collection->getPath('baz/mesa/jar'));
388
- $this->assertNull($collection->getPath('wewewf'));
389
- $this->assertNull($collection->getPath('baz/mesa/jar/jar'));
390
- }
391
-
392
- public function testFalseyKeysStillDescend()
393
- {
394
- $collection = new Collection(array(
395
- '0' => array(
396
- 'a' => 'jar'
397
- ),
398
- 1 => 'other'
399
- ));
400
- $this->assertEquals('jar', $collection->getPath('0/a'));
401
- $this->assertEquals('other', $collection->getPath('1'));
402
- }
403
-
404
- public function getPathProvider()
405
- {
406
- $data = array(
407
- 'foo' => 'bar',
408
- 'baz' => array(
409
- 'mesa' => array(
410
- 'jar' => 'jar',
411
- 'array' => array('a', 'b', 'c')
412
- ),
413
- 'bar' => array(
414
- 'baz' => 'bam',
415
- 'array' => array('d', 'e', 'f')
416
- )
417
- ),
418
- 'bam' => array(
419
- array('foo' => 1),
420
- array('foo' => 2),
421
- array('array' => array('h', 'i'))
422
- )
423
- );
424
- $c = new Collection($data);
425
-
426
- return array(
427
- // Simple path selectors
428
- array($c, 'foo', 'bar'),
429
- array($c, 'baz', $data['baz']),
430
- array($c, 'bam', $data['bam']),
431
- array($c, 'baz/mesa', $data['baz']['mesa']),
432
- array($c, 'baz/mesa/jar', 'jar'),
433
- // Merge everything two levels under baz
434
- array($c, 'baz/*', array(
435
- 'jar' => 'jar',
436
- 'array' => array_merge($data['baz']['mesa']['array'], $data['baz']['bar']['array']),
437
- 'baz' => 'bam'
438
- )),
439
- // Does not barf on missing keys
440
- array($c, 'fefwfw', null),
441
- // Does not barf when a wildcard does not resolve correctly
442
- array($c, '*/*/*/*/*/wefwfe', array()),
443
- // Allows custom separator
444
- array($c, '*|mesa', $data['baz']['mesa'], '|'),
445
- // Merge all 'array' keys two levels under baz (the trailing * does not hurt the results)
446
- array($c, 'baz/*/array/*', array_merge($data['baz']['mesa']['array'], $data['baz']['bar']['array'])),
447
- // Merge all 'array' keys two levels under baz
448
- array($c, 'baz/*/array', array_merge($data['baz']['mesa']['array'], $data['baz']['bar']['array'])),
449
- array($c, 'baz/mesa/array', $data['baz']['mesa']['array']),
450
- // Having a trailing * does not hurt the results
451
- array($c, 'baz/mesa/array/*', $data['baz']['mesa']['array']),
452
- // Merge of anything one level deep
453
- array($c, '*', array_merge(array('bar'), $data['baz'], $data['bam'])),
454
- // Funky merge of anything two levels deep
455
- array($c, '*/*', array(
456
- 'jar' => 'jar',
457
- 'array' => array('a', 'b', 'c', 'd', 'e', 'f', 'h', 'i'),
458
- 'baz' => 'bam',
459
- 'foo' => array(1, 2)
460
- )),
461
- // Funky merge of all 'array' keys that are two levels deep
462
- array($c, '*/*/array', array('a', 'b', 'c', 'd', 'e', 'f', 'h', 'i'))
463
- );
464
- }
465
-
466
- /**
467
- * @dataProvider getPathProvider
468
- */
469
- public function testGetPath(Collection $c, $path, $expected, $separator = '/')
470
- {
471
- $this->assertEquals($expected, $c->getPath($path, $separator));
472
- }
473
-
474
- public function testOverridesSettings()
475
- {
476
- $c = new Collection(array('foo' => 1, 'baz' => 2, 'bar' => 3));
477
- $c->overwriteWith(array('foo' => 10, 'bar' => 300));
478
- $this->assertEquals(array('foo' => 10, 'baz' => 2, 'bar' => 300), $c->getAll());
479
- }
480
-
481
- public function testOverwriteWithCollection()
482
- {
483
- $c = new Collection(array('foo' => 1, 'baz' => 2, 'bar' => 3));
484
- $b = new Collection(array('foo' => 10, 'bar' => 300));
485
- $c->overwriteWith($b);
486
- $this->assertEquals(array('foo' => 10, 'baz' => 2, 'bar' => 300), $c->getAll());
487
- }
488
-
489
- public function testOverwriteWithTraversable()
490
- {
491
- $c = new Collection(array('foo' => 1, 'baz' => 2, 'bar' => 3));
492
- $b = new Collection(array('foo' => 10, 'bar' => 300));
493
- $c->overwriteWith($b->getIterator());
494
- $this->assertEquals(array('foo' => 10, 'baz' => 2, 'bar' => 300), $c->getAll());
495
- }
496
-
497
- public function testCanSetNestedPathValueThatDoesNotExist()
498
- {
499
- $c = new Collection(array());
500
- $c->setPath('foo/bar/baz/123', 'hi');
501
- $this->assertEquals('hi', $c['foo']['bar']['baz']['123']);
502
- }
503
-
504
- public function testCanSetNestedPathValueThatExists()
505
- {
506
- $c = new Collection(array('foo' => array('bar' => 'test')));
507
- $c->setPath('foo/bar', 'hi');
508
- $this->assertEquals('hi', $c['foo']['bar']);
509
- }
510
-
511
- /**
512
- * @expectedException \Guzzle\Common\Exception\RuntimeException
513
- */
514
- public function testVerifiesNestedPathIsValidAtExactLevel()
515
- {
516
- $c = new Collection(array('foo' => 'bar'));
517
- $c->setPath('foo/bar', 'hi');
518
- $this->assertEquals('hi', $c['foo']['bar']);
519
- }
520
-
521
- /**
522
- * @expectedException \Guzzle\Common\Exception\RuntimeException
523
- */
524
- public function testVerifiesThatNestedPathIsValidAtAnyLevel()
525
- {
526
- $c = new Collection(array('foo' => 'bar'));
527
- $c->setPath('foo/bar/baz', 'test');
528
- }
529
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/EventTest.php DELETED
@@ -1,62 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Common;
4
-
5
- use Guzzle\Common\Event;
6
-
7
- /**
8
- * @covers Guzzle\Common\Event
9
- */
10
- class EventTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- /**
13
- * @return Event
14
- */
15
- private function getEvent()
16
- {
17
- return new Event(array(
18
- 'test' => '123',
19
- 'other' => '456',
20
- 'event' => 'test.notify'
21
- ));
22
- }
23
-
24
- public function testAllowsParameterInjection()
25
- {
26
- $event = new Event(array(
27
- 'test' => '123'
28
- ));
29
- $this->assertEquals('123', $event['test']);
30
- }
31
-
32
- public function testImplementsArrayAccess()
33
- {
34
- $event = $this->getEvent();
35
- $this->assertEquals('123', $event['test']);
36
- $this->assertNull($event['foobar']);
37
-
38
- $this->assertTrue($event->offsetExists('test'));
39
- $this->assertFalse($event->offsetExists('foobar'));
40
-
41
- unset($event['test']);
42
- $this->assertFalse($event->offsetExists('test'));
43
-
44
- $event['test'] = 'new';
45
- $this->assertEquals('new', $event['test']);
46
- }
47
-
48
- public function testImplementsIteratorAggregate()
49
- {
50
- $event = $this->getEvent();
51
- $this->assertInstanceOf('ArrayIterator', $event->getIterator());
52
- }
53
-
54
- public function testConvertsToArray()
55
- {
56
- $this->assertEquals(array(
57
- 'test' => '123',
58
- 'other' => '456',
59
- 'event' => 'test.notify'
60
- ), $this->getEvent()->toArray());
61
- }
62
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/BatchTransferExceptionTest.php DELETED
@@ -1,21 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Common\Exception;
4
-
5
- use Guzzle\Batch\Exception\BatchTransferException;
6
-
7
- class BatchTransferExceptionTest extends \Guzzle\Tests\GuzzleTestCase
8
- {
9
- public function testContainsBatch()
10
- {
11
- $e = new \Exception('Baz!');
12
- $t = $this->getMock('Guzzle\Batch\BatchTransferInterface');
13
- $d = $this->getMock('Guzzle\Batch\BatchDivisorInterface');
14
- $transferException = new BatchTransferException(array('foo'), array(1, 2), $e, $t, $d);
15
- $this->assertEquals(array('foo'), $transferException->getBatch());
16
- $this->assertSame($t, $transferException->getTransferStrategy());
17
- $this->assertSame($d, $transferException->getDivisorStrategy());
18
- $this->assertSame($e, $transferException->getPrevious());
19
- $this->assertEquals(array(1, 2), $transferException->getTransferredItems());
20
- }
21
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php DELETED
@@ -1,66 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Common\Exception;
4
-
5
- use Guzzle\Common\Exception\ExceptionCollection;
6
-
7
- class ExceptionCollectionTest extends \Guzzle\Tests\GuzzleTestCase
8
- {
9
- private function getExceptions()
10
- {
11
- return array(
12
- new \Exception('Test'),
13
- new \Exception('Testing')
14
- );
15
- }
16
-
17
- public function testAggregatesExceptions()
18
- {
19
- $e = new ExceptionCollection();
20
- $exceptions = $this->getExceptions();
21
- $e->add($exceptions[0]);
22
- $e->add($exceptions[1]);
23
- $this->assertContains("(Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $e->getMessage());
24
- $this->assertContains(" Test\n\n #0 ./", $e->getMessage());
25
- $this->assertSame($exceptions[0], $e->getFirst());
26
- }
27
-
28
- public function testCanSetExceptions()
29
- {
30
- $ex = new \Exception('foo');
31
- $e = new ExceptionCollection();
32
- $e->setExceptions(array($ex));
33
- $this->assertSame($ex, $e->getFirst());
34
- }
35
-
36
- public function testActsAsArray()
37
- {
38
- $e = new ExceptionCollection();
39
- $exceptions = $this->getExceptions();
40
- $e->add($exceptions[0]);
41
- $e->add($exceptions[1]);
42
- $this->assertEquals(2, count($e));
43
- $this->assertEquals($exceptions, $e->getIterator()->getArrayCopy());
44
- }
45
-
46
- public function testCanAddSelf()
47
- {
48
- $e1 = new ExceptionCollection();
49
- $e1->add(new \Exception("Test"));
50
- $e2 = new ExceptionCollection('Meta description!');
51
- $e2->add(new \Exception("Test 2"));
52
- $e3 = new ExceptionCollection();
53
- $e3->add(new \Exception('Baz'));
54
- $e2->add($e3);
55
- $e1->add($e2);
56
- $message = $e1->getMessage();
57
- $this->assertContains("(Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message);
58
- $this->assertContains("\n Test\n\n #0 ", $message);
59
- $this->assertContains("\n\n(Guzzle\\Common\\Exception\\ExceptionCollection) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message);
60
- $this->assertContains("\n\n Meta description!\n\n", $message);
61
- $this->assertContains(" (Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message);
62
- $this->assertContains("\n Test 2\n\n #0 ", $message);
63
- $this->assertContains(" (Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message);
64
- $this->assertContains(" Baz\n\n #0", $message);
65
- }
66
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/VersionTest.php DELETED
@@ -1,27 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Common;
4
-
5
- use Guzzle\Common\Version;
6
-
7
- /**
8
- * @covers Guzzle\Common\Version
9
- */
10
- class VersionTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- /**
13
- * @expectedException \PHPUnit_Framework_Error_Deprecated
14
- */
15
- public function testEmitsWarnings()
16
- {
17
- Version::$emitWarnings = true;
18
- Version::warn('testing!');
19
- }
20
-
21
- public function testCanSilenceWarnings()
22
- {
23
- Version::$emitWarnings = false;
24
- Version::warn('testing!');
25
- Version::$emitWarnings = true;
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/GuzzleTestCase.php DELETED
@@ -1,235 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests;
4
-
5
- use Guzzle\Common\HasDispatcherInterface;
6
- use Guzzle\Common\Event;
7
- use Guzzle\Http\Message\Response;
8
- use Guzzle\Http\Message\RequestInterface;
9
- use Guzzle\Tests\Http\Message\HeaderComparison;
10
- use Guzzle\Plugin\Mock\MockPlugin;
11
- use Guzzle\Http\Client;
12
- use Guzzle\Service\Builder\ServiceBuilderInterface;
13
- use Guzzle\Service\Builder\ServiceBuilder;
14
- use Guzzle\Tests\Mock\MockObserver;
15
- use Guzzle\Tests\Http\Server;
16
- use RuntimeException;
17
- use Symfony\Component\EventDispatcher\EventSubscriberInterface;
18
-
19
- /**
20
- * Base testcase class for all Guzzle testcases.
21
- */
22
- abstract class GuzzleTestCase extends \PHPUnit_Framework_TestCase
23
- {
24
- protected static $mockBasePath;
25
- public static $serviceBuilder;
26
- public static $server;
27
-
28
- private $requests = array();
29
- public $mockObserver;
30
-
31
- /**
32
- * Get the global server object used throughout the unit tests of Guzzle
33
- *
34
- * @return Server
35
- */
36
- public static function getServer()
37
- {
38
- if (!self::$server) {
39
- self::$server = new Server();
40
- if (self::$server->isRunning()) {
41
- self::$server->flush();
42
- } else {
43
- self::$server->start();
44
- }
45
- }
46
-
47
- return self::$server;
48
- }
49
-
50
- /**
51
- * Set the service builder to use for tests
52
- *
53
- * @param ServiceBuilderInterface $builder Service builder
54
- */
55
- public static function setServiceBuilder(ServiceBuilderInterface $builder)
56
- {
57
- self::$serviceBuilder = $builder;
58
- }
59
-
60
- /**
61
- * Get a service builder object that can be used throughout the service tests
62
- *
63
- * @return ServiceBuilder
64
- */
65
- public static function getServiceBuilder()
66
- {
67
- if (!self::$serviceBuilder) {
68
- throw new RuntimeException('No service builder has been set via setServiceBuilder()');
69
- }
70
-
71
- return self::$serviceBuilder;
72
- }
73
-
74
- /**
75
- * Check if an event dispatcher has a subscriber
76
- *
77
- * @param HasDispatcherInterface $dispatcher
78
- * @param EventSubscriberInterface $subscriber
79
- *
80
- * @return bool
81
- */
82
- protected function hasSubscriber(HasDispatcherInterface $dispatcher, EventSubscriberInterface $subscriber)
83
- {
84
- $class = get_class($subscriber);
85
- $all = array_keys(call_user_func(array($class, 'getSubscribedEvents')));
86
-
87
- foreach ($all as $i => $event) {
88
- foreach ($dispatcher->getEventDispatcher()->getListeners($event) as $e) {
89
- if ($e[0] === $subscriber) {
90
- unset($all[$i]);
91
- break;
92
- }
93
- }
94
- }
95
-
96
- return count($all) == 0;
97
- }
98
-
99
- /**
100
- * Get a wildcard observer for an event dispatcher
101
- *
102
- * @param HasDispatcherInterface $hasDispatcher
103
- *
104
- * @return MockObserver
105
- */
106
- public function getWildcardObserver(HasDispatcherInterface $hasDispatcher)
107
- {
108
- $class = get_class($hasDispatcher);
109
- $o = new MockObserver();
110
- $events = call_user_func(array($class, 'getAllEvents'));
111
- foreach ($events as $event) {
112
- $hasDispatcher->getEventDispatcher()->addListener($event, array($o, 'update'));
113
- }
114
-
115
- return $o;
116
- }
117
-
118
- /**
119
- * Set the mock response base path
120
- *
121
- * @param string $path Path to mock response folder
122
- *
123
- * @return GuzzleTestCase
124
- */
125
- public static function setMockBasePath($path)
126
- {
127
- self::$mockBasePath = $path;
128
- }
129
-
130
- /**
131
- * Mark a request as being mocked
132
- *
133
- * @param RequestInterface $request
134
- *
135
- * @return self
136
- */
137
- public function addMockedRequest(RequestInterface $request)
138
- {
139
- $this->requests[] = $request;
140
-
141
- return $this;
142
- }
143
-
144
- /**
145
- * Get all of the mocked requests
146
- *
147
- * @return array
148
- */
149
- public function getMockedRequests()
150
- {
151
- return $this->requests;
152
- }
153
-
154
- /**
155
- * Get a mock response for a client by mock file name
156
- *
157
- * @param string $path Relative path to the mock response file
158
- *
159
- * @return Response
160
- */
161
- public function getMockResponse($path)
162
- {
163
- return $path instanceof Response
164
- ? $path
165
- : MockPlugin::getMockFile(self::$mockBasePath . DIRECTORY_SEPARATOR . $path);
166
- }
167
-
168
- /**
169
- * Set a mock response from a mock file on the next client request.
170
- *
171
- * This method assumes that mock response files are located under the
172
- * Command/Mock/ directory of the Service being tested
173
- * (e.g. Unfuddle/Command/Mock/). A mock response is added to the next
174
- * request sent by the client.
175
- *
176
- * @param Client $client Client object to modify
177
- * @param string $paths Path to files within the Mock folder of the service
178
- *
179
- * @return MockPlugin returns the created mock plugin
180
- */
181
- public function setMockResponse(Client $client, $paths)
182
- {
183
- $this->requests = array();
184
- $that = $this;
185
- $mock = new MockPlugin(null, true);
186
- $client->getEventDispatcher()->removeSubscriber($mock);
187
- $mock->getEventDispatcher()->addListener('mock.request', function(Event $event) use ($that) {
188
- $that->addMockedRequest($event['request']);
189
- });
190
-
191
- if ($paths instanceof Response) {
192
- // A single response instance has been specified, create an array with that instance
193
- // as the only element for the following loop to work as expected
194
- $paths = array($paths);
195
- }
196
-
197
- foreach ((array) $paths as $path) {
198
- $mock->addResponse($this->getMockResponse($path));
199
- }
200
-
201
- $client->getEventDispatcher()->addSubscriber($mock);
202
-
203
- return $mock;
204
- }
205
-
206
- /**
207
- * Compare HTTP headers and use special markup to filter values
208
- * A header prefixed with '!' means it must not exist
209
- * A header prefixed with '_' means it must be ignored
210
- * A header value of '*' means anything after the * will be ignored
211
- *
212
- * @param array $filteredHeaders Array of special headers
213
- * @param array $actualHeaders Array of headers to check against
214
- *
215
- * @return array|bool Returns an array of the differences or FALSE if none
216
- */
217
- public function compareHeaders($filteredHeaders, $actualHeaders)
218
- {
219
- $comparison = new HeaderComparison();
220
-
221
- return $comparison->compare($filteredHeaders, $actualHeaders);
222
- }
223
-
224
- /**
225
- * Case insensitive assertContains
226
- *
227
- * @param string $needle Search string
228
- * @param string $haystack Search this
229
- * @param string $message Optional failure message
230
- */
231
- public function assertContainsIns($needle, $haystack, $message = null)
232
- {
233
- $this->assertContains(strtolower($needle), strtolower($haystack), $message);
234
- }
235
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/AbstractEntityBodyDecoratorTest.php DELETED
@@ -1,34 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http;
4
-
5
- use Guzzle\Http\EntityBody;
6
-
7
- /**
8
- * @covers Guzzle\Http\AbstractEntityBodyDecorator
9
- */
10
- class AbstractEntityBodyDecoratorTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- public function testDecoratesEntityBody()
13
- {
14
- $e = EntityBody::factory();
15
- $mock = $this->getMockForAbstractClass('Guzzle\Http\AbstractEntityBodyDecorator', array($e));
16
-
17
- $this->assertSame($e->getStream(), $mock->getStream());
18
- $this->assertSame($e->getContentLength(), $mock->getContentLength());
19
- $this->assertSame($e->getSize(), $mock->getSize());
20
- $this->assertSame($e->getContentMd5(), $mock->getContentMd5());
21
- $this->assertSame($e->getContentType(), $mock->getContentType());
22
- $this->assertSame($e->__toString(), $mock->__toString());
23
- $this->assertSame($e->getUri(), $mock->getUri());
24
- $this->assertSame($e->getStreamType(), $mock->getStreamType());
25
- $this->assertSame($e->getWrapper(), $mock->getWrapper());
26
- $this->assertSame($e->getWrapperData(), $mock->getWrapperData());
27
- $this->assertSame($e->isReadable(), $mock->isReadable());
28
- $this->assertSame($e->isWritable(), $mock->isWritable());
29
- $this->assertSame($e->isConsumed(), $mock->isConsumed());
30
- $this->assertSame($e->isLocal(), $mock->isLocal());
31
- $this->assertSame($e->isSeekable(), $mock->isSeekable());
32
- $this->assertSame($e->getContentEncoding(), $mock->getContentEncoding());
33
- }
34
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/CachingEntityBodyTest.php DELETED
@@ -1,249 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http;
4
-
5
- use Guzzle\Http\EntityBody;
6
- use Guzzle\Http\CachingEntityBody;
7
-
8
- /**
9
- * @covers Guzzle\Http\CachingEntityBody
10
- */
11
- class CachingEntityBodyTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- /** @var CachingEntityBody */
14
- protected $body;
15
-
16
- /** @var EntityBody */
17
- protected $decorated;
18
-
19
- public function setUp()
20
- {
21
- $this->decorated = EntityBody::factory('testing');
22
- $this->body = new CachingEntityBody($this->decorated);
23
- }
24
-
25
- public function testUsesRemoteSizeIfPossible()
26
- {
27
- $body = EntityBody::factory('test');
28
- $caching = new CachingEntityBody($body);
29
- $this->assertEquals(4, $caching->getSize());
30
- $this->assertEquals(4, $caching->getContentLength());
31
- }
32
-
33
- /**
34
- * @expectedException \Guzzle\Common\Exception\RuntimeException
35
- * @expectedExceptionMessage does not support custom stream rewind
36
- */
37
- public function testDoesNotAllowRewindFunction()
38
- {
39
- $this->body->setRewindFunction(true);
40
- }
41
-
42
- /**
43
- * @expectedException \Guzzle\Common\Exception\RuntimeException
44
- * @expectedExceptionMessage Cannot seek to byte 10
45
- */
46
- public function testCannotSeekPastWhatHasBeenRead()
47
- {
48
- $this->body->seek(10);
49
- }
50
-
51
- /**
52
- * @expectedException \Guzzle\Common\Exception\RuntimeException
53
- * @expectedExceptionMessage supports only SEEK_SET and SEEK_CUR
54
- */
55
- public function testCannotUseSeekEnd()
56
- {
57
- $this->body->seek(2, SEEK_END);
58
- }
59
-
60
- public function testChangingUnderlyingStreamUpdatesSizeAndStream()
61
- {
62
- $size = filesize(__FILE__);
63
- $s = fopen(__FILE__, 'r');
64
- $this->body->setStream($s, $size);
65
- $this->assertEquals($size, $this->body->getSize());
66
- $this->assertEquals($size, $this->decorated->getSize());
67
- $this->assertSame($s, $this->body->getStream());
68
- $this->assertSame($s, $this->decorated->getStream());
69
- }
70
-
71
- public function testRewindUsesSeek()
72
- {
73
- $a = EntityBody::factory('foo');
74
- $d = $this->getMockBuilder('Guzzle\Http\CachingEntityBody')
75
- ->setMethods(array('seek'))
76
- ->setConstructorArgs(array($a))
77
- ->getMock();
78
- $d->expects($this->once())
79
- ->method('seek')
80
- ->with(0)
81
- ->will($this->returnValue(true));
82
- $d->rewind();
83
- }
84
-
85
- public function testCanSeekToReadBytes()
86
- {
87
- $this->assertEquals('te', $this->body->read(2));
88
- $this->body->seek(0);
89
- $this->assertEquals('test', $this->body->read(4));
90
- $this->assertEquals(4, $this->body->ftell());
91
- $this->body->seek(2);
92
- $this->assertEquals(2, $this->body->ftell());
93
- $this->body->seek(2, SEEK_CUR);
94
- $this->assertEquals(4, $this->body->ftell());
95
- $this->assertEquals('ing', $this->body->read(3));
96
- }
97
-
98
- public function testWritesToBufferStream()
99
- {
100
- $this->body->read(2);
101
- $this->body->write('hi');
102
- $this->body->rewind();
103
- $this->assertEquals('tehiing', (string) $this->body);
104
- }
105
-
106
- public function testReadLinesFromBothStreams()
107
- {
108
- $this->body->seek($this->body->ftell());
109
- $this->body->write("test\n123\nhello\n1234567890\n");
110
- $this->body->rewind();
111
- $this->assertEquals("test\n", $this->body->readLine(7));
112
- $this->assertEquals("123\n", $this->body->readLine(7));
113
- $this->assertEquals("hello\n", $this->body->readLine(7));
114
- $this->assertEquals("123456", $this->body->readLine(7));
115
- $this->assertEquals("7890\n", $this->body->readLine(7));
116
- // We overwrote the decorated stream, so no more data
117
- $this->assertEquals('', $this->body->readLine(7));
118
- }
119
-
120
- public function testSkipsOverwrittenBytes()
121
- {
122
- $decorated = EntityBody::factory(
123
- implode("\n", array_map(function ($n) {
124
- return str_pad($n, 4, '0', STR_PAD_LEFT);
125
- }, range(0, 25)))
126
- );
127
-
128
- $body = new CachingEntityBody($decorated);
129
-
130
- $this->assertEquals("0000\n", $body->readLine());
131
- $this->assertEquals("0001\n", $body->readLine());
132
- // Write over part of the body yet to be read, so skip some bytes
133
- $this->assertEquals(5, $body->write("TEST\n"));
134
- $this->assertEquals(5, $this->readAttribute($body, 'skipReadBytes'));
135
- // Read, which skips bytes, then reads
136
- $this->assertEquals("0003\n", $body->readLine());
137
- $this->assertEquals(0, $this->readAttribute($body, 'skipReadBytes'));
138
- $this->assertEquals("0004\n", $body->readLine());
139
- $this->assertEquals("0005\n", $body->readLine());
140
-
141
- // Overwrite part of the cached body (so don't skip any bytes)
142
- $body->seek(5);
143
- $this->assertEquals(5, $body->write("ABCD\n"));
144
- $this->assertEquals(0, $this->readAttribute($body, 'skipReadBytes'));
145
- $this->assertEquals("TEST\n", $body->readLine());
146
- $this->assertEquals("0003\n", $body->readLine());
147
- $this->assertEquals("0004\n", $body->readLine());
148
- $this->assertEquals("0005\n", $body->readLine());
149
- $this->assertEquals("0006\n", $body->readLine());
150
- $this->assertEquals(5, $body->write("1234\n"));
151
- $this->assertEquals(5, $this->readAttribute($body, 'skipReadBytes'));
152
-
153
- // Seek to 0 and ensure the overwritten bit is replaced
154
- $body->rewind();
155
- $this->assertEquals("0000\nABCD\nTEST\n0003\n0004\n0005\n0006\n1234\n0008\n0009\n", $body->read(50));
156
-
157
- // Ensure that casting it to a string does not include the bit that was overwritten
158
- $this->assertContains("0000\nABCD\nTEST\n0003\n0004\n0005\n0006\n1234\n0008\n0009\n", (string) $body);
159
- }
160
-
161
- public function testWrapsContentType()
162
- {
163
- $a = $this->getMockBuilder('Guzzle\Http\EntityBody')
164
- ->setMethods(array('getContentType'))
165
- ->setConstructorArgs(array(fopen(__FILE__, 'r')))
166
- ->getMock();
167
- $a->expects($this->once())
168
- ->method('getContentType')
169
- ->will($this->returnValue('foo'));
170
- $d = new CachingEntityBody($a);
171
- $this->assertEquals('foo', $d->getContentType());
172
- }
173
-
174
- public function testWrapsContentEncoding()
175
- {
176
- $a = $this->getMockBuilder('Guzzle\Http\EntityBody')
177
- ->setMethods(array('getContentEncoding'))
178
- ->setConstructorArgs(array(fopen(__FILE__, 'r')))
179
- ->getMock();
180
- $a->expects($this->once())
181
- ->method('getContentEncoding')
182
- ->will($this->returnValue('foo'));
183
- $d = new CachingEntityBody($a);
184
- $this->assertEquals('foo', $d->getContentEncoding());
185
- }
186
-
187
- public function testWrapsMetadata()
188
- {
189
- $a = $this->getMockBuilder('Guzzle\Http\EntityBody')
190
- ->setMethods(array('getMetadata', 'getWrapper', 'getWrapperData', 'getStreamType', 'getUri'))
191
- ->setConstructorArgs(array(fopen(__FILE__, 'r')))
192
- ->getMock();
193
-
194
- $a->expects($this->once())
195
- ->method('getMetadata')
196
- ->will($this->returnValue(array()));
197
- // Called twice for getWrapper and getWrapperData
198
- $a->expects($this->exactly(1))
199
- ->method('getWrapper')
200
- ->will($this->returnValue('wrapper'));
201
- $a->expects($this->once())
202
- ->method('getWrapperData')
203
- ->will($this->returnValue(array()));
204
- $a->expects($this->once())
205
- ->method('getStreamType')
206
- ->will($this->returnValue('baz'));
207
- $a->expects($this->once())
208
- ->method('getUri')
209
- ->will($this->returnValue('path/to/foo'));
210
-
211
- $d = new CachingEntityBody($a);
212
- $this->assertEquals(array(), $d->getMetaData());
213
- $this->assertEquals('wrapper', $d->getWrapper());
214
- $this->assertEquals(array(), $d->getWrapperData());
215
- $this->assertEquals('baz', $d->getStreamType());
216
- $this->assertEquals('path/to/foo', $d->getUri());
217
- }
218
-
219
- public function testWrapsCustomData()
220
- {
221
- $a = $this->getMockBuilder('Guzzle\Http\EntityBody')
222
- ->setMethods(array('getCustomData', 'setCustomData'))
223
- ->setConstructorArgs(array(fopen(__FILE__, 'r')))
224
- ->getMock();
225
-
226
- $a->expects($this->exactly(1))
227
- ->method('getCustomData')
228
- ->with('foo')
229
- ->will($this->returnValue('bar'));
230
-
231
- $a->expects($this->exactly(1))
232
- ->method('setCustomData')
233
- ->with('foo', 'bar')
234
- ->will($this->returnSelf());
235
-
236
- $d = new CachingEntityBody($a);
237
- $this->assertSame($d, $d->setCustomData('foo', 'bar'));
238
- $this->assertEquals('bar', $d->getCustomData('foo'));
239
- }
240
-
241
- public function testClosesBothStreams()
242
- {
243
- $s = fopen('php://temp', 'r');
244
- $a = EntityBody::factory($s);
245
- $d = new CachingEntityBody($a);
246
- $d->close();
247
- $this->assertFalse(is_resource($s));
248
- }
249
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php DELETED
@@ -1,601 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http;
4
-
5
- use Guzzle\Common\Collection;
6
- use Guzzle\Log\ClosureLogAdapter;
7
- use Guzzle\Parser\UriTemplate\UriTemplate;
8
- use Guzzle\Http\Message\Response;
9
- use Guzzle\Plugin\Log\LogPlugin;
10
- use Guzzle\Plugin\Mock\MockPlugin;
11
- use Guzzle\Http\Curl\CurlMulti;
12
- use Guzzle\Http\Client;
13
- use Guzzle\Common\Version;
14
-
15
- /**
16
- * @group server
17
- * @covers Guzzle\Http\Client
18
- */
19
- class ClientTest extends \Guzzle\Tests\GuzzleTestCase
20
- {
21
- /**
22
- * @return LogPlugin
23
- */
24
- private function getLogPlugin()
25
- {
26
- return new LogPlugin(new ClosureLogAdapter(
27
- function($message, $priority, $extras = null) {
28
- echo $message . ' ' . $priority . ' ' . implode(' - ', (array) $extras) . "\n";
29
- }
30
- ));
31
- }
32
-
33
- public function testAcceptsConfig()
34
- {
35
- $client = new Client('http://www.google.com/');
36
- $this->assertEquals('http://www.google.com/', $client->getBaseUrl());
37
- $this->assertSame($client, $client->setConfig(array(
38
- 'test' => '123'
39
- )));
40
- $this->assertEquals(array('test' => '123'), $client->getConfig()->getAll());
41
- $this->assertEquals('123', $client->getConfig('test'));
42
- $this->assertSame($client, $client->setBaseUrl('http://www.test.com/{test}'));
43
- $this->assertEquals('http://www.test.com/123', $client->getBaseUrl());
44
- $this->assertEquals('http://www.test.com/{test}', $client->getBaseUrl(false));
45
-
46
- try {
47
- $client->setConfig(false);
48
- } catch (\InvalidArgumentException $e) {
49
- }
50
- }
51
-
52
- public function testDescribesEvents()
53
- {
54
- $this->assertEquals(array('client.create_request'), Client::getAllEvents());
55
- }
56
-
57
- public function testConstructorCanAcceptConfig()
58
- {
59
- $client = new Client('http://www.test.com/', array(
60
- 'data' => '123'
61
- ));
62
- $this->assertEquals('123', $client->getConfig('data'));
63
- }
64
-
65
- public function testCanUseCollectionAsConfig()
66
- {
67
- $client = new Client('http://www.google.com/');
68
- $client->setConfig(new Collection(array(
69
- 'api' => 'v1',
70
- 'key' => 'value',
71
- 'base_url' => 'http://www.google.com/'
72
- )));
73
- $this->assertEquals('v1', $client->getConfig('api'));
74
- }
75
-
76
- public function testExpandsUriTemplatesUsingConfig()
77
- {
78
- $client = new Client('http://www.google.com/');
79
- $client->setConfig(array('api' => 'v1', 'key' => 'value', 'foo' => 'bar'));
80
- $ref = new \ReflectionMethod($client, 'expandTemplate');
81
- $ref->setAccessible(true);
82
- $this->assertEquals('Testing...api/v1/key/value', $ref->invoke($client, 'Testing...api/{api}/key/{key}'));
83
- }
84
-
85
- public function testClientAttachersObserversToRequests()
86
- {
87
- $this->getServer()->flush();
88
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
89
-
90
- $client = new Client($this->getServer()->getUrl());
91
- $logPlugin = $this->getLogPlugin();
92
- $client->getEventDispatcher()->addSubscriber($logPlugin);
93
-
94
- // Get a request from the client and ensure the the observer was
95
- // attached to the new request
96
- $request = $client->createRequest();
97
- $this->assertTrue($this->hasSubscriber($request, $logPlugin));
98
- }
99
-
100
- public function testClientReturnsValidBaseUrls()
101
- {
102
- $client = new Client('http://www.{foo}.{data}/', array(
103
- 'data' => '123',
104
- 'foo' => 'bar'
105
- ));
106
- $this->assertEquals('http://www.bar.123/', $client->getBaseUrl());
107
- $client->setBaseUrl('http://www.google.com/');
108
- $this->assertEquals('http://www.google.com/', $client->getBaseUrl());
109
- }
110
-
111
- public function testClientAddsCurlOptionsToRequests()
112
- {
113
- $client = new Client('http://www.test.com/', array(
114
- 'api' => 'v1',
115
- // Adds the option using the curl values
116
- 'curl.options' => array(
117
- 'CURLOPT_HTTPAUTH' => 'CURLAUTH_DIGEST',
118
- 'abc' => 'foo',
119
- 'blacklist' => 'abc',
120
- 'debug' => true
121
- )
122
- ));
123
-
124
- $request = $client->createRequest();
125
- $options = $request->getCurlOptions();
126
- $this->assertEquals(CURLAUTH_DIGEST, $options->get(CURLOPT_HTTPAUTH));
127
- $this->assertEquals('foo', $options->get('abc'));
128
- $this->assertEquals('abc', $options->get('blacklist'));
129
- }
130
-
131
- public function testClientAllowsFineGrainedSslControlButIsSecureByDefault()
132
- {
133
- $client = new Client('https://www.secure.com/');
134
-
135
- // secure by default
136
- $request = $client->createRequest();
137
- $options = $request->getCurlOptions();
138
- $this->assertTrue($options->get(CURLOPT_SSL_VERIFYPEER));
139
-
140
- // set a capath if you prefer
141
- $client = new Client('https://www.secure.com/');
142
- $client->setSslVerification(__DIR__);
143
- $request = $client->createRequest();
144
- $options = $request->getCurlOptions();
145
- $this->assertSame(__DIR__, $options->get(CURLOPT_CAPATH));
146
- }
147
-
148
- public function testConfigSettingsControlSslConfiguration()
149
- {
150
- // Use the default ca certs on the system
151
- $client = new Client('https://www.secure.com/', array('ssl.certificate_authority' => 'system'));
152
- $this->assertNull($client->getConfig('curl.options'));
153
- // Can set the cacert value as well
154
- $client = new Client('https://www.secure.com/', array('ssl.certificate_authority' => false));
155
- $options = $client->getConfig('curl.options');
156
- $this->assertArrayNotHasKey(CURLOPT_CAINFO, $options);
157
- $this->assertSame(false, $options[CURLOPT_SSL_VERIFYPEER]);
158
- $this->assertSame(0, $options[CURLOPT_SSL_VERIFYHOST]);
159
- }
160
-
161
- public function testClientAllowsUnsafeOperationIfRequested()
162
- {
163
- // be really unsafe if you insist
164
- $client = new Client('https://www.secure.com/', array(
165
- 'api' => 'v1'
166
- ));
167
-
168
- $client->setSslVerification(false);
169
- $request = $client->createRequest();
170
- $options = $request->getCurlOptions();
171
- $this->assertFalse($options->get(CURLOPT_SSL_VERIFYPEER));
172
- $this->assertNull($options->get(CURLOPT_CAINFO));
173
- }
174
-
175
- /**
176
- * @expectedException \Guzzle\Common\Exception\RuntimeException
177
- */
178
- public function testThrowsExceptionForInvalidCertificate()
179
- {
180
- $client = new Client('https://www.secure.com/');
181
- $client->setSslVerification('/path/to/missing/file');
182
- }
183
-
184
- public function testClientAllowsSettingSpecificSslCaInfo()
185
- {
186
- // set a file other than the provided cacert.pem
187
- $client = new Client('https://www.secure.com/', array(
188
- 'api' => 'v1'
189
- ));
190
-
191
- $client->setSslVerification(__FILE__);
192
- $request = $client->createRequest();
193
- $options = $request->getCurlOptions();
194
- $this->assertSame(__FILE__, $options->get(CURLOPT_CAINFO));
195
- }
196
-
197
- /**
198
- * @expectedException Guzzle\Common\Exception\InvalidArgumentException
199
- */
200
- public function testClientPreventsInadvertentInsecureVerifyHostSetting()
201
- {
202
- // set a file other than the provided cacert.pem
203
- $client = new Client('https://www.secure.com/', array(
204
- 'api' => 'v1'
205
- ));
206
- $client->setSslVerification(__FILE__, true, true);
207
- }
208
-
209
- /**
210
- * @expectedException Guzzle\Common\Exception\InvalidArgumentException
211
- */
212
- public function testClientPreventsInvalidVerifyPeerSetting()
213
- {
214
- // set a file other than the provided cacert.pem
215
- $client = new Client('https://www.secure.com/', array(
216
- 'api' => 'v1'
217
- ));
218
- $client->setSslVerification(__FILE__, 'yes');
219
- }
220
-
221
- public function testClientAddsParamsToRequests()
222
- {
223
- Version::$emitWarnings = false;
224
- $client = new Client('http://www.example.com', array(
225
- 'api' => 'v1',
226
- 'request.params' => array(
227
- 'foo' => 'bar',
228
- 'baz' => 'jar'
229
- )
230
- ));
231
- $request = $client->createRequest();
232
- $this->assertEquals('bar', $request->getParams()->get('foo'));
233
- $this->assertEquals('jar', $request->getParams()->get('baz'));
234
- Version::$emitWarnings = true;
235
- }
236
-
237
- public function urlProvider()
238
- {
239
- $u = $this->getServer()->getUrl() . 'base/';
240
- $u2 = $this->getServer()->getUrl() . 'base?z=1';
241
- return array(
242
- array($u, '', $u),
243
- array($u, 'relative/path/to/resource', $u . 'relative/path/to/resource'),
244
- array($u, 'relative/path/to/resource?a=b&c=d', $u . 'relative/path/to/resource?a=b&c=d'),
245
- array($u, '/absolute/path/to/resource', $this->getServer()->getUrl() . 'absolute/path/to/resource'),
246
- array($u, '/absolute/path/to/resource?a=b&c=d', $this->getServer()->getUrl() . 'absolute/path/to/resource?a=b&c=d'),
247
- array($u2, '/absolute/path/to/resource?a=b&c=d', $this->getServer()->getUrl() . 'absolute/path/to/resource?a=b&c=d&z=1'),
248
- array($u2, 'relative/path/to/resource', $this->getServer()->getUrl() . 'base/relative/path/to/resource?z=1'),
249
- array($u2, 'relative/path/to/resource?another=query', $this->getServer()->getUrl() . 'base/relative/path/to/resource?another=query&z=1')
250
- );
251
- }
252
-
253
- /**
254
- * @dataProvider urlProvider
255
- */
256
- public function testBuildsRelativeUrls($baseUrl, $url, $result)
257
- {
258
- $client = new Client($baseUrl);
259
- $this->assertEquals($result, $client->get($url)->getUrl());
260
- }
261
-
262
- public function testAllowsConfigsToBeChangedAndInjectedInBaseUrl()
263
- {
264
- $client = new Client('http://{a}/{b}');
265
- $this->assertEquals('http:///', $client->getBaseUrl());
266
- $this->assertEquals('http://{a}/{b}', $client->getBaseUrl(false));
267
- $client->setConfig(array(
268
- 'a' => 'test.com',
269
- 'b' => 'index.html'
270
- ));
271
- $this->assertEquals('http://test.com/index.html', $client->getBaseUrl());
272
- }
273
-
274
- public function testCreatesRequestsWithDefaultValues()
275
- {
276
- $client = new Client($this->getServer()->getUrl() . 'base');
277
-
278
- // Create a GET request
279
- $request = $client->createRequest();
280
- $this->assertEquals('GET', $request->getMethod());
281
- $this->assertEquals($client->getBaseUrl(), $request->getUrl());
282
-
283
- // Create a DELETE request
284
- $request = $client->createRequest('DELETE');
285
- $this->assertEquals('DELETE', $request->getMethod());
286
- $this->assertEquals($client->getBaseUrl(), $request->getUrl());
287
-
288
- // Create a HEAD request with custom headers
289
- $request = $client->createRequest('HEAD', 'http://www.test.com/');
290
- $this->assertEquals('HEAD', $request->getMethod());
291
- $this->assertEquals('http://www.test.com/', $request->getUrl());
292
-
293
- // Create a PUT request
294
- $request = $client->createRequest('PUT');
295
- $this->assertEquals('PUT', $request->getMethod());
296
-
297
- // Create a PUT request with injected config
298
- $client->getConfig()->set('a', 1)->set('b', 2);
299
- $request = $client->createRequest('PUT', '/path/{a}?q={b}');
300
- $this->assertEquals($request->getUrl(), $this->getServer()->getUrl() . 'path/1?q=2');
301
- }
302
-
303
- public function testClientHasHelperMethodsForCreatingRequests()
304
- {
305
- $url = $this->getServer()->getUrl();
306
- $client = new Client($url . 'base');
307
- $this->assertEquals('GET', $client->get()->getMethod());
308
- $this->assertEquals('PUT', $client->put()->getMethod());
309
- $this->assertEquals('POST', $client->post()->getMethod());
310
- $this->assertEquals('HEAD', $client->head()->getMethod());
311
- $this->assertEquals('DELETE', $client->delete()->getMethod());
312
- $this->assertEquals('OPTIONS', $client->options()->getMethod());
313
- $this->assertEquals('PATCH', $client->patch()->getMethod());
314
- $this->assertEquals($url . 'base/abc', $client->get('abc')->getUrl());
315
- $this->assertEquals($url . 'zxy', $client->put('/zxy')->getUrl());
316
- $this->assertEquals($url . 'zxy?a=b', $client->post('/zxy?a=b')->getUrl());
317
- $this->assertEquals($url . 'base?a=b', $client->head('?a=b')->getUrl());
318
- $this->assertEquals($url . 'base?a=b', $client->delete('/base?a=b')->getUrl());
319
- }
320
-
321
- public function testClientInjectsConfigsIntoUrls()
322
- {
323
- $client = new Client('http://www.test.com/api/v1', array(
324
- 'test' => '123'
325
- ));
326
- $request = $client->get('relative/{test}');
327
- $this->assertEquals('http://www.test.com/api/v1/relative/123', $request->getUrl());
328
- }
329
-
330
- public function testAllowsEmptyBaseUrl()
331
- {
332
- $client = new Client();
333
- $request = $client->get('http://www.google.com/');
334
- $this->assertEquals('http://www.google.com/', $request->getUrl());
335
- $request->setResponse(new Response(200), true);
336
- $request->send();
337
- }
338
-
339
- public function testAllowsCustomCurlMultiObjects()
340
- {
341
- $mock = $this->getMock('Guzzle\\Http\\Curl\\CurlMulti', array('add', 'send'));
342
- $mock->expects($this->once())
343
- ->method('add')
344
- ->will($this->returnSelf());
345
- $mock->expects($this->once())
346
- ->method('send')
347
- ->will($this->returnSelf());
348
-
349
- $client = new Client();
350
- $client->setCurlMulti($mock);
351
-
352
- $request = $client->get();
353
- $request->setResponse(new Response(200), true);
354
- $client->send($request);
355
- }
356
-
357
- public function testClientSendsMultipleRequests()
358
- {
359
- $client = new Client($this->getServer()->getUrl());
360
- $mock = new MockPlugin();
361
-
362
- $responses = array(
363
- new Response(200),
364
- new Response(201),
365
- new Response(202)
366
- );
367
-
368
- $mock->addResponse($responses[0]);
369
- $mock->addResponse($responses[1]);
370
- $mock->addResponse($responses[2]);
371
-
372
- $client->getEventDispatcher()->addSubscriber($mock);
373
-
374
- $requests = array(
375
- $client->get(),
376
- $client->head(),
377
- $client->put('/', null, 'test')
378
- );
379
-
380
- $this->assertEquals(array(
381
- $responses[0],
382
- $responses[1],
383
- $responses[2]
384
- ), $client->send($requests));
385
- }
386
-
387
- public function testClientSendsSingleRequest()
388
- {
389
- $client = new Client($this->getServer()->getUrl());
390
- $mock = new MockPlugin();
391
- $response = new Response(200);
392
- $mock->addResponse($response);
393
- $client->getEventDispatcher()->addSubscriber($mock);
394
- $this->assertEquals($response, $client->send($client->get()));
395
- }
396
-
397
- /**
398
- * @expectedException \Guzzle\Http\Exception\BadResponseException
399
- */
400
- public function testClientThrowsExceptionForSingleRequest()
401
- {
402
- $client = new Client($this->getServer()->getUrl());
403
- $mock = new MockPlugin();
404
- $response = new Response(404);
405
- $mock->addResponse($response);
406
- $client->getEventDispatcher()->addSubscriber($mock);
407
- $client->send($client->get());
408
- }
409
-
410
- /**
411
- * @expectedException \Guzzle\Common\Exception\ExceptionCollection
412
- */
413
- public function testClientThrowsExceptionForMultipleRequests()
414
- {
415
- $client = new Client($this->getServer()->getUrl());
416
- $mock = new MockPlugin();
417
- $mock->addResponse(new Response(200));
418
- $mock->addResponse(new Response(404));
419
- $client->getEventDispatcher()->addSubscriber($mock);
420
- $client->send(array($client->get(), $client->head()));
421
- }
422
-
423
- public function testQueryStringsAreNotDoubleEncoded()
424
- {
425
- $client = new Client('http://test.com', array(
426
- 'path' => array('foo', 'bar'),
427
- 'query' => 'hi there',
428
- 'data' => array(
429
- 'test' => 'a&b'
430
- )
431
- ));
432
-
433
- $request = $client->get('{/path*}{?query,data*}');
434
- $this->assertEquals('http://test.com/foo/bar?query=hi%20there&test=a%26b', $request->getUrl());
435
- $this->assertEquals('hi there', $request->getQuery()->get('query'));
436
- $this->assertEquals('a&b', $request->getQuery()->get('test'));
437
- }
438
-
439
- public function testQueryStringsAreNotDoubleEncodedUsingAbsolutePaths()
440
- {
441
- $client = new Client('http://test.com', array(
442
- 'path' => array('foo', 'bar'),
443
- 'query' => 'hi there',
444
- ));
445
- $request = $client->get('http://test.com{?query}');
446
- $this->assertEquals('http://test.com?query=hi%20there', $request->getUrl());
447
- $this->assertEquals('hi there', $request->getQuery()->get('query'));
448
- }
449
-
450
- public function testAllowsUriTemplateInjection()
451
- {
452
- $client = new Client('http://test.com');
453
- $ref = new \ReflectionMethod($client, 'getUriTemplate');
454
- $ref->setAccessible(true);
455
- $a = $ref->invoke($client);
456
- $this->assertSame($a, $ref->invoke($client));
457
- $client->setUriTemplate(new UriTemplate());
458
- $this->assertNotSame($a, $ref->invoke($client));
459
- }
460
-
461
- public function testAllowsCustomVariablesWhenExpandingTemplates()
462
- {
463
- $client = new Client('http://test.com', array('test' => 'hi'));
464
- $ref = new \ReflectionMethod($client, 'expandTemplate');
465
- $ref->setAccessible(true);
466
- $uri = $ref->invoke($client, 'http://{test}{?query*}', array('query' => array('han' => 'solo')));
467
- $this->assertEquals('http://hi?han=solo', $uri);
468
- }
469
-
470
- public function testUriArrayAllowsCustomTemplateVariables()
471
- {
472
- $client = new Client();
473
- $vars = array(
474
- 'var' => 'hi'
475
- );
476
- $this->assertEquals('/hi', (string) $client->createRequest('GET', array('/{var}', $vars))->getUrl());
477
- $this->assertEquals('/hi', (string) $client->get(array('/{var}', $vars))->getUrl());
478
- $this->assertEquals('/hi', (string) $client->put(array('/{var}', $vars))->getUrl());
479
- $this->assertEquals('/hi', (string) $client->post(array('/{var}', $vars))->getUrl());
480
- $this->assertEquals('/hi', (string) $client->head(array('/{var}', $vars))->getUrl());
481
- $this->assertEquals('/hi', (string) $client->options(array('/{var}', $vars))->getUrl());
482
- }
483
-
484
- public function testAllowsDefaultHeaders()
485
- {
486
- Version::$emitWarnings = false;
487
- $default = array('X-Test' => 'Hi!');
488
- $other = array('X-Other' => 'Foo');
489
-
490
- $client = new Client();
491
- $client->setDefaultHeaders($default);
492
- $this->assertEquals($default, $client->getDefaultHeaders()->getAll());
493
- $client->setDefaultHeaders(new Collection($default));
494
- $this->assertEquals($default, $client->getDefaultHeaders()->getAll());
495
-
496
- $request = $client->createRequest('GET', null, $other);
497
- $this->assertEquals('Hi!', $request->getHeader('X-Test'));
498
- $this->assertEquals('Foo', $request->getHeader('X-Other'));
499
-
500
- $request = $client->createRequest('GET', null, new Collection($other));
501
- $this->assertEquals('Hi!', $request->getHeader('X-Test'));
502
- $this->assertEquals('Foo', $request->getHeader('X-Other'));
503
-
504
- $request = $client->createRequest('GET');
505
- $this->assertEquals('Hi!', $request->getHeader('X-Test'));
506
- Version::$emitWarnings = true;
507
- }
508
-
509
- public function testDontReuseCurlMulti()
510
- {
511
- $client1 = new Client();
512
- $client2 = new Client();
513
- $this->assertNotSame($client1->getCurlMulti(), $client2->getCurlMulti());
514
- }
515
-
516
- public function testGetDefaultUserAgent()
517
- {
518
- $client = new Client();
519
- $agent = $this->readAttribute($client, 'userAgent');
520
- $version = curl_version();
521
- $testAgent = sprintf('Guzzle/%s curl/%s PHP/%s', Version::VERSION, $version['version'], PHP_VERSION);
522
- $this->assertEquals($agent, $testAgent);
523
-
524
- $client->setUserAgent('foo');
525
- $this->assertEquals('foo', $this->readAttribute($client, 'userAgent'));
526
- }
527
-
528
- public function testOverwritesUserAgent()
529
- {
530
- $client = new Client();
531
- $request = $client->createRequest('GET', 'http://www.foo.com', array('User-agent' => 'foo'));
532
- $this->assertEquals('foo', (string) $request->getHeader('User-Agent'));
533
- }
534
-
535
- public function testUsesDefaultUserAgent()
536
- {
537
- $client = new Client();
538
- $request = $client->createRequest('GET', 'http://www.foo.com');
539
- $this->assertContains('Guzzle/', (string) $request->getHeader('User-Agent'));
540
- }
541
-
542
- public function testCanSetDefaultRequestOptions()
543
- {
544
- $client = new Client();
545
- $client->getConfig()->set('request.options', array(
546
- 'query' => array('test' => '123', 'other' => 'abc'),
547
- 'headers' => array('Foo' => 'Bar', 'Baz' => 'Bam')
548
- ));
549
- $request = $client->createRequest('GET', 'http://www.foo.com?test=hello', array('Foo' => 'Test'));
550
- // Explicit options on a request should overrule default options
551
- $this->assertEquals('Test', (string) $request->getHeader('Foo'));
552
- $this->assertEquals('hello', $request->getQuery()->get('test'));
553
- // Default options should still be set
554
- $this->assertEquals('abc', $request->getQuery()->get('other'));
555
- $this->assertEquals('Bam', (string) $request->getHeader('Baz'));
556
- }
557
-
558
- public function testCanSetSetOptionsOnRequests()
559
- {
560
- $client = new Client();
561
- $request = $client->createRequest('GET', 'http://www.foo.com?test=hello', array('Foo' => 'Test'), null, array(
562
- 'cookies' => array('michael' => 'test')
563
- ));
564
- $this->assertEquals('test', $request->getCookie('michael'));
565
- }
566
-
567
- public function testHasDefaultOptionsHelperMethods()
568
- {
569
- $client = new Client();
570
- // With path
571
- $client->setDefaultOption('headers/foo', 'bar');
572
- $this->assertEquals('bar', $client->getDefaultOption('headers/foo'));
573
- // With simple key
574
- $client->setDefaultOption('allow_redirects', false);
575
- $this->assertFalse($client->getDefaultOption('allow_redirects'));
576
-
577
- $this->assertEquals(array(
578
- 'headers' => array('foo' => 'bar'),
579
- 'allow_redirects' => false
580
- ), $client->getConfig('request.options'));
581
-
582
- $request = $client->get('/');
583
- $this->assertEquals('bar', $request->getHeader('foo'));
584
- }
585
-
586
- public function testHeadCanUseOptions()
587
- {
588
- $client = new Client();
589
- $head = $client->head('http://www.foo.com', array(), array('query' => array('foo' => 'bar')));
590
- $this->assertEquals('bar', $head->getQuery()->get('foo'));
591
- }
592
-
593
- public function testCanSetRelativeUrlStartingWithHttp()
594
- {
595
- $client = new Client('http://www.foo.com');
596
- $this->assertEquals(
597
- 'http://www.foo.com/httpfoo',
598
- $client->createRequest('GET', 'httpfoo')->getUrl()
599
- );
600
- }
601
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php DELETED
@@ -1,947 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Curl;
4
-
5
- use Guzzle\Common\Collection;
6
- use Guzzle\Common\Event;
7
- use Guzzle\Http\EntityBody;
8
- use Guzzle\Http\QueryString;
9
- use Guzzle\Http\Client;
10
- use Guzzle\Http\Message\RequestFactory;
11
- use Guzzle\Http\Message\RequestInterface;
12
- use Guzzle\Http\Curl\CurlHandle;
13
-
14
- /**
15
- * @group server
16
- * @covers Guzzle\Http\Curl\CurlHandle
17
- */
18
- class CurlHandleTest extends \Guzzle\Tests\GuzzleTestCase
19
- {
20
- public $requestHandle;
21
-
22
- protected function updateForHandle(RequestInterface $request)
23
- {
24
- $that = $this;
25
- $request->getEventDispatcher()->addListener('request.sent', function (Event $e) use ($that) {
26
- $that->requestHandle = $e['handle'];
27
- });
28
-
29
- return $request;
30
- }
31
-
32
- public function setUp()
33
- {
34
- $this->requestHandle = null;
35
- }
36
-
37
- /**
38
- * @expectedException \InvalidArgumentException
39
- */
40
- public function testConstructorExpectsCurlResource()
41
- {
42
- $h = new CurlHandle(false, array());
43
- }
44
-
45
- public function testConstructorExpectsProperOptions()
46
- {
47
- $h = curl_init($this->getServer()->getUrl());
48
- try {
49
- $ha = new CurlHandle($h, false);
50
- $this->fail('Expected InvalidArgumentException');
51
- } catch (\InvalidArgumentException $e) {
52
- }
53
-
54
- $ha = new CurlHandle($h, array(
55
- CURLOPT_URL => $this->getServer()->getUrl()
56
- ));
57
- $this->assertEquals($this->getServer()->getUrl(), $ha->getOptions()->get(CURLOPT_URL));
58
-
59
- $ha = new CurlHandle($h, new Collection(array(
60
- CURLOPT_URL => $this->getServer()->getUrl()
61
- )));
62
- $this->assertEquals($this->getServer()->getUrl(), $ha->getOptions()->get(CURLOPT_URL));
63
- }
64
-
65
- public function testConstructorInitializesObject()
66
- {
67
- $handle = curl_init($this->getServer()->getUrl());
68
- $h = new CurlHandle($handle, array(
69
- CURLOPT_URL => $this->getServer()->getUrl()
70
- ));
71
- $this->assertSame($handle, $h->getHandle());
72
- $this->assertInstanceOf('Guzzle\\Http\\Url', $h->getUrl());
73
- $this->assertEquals($this->getServer()->getUrl(), (string) $h->getUrl());
74
- $this->assertEquals($this->getServer()->getUrl(), $h->getOptions()->get(CURLOPT_URL));
75
- }
76
-
77
- public function testStoresStdErr()
78
- {
79
- $request = RequestFactory::getInstance()->create('GET', 'http://test.com');
80
- $request->getCurlOptions()->set('debug', true);
81
- $h = CurlHandle::factory($request);
82
- $this->assertEquals($h->getStderr(true), $h->getOptions()->get(CURLOPT_STDERR));
83
- $this->assertInternalType('resource', $h->getStderr(true));
84
- $this->assertInternalType('string', $h->getStderr(false));
85
- $r = $h->getStderr(true);
86
- fwrite($r, 'test');
87
- $this->assertEquals('test', $h->getStderr(false));
88
- }
89
-
90
- public function testStoresCurlErrorNumber()
91
- {
92
- $h = new CurlHandle(curl_init('http://test.com'), array(CURLOPT_URL => 'http://test.com'));
93
- $this->assertEquals(CURLE_OK, $h->getErrorNo());
94
- $h->setErrorNo(CURLE_OPERATION_TIMEOUTED);
95
- $this->assertEquals(CURLE_OPERATION_TIMEOUTED, $h->getErrorNo());
96
- }
97
-
98
- public function testAccountsForMissingStdErr()
99
- {
100
- $handle = curl_init('http://www.test.com/');
101
- $h = new CurlHandle($handle, array(
102
- CURLOPT_URL => 'http://www.test.com/'
103
- ));
104
- $this->assertNull($h->getStderr(false));
105
- }
106
-
107
- public function testDeterminesIfResourceIsAvailable()
108
- {
109
- $handle = curl_init($this->getServer()->getUrl());
110
- $h = new CurlHandle($handle, array());
111
- $this->assertTrue($h->isAvailable());
112
-
113
- // Mess it up by closing the handle
114
- curl_close($handle);
115
- $this->assertFalse($h->isAvailable());
116
-
117
- // Mess it up by unsetting the handle
118
- $handle = null;
119
- $this->assertFalse($h->isAvailable());
120
- }
121
-
122
- public function testWrapsErrorsAndInfo()
123
- {
124
- if (!defined('CURLOPT_TIMEOUT_MS')) {
125
- $this->markTestSkipped('Update curl');
126
- }
127
-
128
- $settings = array(
129
- CURLOPT_PORT => 123,
130
- CURLOPT_CONNECTTIMEOUT_MS => 1,
131
- CURLOPT_TIMEOUT_MS => 1
132
- );
133
-
134
- $handle = curl_init($this->getServer()->getUrl());
135
- curl_setopt_array($handle, $settings);
136
- $h = new CurlHandle($handle, $settings);
137
- @curl_exec($handle);
138
-
139
- $errors = array(
140
- "couldn't connect to host",
141
- 'timeout was reached',
142
- 'connection time-out',
143
- 'connect() timed out!',
144
- 'failed connect to 127.0.0.1:123; connection refused',
145
- 'failed to connect to 127.0.0.1 port 123: connection refused'
146
- );
147
- $this->assertTrue(in_array(strtolower($h->getError()), $errors), $h->getError() . ' was not the error');
148
-
149
- $this->assertTrue($h->getErrorNo() > 0);
150
-
151
- $this->assertEquals($this->getServer()->getUrl(), $h->getInfo(CURLINFO_EFFECTIVE_URL));
152
- $this->assertInternalType('array', $h->getInfo());
153
-
154
- curl_close($handle);
155
- $this->assertEquals(null, $h->getInfo('url'));
156
- }
157
-
158
- public function testGetInfoWithoutDebugMode()
159
- {
160
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
161
- $client = new Client($this->getServer()->getUrl());
162
- $request = $client->get($this->getServer()->getUrl());
163
- $response = $request->send();
164
-
165
- $info = $response->getInfo();
166
- $this->assertFalse(empty($info));
167
- $this->assertEquals($this->getServer()->getUrl(), $info['url']);
168
- }
169
-
170
- public function testWrapsCurlOptions()
171
- {
172
- $handle = curl_init($this->getServer()->getUrl());
173
- $h = new CurlHandle($handle, array(
174
- CURLOPT_AUTOREFERER => true,
175
- CURLOPT_BUFFERSIZE => 1024
176
- ));
177
-
178
- $this->assertEquals(true, $h->getOptions()->get(CURLOPT_AUTOREFERER));
179
- $this->assertEquals(1024, $h->getOptions()->get(CURLOPT_BUFFERSIZE));
180
- }
181
-
182
- /**
183
- * Data provider for factory tests
184
- *
185
- * @return array
186
- */
187
- public function dataProvider()
188
- {
189
- $testFile = __DIR__ . '/../../../../../phpunit.xml.dist';
190
-
191
- $postBody = new QueryString(array('file' => '@' . $testFile));
192
- $qs = new QueryString(array(
193
- 'x' => 'y',
194
- 'z' => 'a'
195
- ));
196
-
197
- $client = new Client();
198
- $userAgent = $client->getDefaultUserAgent();
199
- $auth = base64_encode('michael:123');
200
- $testFileSize = filesize($testFile);
201
-
202
- $tests = array(
203
- // Send a regular GET
204
- array('GET', 'http://www.google.com/', null, null, array(
205
- CURLOPT_RETURNTRANSFER => 0,
206
- CURLOPT_HEADER => 0,
207
- CURLOPT_CONNECTTIMEOUT => 150,
208
- CURLOPT_WRITEFUNCTION => 'callback',
209
- CURLOPT_HEADERFUNCTION => 'callback',
210
- CURLOPT_HTTPHEADER => array('Accept:', 'Host: www.google.com', 'User-Agent: ' . $userAgent),
211
- )),
212
- // Test that custom request methods can be used
213
- array('TRACE', 'http://www.google.com/', null, null, array(
214
- CURLOPT_CUSTOMREQUEST => 'TRACE'
215
- )),
216
- // Send a GET using a port
217
- array('GET', 'http://127.0.0.1:8080', null, null, array(
218
- CURLOPT_RETURNTRANSFER => 0,
219
- CURLOPT_HEADER => 0,
220
- CURLOPT_CONNECTTIMEOUT => 150,
221
- CURLOPT_WRITEFUNCTION => 'callback',
222
- CURLOPT_HEADERFUNCTION => 'callback',
223
- CURLOPT_PORT => 8080,
224
- CURLOPT_HTTPHEADER => array('Accept:', 'Host: 127.0.0.1:8080', 'User-Agent: ' . $userAgent),
225
- )),
226
- // Send a HEAD request
227
- array('HEAD', 'http://www.google.com/', null, null, array(
228
- CURLOPT_RETURNTRANSFER => 0,
229
- CURLOPT_HEADER => 0,
230
- CURLOPT_CONNECTTIMEOUT => 150,
231
- CURLOPT_HEADERFUNCTION => 'callback',
232
- CURLOPT_HTTPHEADER => array('Accept:', 'Host: www.google.com', 'User-Agent: ' . $userAgent),
233
- CURLOPT_NOBODY => 1
234
- )),
235
- // Send a GET using basic auth
236
- array('GET', 'https://michael:123@127.0.0.1/index.html?q=2', null, null, array(
237
- CURLOPT_RETURNTRANSFER => 0,
238
- CURLOPT_HEADER => 0,
239
- CURLOPT_CONNECTTIMEOUT => 150,
240
- CURLOPT_WRITEFUNCTION => 'callback',
241
- CURLOPT_HEADERFUNCTION => 'callback',
242
- CURLOPT_HTTPHEADER => array(
243
- 'Accept:',
244
- 'Host: 127.0.0.1',
245
- 'Authorization: Basic ' . $auth,
246
- 'User-Agent: ' . $userAgent
247
- ),
248
- CURLOPT_PORT => 443
249
- )),
250
- // Send a GET request with custom headers
251
- array('GET', 'http://127.0.0.1:8124/', array(
252
- 'x-test-data' => 'Guzzle'
253
- ), null, array(
254
- CURLOPT_PORT => 8124,
255
- CURLOPT_HTTPHEADER => array(
256
- 'Accept:',
257
- 'Host: 127.0.0.1:8124',
258
- 'x-test-data: Guzzle',
259
- 'User-Agent: ' . $userAgent
260
- )
261
- ), array(
262
- 'Host' => '*',
263
- 'User-Agent' => '*',
264
- 'x-test-data' => 'Guzzle'
265
- )),
266
- // Send a POST using a query string
267
- array('POST', 'http://127.0.0.1:8124/post.php', null, $qs, array(
268
- CURLOPT_RETURNTRANSFER => 0,
269
- CURLOPT_HEADER => 0,
270
- CURLOPT_CONNECTTIMEOUT => 150,
271
- CURLOPT_WRITEFUNCTION => 'callback',
272
- CURLOPT_HEADERFUNCTION => 'callback',
273
- CURLOPT_POSTFIELDS => 'x=y&z=a',
274
- CURLOPT_HTTPHEADER => array (
275
- 'Expect:',
276
- 'Accept:',
277
- 'Host: 127.0.0.1:8124',
278
- 'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
279
- 'User-Agent: ' . $userAgent
280
- )
281
- ), array(
282
- 'Host' => '*',
283
- 'User-Agent' => '*',
284
- 'Content-Length' => '7',
285
- '!Expect' => null,
286
- 'Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8',
287
- '!Transfer-Encoding' => null
288
- )),
289
- // Send a PUT using raw data
290
- array('PUT', 'http://127.0.0.1:8124/put.php', null, EntityBody::factory(fopen($testFile, 'r+')), array(
291
- CURLOPT_RETURNTRANSFER => 0,
292
- CURLOPT_HEADER => 0,
293
- CURLOPT_CONNECTTIMEOUT => 150,
294
- CURLOPT_WRITEFUNCTION => 'callback',
295
- CURLOPT_HEADERFUNCTION => 'callback',
296
- CURLOPT_READFUNCTION => 'callback',
297
- CURLOPT_INFILESIZE => filesize($testFile),
298
- CURLOPT_HTTPHEADER => array (
299
- 'Expect:',
300
- 'Accept:',
301
- 'Host: 127.0.0.1:8124',
302
- 'User-Agent: ' . $userAgent
303
- )
304
- ), array(
305
- 'Host' => '*',
306
- 'User-Agent' => '*',
307
- '!Expect' => null,
308
- 'Content-Length' => $testFileSize,
309
- '!Transfer-Encoding' => null
310
- )),
311
- // Send a POST request using an array of fields
312
- array('POST', 'http://127.0.0.1:8124/post.php', null, array(
313
- 'x' => 'y',
314
- 'a' => 'b'
315
- ), array(
316
- CURLOPT_RETURNTRANSFER => 0,
317
- CURLOPT_HEADER => 0,
318
- CURLOPT_CONNECTTIMEOUT => 150,
319
- CURLOPT_WRITEFUNCTION => 'callback',
320
- CURLOPT_HEADERFUNCTION => 'callback',
321
- CURLOPT_POST => 1,
322
- CURLOPT_POSTFIELDS => 'x=y&a=b',
323
- CURLOPT_HTTPHEADER => array (
324
- 'Expect:',
325
- 'Accept:',
326
- 'Host: 127.0.0.1:8124',
327
- 'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
328
- 'User-Agent: ' . $userAgent
329
- )
330
- ), array(
331
- 'Host' => '*',
332
- 'User-Agent' => '*',
333
- 'Content-Length' => '7',
334
- '!Expect' => null,
335
- 'Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8',
336
- '!Transfer-Encoding' => null
337
- )),
338
- // Send a POST request with raw POST data and a custom content-type
339
- array('POST', 'http://127.0.0.1:8124/post.php', array(
340
- 'Content-Type' => 'application/json'
341
- ), '{"hi":"there"}', array(
342
- CURLOPT_RETURNTRANSFER => 0,
343
- CURLOPT_HEADER => 0,
344
- CURLOPT_CONNECTTIMEOUT => 150,
345
- CURLOPT_WRITEFUNCTION => 'callback',
346
- CURLOPT_HEADERFUNCTION => 'callback',
347
- CURLOPT_CUSTOMREQUEST => 'POST',
348
- CURLOPT_UPLOAD => true,
349
- CURLOPT_INFILESIZE => 14,
350
- CURLOPT_HTTPHEADER => array (
351
- 'Expect:',
352
- 'Accept:',
353
- 'Host: 127.0.0.1:8124',
354
- 'Content-Type: application/json',
355
- 'User-Agent: ' . $userAgent
356
- ),
357
- ), array(
358
- 'Host' => '*',
359
- 'User-Agent' => '*',
360
- 'Content-Type' => 'application/json',
361
- '!Expect' => null,
362
- 'Content-Length' => '14',
363
- '!Transfer-Encoding' => null
364
- )),
365
- // Send a POST request with raw POST data, a custom content-type, and use chunked encoding
366
- array('POST', 'http://127.0.0.1:8124/post.php', array(
367
- 'Content-Type' => 'application/json',
368
- 'Transfer-Encoding' => 'chunked'
369
- ), '{"hi":"there"}', array(
370
- CURLOPT_RETURNTRANSFER => 0,
371
- CURLOPT_HEADER => 0,
372
- CURLOPT_CONNECTTIMEOUT => 150,
373
- CURLOPT_WRITEFUNCTION => 'callback',
374
- CURLOPT_HEADERFUNCTION => 'callback',
375
- CURLOPT_CUSTOMREQUEST => 'POST',
376
- CURLOPT_UPLOAD => true,
377
- CURLOPT_HTTPHEADER => array (
378
- 'Expect:',
379
- 'Accept:',
380
- 'Host: 127.0.0.1:8124',
381
- 'Transfer-Encoding: chunked',
382
- 'Content-Type: application/json',
383
- 'User-Agent: ' . $userAgent
384
- ),
385
- ), array(
386
- 'Host' => '*',
387
- 'User-Agent' => '*',
388
- 'Content-Type' => 'application/json',
389
- '!Expect' => null,
390
- 'Transfer-Encoding' => 'chunked',
391
- '!Content-Length' => ''
392
- )),
393
- // Send a POST request with no body
394
- array('POST', 'http://127.0.0.1:8124/post.php', null, '', array(
395
- CURLOPT_CUSTOMREQUEST => 'POST',
396
- CURLOPT_HTTPHEADER => array (
397
- 'Expect:',
398
- 'Accept:',
399
- 'Host: 127.0.0.1:8124',
400
- 'User-Agent: ' . $userAgent
401
- )
402
- ), array(
403
- 'Host' => '*',
404
- 'User-Agent' => '*',
405
- 'Content-Length' => '0',
406
- '!Transfer-Encoding' => null
407
- )),
408
- // Send a POST request with empty post fields
409
- array('POST', 'http://127.0.0.1:8124/post.php', null, array(), array(
410
- CURLOPT_CUSTOMREQUEST => 'POST',
411
- CURLOPT_HTTPHEADER => array (
412
- 'Expect:',
413
- 'Accept:',
414
- 'Host: 127.0.0.1:8124',
415
- 'User-Agent: ' . $userAgent
416
- )
417
- ), array(
418
- 'Host' => '*',
419
- 'User-Agent' => '*',
420
- 'Content-Length' => '0',
421
- '!Transfer-Encoding' => null
422
- )),
423
- // Send a PATCH request
424
- array('PATCH', 'http://127.0.0.1:8124/patch.php', null, 'body', array(
425
- CURLOPT_INFILESIZE => 4,
426
- CURLOPT_HTTPHEADER => array (
427
- 'Expect:',
428
- 'Accept:',
429
- 'Host: 127.0.0.1:8124',
430
- 'User-Agent: ' . $userAgent
431
- )
432
- )),
433
- // Send a DELETE request with a body
434
- array('DELETE', 'http://127.0.0.1:8124/delete.php', null, 'body', array(
435
- CURLOPT_CUSTOMREQUEST => 'DELETE',
436
- CURLOPT_INFILESIZE => 4,
437
- CURLOPT_HTTPHEADER => array (
438
- 'Expect:',
439
- 'Accept:',
440
- 'Host: 127.0.0.1:8124',
441
- 'User-Agent: ' . $userAgent
442
- )
443
- ), array(
444
- 'Host' => '*',
445
- 'User-Agent' => '*',
446
- 'Content-Length' => '4',
447
- '!Expect' => null,
448
- '!Transfer-Encoding' => null
449
- )),
450
-
451
- /**
452
- * Send a request with empty path and a fragment - the fragment must be
453
- * stripped out before sending it to curl
454
- *
455
- * @issue 453
456
- * @link https://github.com/guzzle/guzzle/issues/453
457
- */
458
- array('GET', 'http://www.google.com#head', null, null, array(
459
- CURLOPT_RETURNTRANSFER => 0,
460
- CURLOPT_HEADER => 0,
461
- CURLOPT_CONNECTTIMEOUT => 150,
462
- CURLOPT_WRITEFUNCTION => 'callback',
463
- CURLOPT_HEADERFUNCTION => 'callback',
464
- CURLOPT_HTTPHEADER => array('Accept:', 'Host: www.google.com', 'User-Agent: ' . $userAgent),
465
- )),
466
- );
467
-
468
- $postTest = array('POST', 'http://127.0.0.1:8124/post.php', null, $postBody, array(
469
- CURLOPT_RETURNTRANSFER => 0,
470
- CURLOPT_HEADER => 0,
471
- CURLOPT_CONNECTTIMEOUT => 150,
472
- CURLOPT_WRITEFUNCTION => 'callback',
473
- CURLOPT_HEADERFUNCTION => 'callback',
474
- CURLOPT_POST => 1,
475
- CURLOPT_POSTFIELDS => array(
476
- 'file' => '@' . $testFile . ';filename=phpunit.xml.dist;type=application/octet-stream'
477
- ),
478
- CURLOPT_HTTPHEADER => array (
479
- 'Accept:',
480
- 'Host: 127.0.0.1:8124',
481
- 'Content-Type: multipart/form-data',
482
- 'Expect: 100-Continue',
483
- 'User-Agent: ' . $userAgent
484
- )
485
- ), array(
486
- 'Host' => '*',
487
- 'User-Agent' => '*',
488
- 'Content-Length' => '*',
489
- 'Expect' => '100-Continue',
490
- 'Content-Type' => 'multipart/form-data; boundary=*',
491
- '!Transfer-Encoding' => null
492
- ));
493
-
494
- if (version_compare(phpversion(), '5.5.0', '>=')) {
495
- $postTest[4][CURLOPT_POSTFIELDS] = array(
496
- 'file' => new \CurlFile($testFile, 'application/octet-stream', 'phpunit.xml.dist')
497
- );
498
- }
499
-
500
- $tests[] = $postTest;
501
-
502
- return $tests;
503
- }
504
-
505
- /**
506
- * @dataProvider dataProvider
507
- */
508
- public function testFactoryCreatesCurlBasedOnRequest($method, $url, $headers, $body, $options, $expectedHeaders = null)
509
- {
510
- $client = new Client();
511
- $request = $client->createRequest($method, $url, $headers, $body);
512
- $request->getCurlOptions()->set('debug', true);
513
-
514
- $originalRequest = clone $request;
515
- $curlTest = clone $request;
516
- $handle = CurlHandle::factory($curlTest);
517
-
518
- $this->assertInstanceOf('Guzzle\\Http\\Curl\\CurlHandle', $handle);
519
- $o = $handle->getOptions()->getAll();
520
-
521
- // Headers are case-insensitive
522
- if (isset($o[CURLOPT_HTTPHEADER])) {
523
- $o[CURLOPT_HTTPHEADER] = array_map('strtolower', $o[CURLOPT_HTTPHEADER]);
524
- }
525
- if (isset($options[CURLOPT_HTTPHEADER])) {
526
- $options[CURLOPT_HTTPHEADER] = array_map('strtolower', $options[CURLOPT_HTTPHEADER]);
527
- }
528
-
529
- $check = 0;
530
- foreach ($options as $key => $value) {
531
- $check++;
532
- $this->assertArrayHasKey($key, $o, '-> Check number ' . $check);
533
- if ($key != CURLOPT_HTTPHEADER && $key != CURLOPT_POSTFIELDS && (is_array($o[$key])) || $o[$key] instanceof \Closure) {
534
- $this->assertEquals('callback', $value, '-> Check number ' . $check);
535
- } else {
536
- $this->assertTrue($value == $o[$key], '-> Check number ' . $check . ' - ' . var_export($value, true) . ' != ' . var_export($o[$key], true));
537
- }
538
- }
539
-
540
- // If we are testing the actual sent headers
541
- if ($expectedHeaders) {
542
-
543
- // Send the request to the test server
544
- $client = new Client($this->getServer()->getUrl());
545
- $request->setClient($client);
546
- $this->getServer()->flush();
547
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
548
- $request->send();
549
-
550
- // Get the request that was sent and create a request that we expected
551
- $requests = $this->getServer()->getReceivedRequests(true);
552
- $this->assertEquals($method, $requests[0]->getMethod());
553
-
554
- $test = $this->compareHeaders($expectedHeaders, $requests[0]->getHeaders());
555
- $this->assertFalse($test, $test . "\nSent: \n" . $request . "\n\n" . $requests[0]);
556
-
557
- // Ensure only one Content-Length header is sent
558
- if ($request->getHeader('Content-Length')) {
559
- $this->assertEquals((string) $request->getHeader('Content-Length'), (string) $requests[0]->getHeader('Content-Length'));
560
- }
561
- }
562
- }
563
-
564
- public function testFactoryUsesSpecifiedProtocol()
565
- {
566
- $request = RequestFactory::getInstance()->create('GET', 'http://127.0.0.1:8124/');
567
- $request->setProtocolVersion('1.1');
568
- $handle = CurlHandle::factory($request);
569
- $options = $handle->getOptions();
570
- $this->assertEquals(CURL_HTTP_VERSION_1_1, $options[CURLOPT_HTTP_VERSION]);
571
- }
572
-
573
- public function testUploadsPutData()
574
- {
575
- $this->getServer()->flush();
576
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi");
577
-
578
- $client = new Client($this->getServer()->getUrl());
579
- $request = $client->put('/');
580
- $request->getCurlOptions()->set('debug', true);
581
- $request->setBody(EntityBody::factory('test'), 'text/plain', false);
582
- $request->getCurlOptions()->set('progress', true);
583
-
584
- $o = $this->getWildcardObserver($request);
585
- $request->send();
586
-
587
- // Make sure that the events were dispatched
588
- $this->assertTrue($o->has('curl.callback.progress'));
589
-
590
- // Ensure that the request was received exactly as intended
591
- $r = $this->getServer()->getReceivedRequests(true);
592
- $this->assertFalse($r[0]->hasHeader('Transfer-Encoding'));
593
- $this->assertEquals(4, (string) $r[0]->getHeader('Content-Length'));
594
- $sent = strtolower($r[0]);
595
- $this->assertContains('put / http/1.1', $sent);
596
- $this->assertContains('host: 127.0.0.1', $sent);
597
- $this->assertContains('user-agent:', $sent);
598
- $this->assertContains('content-type: text/plain', $sent);
599
- }
600
-
601
- public function testUploadsPutDataUsingChunkedEncodingWhenLengthCannotBeDetermined()
602
- {
603
- $this->getServer()->flush();
604
- $this->getServer()->enqueue(array(
605
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n",
606
- "HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"
607
- ));
608
- $client = new Client($this->getServer()->getUrl());
609
- $request = $client->put('/');
610
- $request->setBody(EntityBody::factory(fopen($this->getServer()->getUrl(), 'r')), 'text/plain');
611
- $request->send();
612
-
613
- $r = $this->getServer()->getReceivedRequests(true);
614
- $this->assertEquals('chunked', $r[1]->getHeader('Transfer-Encoding'));
615
- $this->assertFalse($r[1]->hasHeader('Content-Length'));
616
- }
617
-
618
- public function testUploadsPutDataUsingChunkedEncodingWhenForced()
619
- {
620
- $this->getServer()->flush();
621
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi");
622
-
623
- $client = new Client($this->getServer()->getUrl());
624
- $request = $client->put('/', array('Transfer-Encoding' => 'chunked'), 'hi!');
625
- $request->send();
626
-
627
- $r = $this->getServer()->getReceivedRequests(true);
628
- $this->assertEquals('chunked', $r[0]->getHeader('Transfer-Encoding'));
629
- $this->assertFalse($r[0]->hasHeader('Content-Length'));
630
- $this->assertEquals('hi!', $r[0]->getBody(true));
631
- }
632
-
633
- public function testSendsPostRequestsWithFields()
634
- {
635
- $this->getServer()->flush();
636
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi");
637
-
638
- $request = RequestFactory::getInstance()->create('POST', $this->getServer()->getUrl());
639
- $request->getCurlOptions()->set('debug', true);
640
- $request->setClient(new Client());
641
- $request->addPostFields(array(
642
- 'a' => 'b',
643
- 'c' => 'ay! ~This is a test, isn\'t it?'
644
- ));
645
- $request->send();
646
-
647
- // Make sure that the request was sent correctly
648
- $r = $this->getServer()->getReceivedRequests(true);
649
- $this->assertEquals('a=b&c=ay%21%20~This%20is%20a%20test%2C%20isn%27t%20it%3F', (string) $r[0]->getBody());
650
- $this->assertFalse($r[0]->hasHeader('Transfer-Encoding'));
651
- $this->assertEquals(56, (string) $r[0]->getHeader('Content-Length'));
652
- $sent = strtolower($r[0]);
653
- $this->assertContains('post / http/1.1', $sent);
654
- $this->assertContains('content-type: application/x-www-form-urlencoded; charset=utf-8', $sent);
655
- }
656
-
657
- public function testSendsPostRequestsWithFiles()
658
- {
659
- $this->getServer()->flush();
660
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi");
661
-
662
- $request = RequestFactory::getInstance()->create('POST', $this->getServer()->getUrl());
663
- $request->getCurlOptions()->set('debug', true);
664
- $request->setClient(new Client());
665
- $request->addPostFiles(array(
666
- 'foo' => __FILE__,
667
- ));
668
- $request->addPostFields(array(
669
- 'bar' => 'baz',
670
- 'arr' => array('a' => 1, 'b' => 2),
671
- ));
672
- $this->updateForHandle($request);
673
- $request->send();
674
-
675
- // Ensure the CURLOPT_POSTFIELDS option was set properly
676
- $options = $this->requestHandle->getOptions()->getAll();
677
- if (version_compare(phpversion(), '5.5.0', '<')) {
678
- $this->assertContains('@' . __FILE__ . ';filename=CurlHandleTest.php;type=text/x-', $options[CURLOPT_POSTFIELDS]['foo']);
679
- } else{
680
- $this->assertInstanceOf('CURLFile', $options[CURLOPT_POSTFIELDS]['foo']);
681
- }
682
- $this->assertEquals('baz', $options[CURLOPT_POSTFIELDS]['bar']);
683
- $this->assertEquals('1', $options[CURLOPT_POSTFIELDS]['arr[a]']);
684
- $this->assertEquals('2', $options[CURLOPT_POSTFIELDS]['arr[b]']);
685
- // Ensure that a Content-Length header was sent by cURL
686
- $this->assertTrue($request->hasHeader('Content-Length'));
687
- }
688
-
689
- public function testCurlConfigurationOptionsAreSet()
690
- {
691
- $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl());
692
- $request->setClient(new Client('http://www.example.com'));
693
- $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT, 99);
694
- $request->getCurlOptions()->set('curl.fake_opt', 99);
695
- $request->getCurlOptions()->set(CURLOPT_PORT, 8181);
696
- $handle = CurlHandle::factory($request);
697
- $this->assertEquals(99, $handle->getOptions()->get(CURLOPT_CONNECTTIMEOUT));
698
- $this->assertEquals(8181, $handle->getOptions()->get(CURLOPT_PORT));
699
- $this->assertNull($handle->getOptions()->get('curl.fake_opt'));
700
- $this->assertNull($handle->getOptions()->get('fake_opt'));
701
- }
702
-
703
- public function testEnsuresRequestsHaveResponsesWhenUpdatingFromTransfer()
704
- {
705
- $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl());
706
- $handle = CurlHandle::factory($request);
707
- $handle->updateRequestFromTransfer($request);
708
- }
709
-
710
- public function testCanSendBodyAsString()
711
- {
712
- $this->getServer()->flush();
713
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
714
- $client = new Client($this->getServer()->getUrl());
715
- $request = $client->put('/', null, 'foo');
716
- $request->getCurlOptions()->set('body_as_string', true);
717
- $request->send();
718
- $requests = $this->getServer()->getReceivedRequests(false);
719
- $this->assertContains('PUT /', $requests[0]);
720
- $this->assertContains("\nfoo", $requests[0]);
721
- $this->assertContains('content-length: 3', $requests[0]);
722
- $this->assertNotContains('content-type', $requests[0]);
723
- }
724
-
725
- public function testCanSendPostBodyAsString()
726
- {
727
- $this->getServer()->flush();
728
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
729
- $client = new Client($this->getServer()->getUrl());
730
- $request = $client->post('/', null, 'foo');
731
- $request->getCurlOptions()->set('body_as_string', true);
732
- $request->send();
733
- $requests = $this->getServer()->getReceivedRequests(false);
734
- $this->assertContains('POST /', $requests[0]);
735
- $this->assertContains("\nfoo", $requests[0]);
736
- $this->assertContains('content-length: 3', $requests[0]);
737
- $this->assertNotContains('content-type', $requests[0]);
738
- }
739
-
740
- public function testAllowsWireTransferInfoToBeEnabled()
741
- {
742
- $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl());
743
- $request->getCurlOptions()->set('debug', true);
744
- $handle = CurlHandle::factory($request);
745
- $this->assertNotNull($handle->getOptions()->get(CURLOPT_STDERR));
746
- $this->assertNotNull($handle->getOptions()->get(CURLOPT_VERBOSE));
747
- }
748
-
749
- public function testAddsCustomCurlOptions()
750
- {
751
- $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl());
752
- $request->getCurlOptions()->set(CURLOPT_TIMEOUT, 200);
753
- $handle = CurlHandle::factory($request);
754
- $this->assertEquals(200, $handle->getOptions()->get(CURLOPT_TIMEOUT));
755
- }
756
-
757
- public function testSendsPostUploadsWithContentDispositionHeaders()
758
- {
759
- $this->getServer()->flush();
760
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\n\r\nContent-Length: 0\r\n\r\n");
761
-
762
- $fileToUpload = dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR . 'TestData' . DIRECTORY_SEPARATOR . 'test_service.json';
763
-
764
- $client = new Client($this->getServer()->getUrl());
765
- $request = $client->post();
766
- $request->addPostFile('foo', $fileToUpload, 'application/json');
767
- $request->addPostFile('foo', __FILE__);
768
-
769
- $request->send();
770
- $requests = $this->getServer()->getReceivedRequests(true);
771
- $body = (string) $requests[0]->getBody();
772
-
773
- $this->assertContains('Content-Disposition: form-data; name="foo[0]"; filename="', $body);
774
- $this->assertContains('Content-Type: application/json', $body);
775
- $this->assertContains('Content-Type: text/x-', $body);
776
- $this->assertContains('Content-Disposition: form-data; name="foo[1]"; filename="', $body);
777
- }
778
-
779
- public function requestMethodProvider()
780
- {
781
- return array(array('POST'), array('PUT'), array('PATCH'));
782
- }
783
-
784
- /**
785
- * @dataProvider requestMethodProvider
786
- */
787
- public function testSendsRequestsWithNoBodyUsingContentLengthZero($method)
788
- {
789
- $this->getServer()->flush();
790
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
791
- $client = new Client($this->getServer()->getUrl());
792
- $client->createRequest($method)->send();
793
- $requests = $this->getServer()->getReceivedRequests(true);
794
- $this->assertFalse($requests[0]->hasHeader('Transfer-Encoding'));
795
- $this->assertTrue($requests[0]->hasHeader('Content-Length'));
796
- $this->assertEquals('0', (string) $requests[0]->getHeader('Content-Length'));
797
- }
798
-
799
- /**
800
- * @dataProvider provideCurlConfig
801
- */
802
- public function testParseCurlConfigConvertsStringKeysToConstantKeys($options, $expected)
803
- {
804
- $actual = CurlHandle::parseCurlConfig($options);
805
- $this->assertEquals($expected, $actual);
806
- }
807
-
808
- /**
809
- * Data provider for curl configurations
810
- *
811
- * @return array
812
- */
813
- public function provideCurlConfig()
814
- {
815
- return array(
816
- // Conversion of option name to constant value
817
- array(
818
- array(
819
- 'CURLOPT_PORT' => 10,
820
- 'CURLOPT_TIMEOUT' => 99
821
- ),
822
- array(
823
- CURLOPT_PORT => 10,
824
- CURLOPT_TIMEOUT => 99
825
- )
826
- ),
827
- // Keeps non constant options
828
- array(
829
- array('debug' => true),
830
- array('debug' => true)
831
- ),
832
- // Conversion of constant names to constant values
833
- array(
834
- array('debug' => 'CURLPROXY_HTTP'),
835
- array('debug' => CURLPROXY_HTTP)
836
- )
837
- );
838
- }
839
-
840
- public function testSeeksToBeginningOfStreamWhenSending()
841
- {
842
- $this->getServer()->flush();
843
- $this->getServer()->enqueue(array(
844
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n",
845
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
846
- ));
847
-
848
- $client = new Client($this->getServer()->getUrl());
849
- $request = $client->put('/', null, 'test');
850
- $request->send();
851
- $request->send();
852
-
853
- $received = $this->getServer()->getReceivedRequests(true);
854
- $this->assertEquals(2, count($received));
855
- $this->assertEquals('test', (string) $received[0]->getBody());
856
- $this->assertEquals('test', (string) $received[1]->getBody());
857
- }
858
-
859
- public function testAllowsCurloptEncodingToBeSet()
860
- {
861
- $this->getServer()->flush();
862
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
863
-
864
- $client = new Client($this->getServer()->getUrl());
865
- $request = $client->get('/', null);
866
- $request->getCurlOptions()->set(CURLOPT_ENCODING, '');
867
- $this->updateForHandle($request);
868
- $request->send();
869
- $options = $this->requestHandle->getOptions()->getAll();
870
- $this->assertSame('', $options[CURLOPT_ENCODING]);
871
- $received = $this->getServer()->getReceivedRequests(false);
872
- $this->assertContainsIns('accept: */*', $received[0]);
873
- $this->assertContainsIns('accept-encoding: ', $received[0]);
874
- }
875
-
876
- public function testSendsExpectHeaderWhenSizeIsGreaterThanCutoff()
877
- {
878
- $this->getServer()->flush();
879
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
880
- $client = new Client($this->getServer()->getUrl());
881
- $request = $client->put('/', null, 'test');
882
- // Start sending the expect header to 2 bytes
883
- $this->updateForHandle($request);
884
- $request->setExpectHeaderCutoff(2)->send();
885
- $options = $this->requestHandle->getOptions()->getAll();
886
- $this->assertContains('Expect: 100-Continue', $options[CURLOPT_HTTPHEADER]);
887
- $received = $this->getServer()->getReceivedRequests(false);
888
- $this->assertContainsIns('expect: 100-continue', $received[0]);
889
- }
890
-
891
- public function testSetsCurloptEncodingWhenAcceptEncodingHeaderIsSet()
892
- {
893
- $this->getServer()->flush();
894
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata");
895
- $client = new Client($this->getServer()->getUrl());
896
- $request = $client->get('/', array(
897
- 'Accept' => 'application/json',
898
- 'Accept-Encoding' => 'gzip, deflate',
899
- ));
900
- $this->updateForHandle($request);
901
- $request->send();
902
- $options = $this->requestHandle->getOptions()->getAll();
903
- $this->assertSame('gzip, deflate', $options[CURLOPT_ENCODING]);
904
- $received = $this->getServer()->getReceivedRequests(false);
905
- $this->assertContainsIns('accept: application/json', $received[0]);
906
- $this->assertContainsIns('accept-encoding: gzip, deflate', $received[0]);
907
- }
908
-
909
- public function testSendsPostFieldsForNonPostRequests()
910
- {
911
- $this->getServer()->flush();
912
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\n\r\nContent-Length: 0\r\n\r\n");
913
-
914
- $client = new Client();
915
- $request = $client->put($this->getServer()->getUrl(), null, array(
916
- 'foo' => 'baz',
917
- 'baz' => 'bar'
918
- ));
919
-
920
- $request->send();
921
- $requests = $this->getServer()->getReceivedRequests(true);
922
- $this->assertEquals('PUT', $requests[0]->getMethod());
923
- $this->assertEquals(
924
- 'application/x-www-form-urlencoded; charset=utf-8',
925
- (string) $requests[0]->getHeader('Content-Type')
926
- );
927
- $this->assertEquals(15, (string) $requests[0]->getHeader('Content-Length'));
928
- $this->assertEquals('foo=baz&baz=bar', (string) $requests[0]->getBody());
929
- }
930
-
931
- public function testSendsPostFilesForNonPostRequests()
932
- {
933
- $this->getServer()->flush();
934
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\n\r\nContent-Length: 0\r\n\r\n");
935
-
936
- $client = new Client();
937
- $request = $client->put($this->getServer()->getUrl(), null, array(
938
- 'foo' => '@' . __FILE__
939
- ));
940
-
941
- $request->send();
942
- $requests = $this->getServer()->getReceivedRequests(true);
943
- $this->assertEquals('PUT', $requests[0]->getMethod());
944
- $this->assertContains('multipart/form-data', (string) $requests[0]->getHeader('Content-Type'));
945
- $this->assertContains('testSendsPostFilesForNonPostRequests', (string) $requests[0]->getBody());
946
- }
947
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php DELETED
@@ -1,110 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Curl;
4
-
5
- use Guzzle\Http\Client;
6
- use Guzzle\Http\Message\Request;
7
- use Guzzle\Http\Curl\CurlMultiProxy;
8
-
9
- /**
10
- * @group server
11
- * @covers Guzzle\Http\Curl\CurlMultiProxy
12
- */
13
- class CurlMultiProxyTest extends \Guzzle\Tests\GuzzleTestCase
14
- {
15
- const SELECT_TIMEOUT = 23.1;
16
-
17
- const MAX_HANDLES = 2;
18
-
19
- /** @var \Guzzle\Http\Curl\CurlMultiProxy */
20
- private $multi;
21
-
22
- protected function setUp()
23
- {
24
- parent::setUp();
25
- $this->multi = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT);
26
- }
27
-
28
- public function tearDown()
29
- {
30
- unset($this->multi);
31
- }
32
-
33
- public function testConstructorSetsMaxHandles()
34
- {
35
- $m = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT);
36
- $this->assertEquals(self::MAX_HANDLES, $this->readAttribute($m, 'maxHandles'));
37
- }
38
-
39
- public function testConstructorSetsSelectTimeout()
40
- {
41
- $m = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT);
42
- $this->assertEquals(self::SELECT_TIMEOUT, $this->readAttribute($m, 'selectTimeout'));
43
- }
44
-
45
- public function testAddingRequestsAddsToQueue()
46
- {
47
- $r = new Request('GET', 'http://www.foo.com');
48
- $this->assertSame($this->multi, $this->multi->add($r));
49
- $this->assertEquals(1, count($this->multi));
50
- $this->assertEquals(array($r), $this->multi->all());
51
-
52
- $this->assertTrue($this->multi->remove($r));
53
- $this->assertFalse($this->multi->remove($r));
54
- $this->assertEquals(0, count($this->multi));
55
- }
56
-
57
- public function testResetClearsState()
58
- {
59
- $r = new Request('GET', 'http://www.foo.com');
60
- $this->multi->add($r);
61
- $this->multi->reset();
62
- $this->assertEquals(0, count($this->multi));
63
- }
64
-
65
- public function testSendWillSendQueuedRequestsFirst()
66
- {
67
- $this->getServer()->flush();
68
- $this->getServer()->enqueue(array(
69
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n",
70
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
71
- ));
72
- $client = new Client($this->getServer()->getUrl());
73
- $events = array();
74
- $client->getCurlMulti()->getEventDispatcher()->addListener(
75
- CurlMultiProxy::ADD_REQUEST,
76
- function ($e) use (&$events) {
77
- $events[] = $e;
78
- }
79
- );
80
- $request = $client->get();
81
- $request->getEventDispatcher()->addListener('request.complete', function () use ($client) {
82
- $client->get('/foo')->send();
83
- });
84
- $request->send();
85
- $received = $this->getServer()->getReceivedRequests(true);
86
- $this->assertEquals(2, count($received));
87
- $this->assertEquals($this->getServer()->getUrl(), $received[0]->getUrl());
88
- $this->assertEquals($this->getServer()->getUrl() . 'foo', $received[1]->getUrl());
89
- $this->assertEquals(2, count($events));
90
- }
91
-
92
- public function testTrimsDownMaxHandleCount()
93
- {
94
- $this->getServer()->flush();
95
- $this->getServer()->enqueue(array(
96
- "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
97
- "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
98
- "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
99
- "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
100
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
101
- ));
102
- $client = new Client($this->getServer()->getUrl());
103
- $client->setCurlMulti(new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT));
104
- $request = $client->get();
105
- $request->send();
106
- $this->assertEquals(200, $request->getResponse()->getStatusCode());
107
- $handles = $this->readAttribute($client->getCurlMulti(), 'handles');
108
- $this->assertEquals(2, count($handles));
109
- }
110
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiTest.php DELETED
@@ -1,455 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Curl;
4
-
5
- use Guzzle\Common\Event;
6
- use Guzzle\Http\Exception\BadResponseException;
7
- use Guzzle\Http\Exception\MultiTransferException;
8
- use Guzzle\Http\Client;
9
- use Guzzle\Http\Message\Request;
10
- use Guzzle\Http\Message\Response;
11
- use Guzzle\Http\Message\RequestFactory;
12
- use Guzzle\Http\Curl\CurlMulti;
13
- use Guzzle\Http\Exception\CurlException;
14
- use Guzzle\Tests\Mock\MockMulti;
15
-
16
- /**
17
- * @group server
18
- * @covers Guzzle\Http\Curl\CurlMulti
19
- */
20
- class CurlMultiTest extends \Guzzle\Tests\GuzzleTestCase
21
- {
22
- /** @var \Guzzle\Http\Curl\CurlMulti */
23
- private $multi;
24
-
25
- /**
26
- * Prepares the environment before running a test.
27
- */
28
- protected function setUp()
29
- {
30
- parent::setUp();
31
- $this->multi = new MockMulti();
32
- }
33
-
34
- public function tearDown()
35
- {
36
- unset($this->multi);
37
- }
38
-
39
- public function testConstructorCreateMultiHandle()
40
- {
41
- $this->assertInternalType('resource', $this->multi->getHandle());
42
- $this->assertEquals('curl_multi', get_resource_type($this->multi->getHandle()));
43
- }
44
-
45
- public function testDestructorClosesMultiHandle()
46
- {
47
- $handle = $this->multi->getHandle();
48
- $this->multi->__destruct();
49
- $this->assertFalse(is_resource($handle));
50
- }
51
-
52
- public function testRequestsCanBeAddedAndCounted()
53
- {
54
- $multi = new CurlMulti();
55
- $request1 = new Request('GET', 'http://www.google.com/');
56
- $multi->add($request1);
57
- $this->assertEquals(array($request1), $multi->all());
58
- $request2 = new Request('POST', 'http://www.google.com/');
59
- $multi->add($request2);
60
- $this->assertEquals(array($request1, $request2), $multi->all());
61
- $this->assertEquals(2, count($multi));
62
- }
63
-
64
- public function testRequestsCanBeRemoved()
65
- {
66
- $request1 = new Request('GET', 'http://www.google.com/');
67
- $this->multi->add($request1);
68
- $request2 = new Request('PUT', 'http://www.google.com/');
69
- $this->multi->add($request2);
70
- $this->assertEquals(array($request1, $request2), $this->multi->all());
71
- $this->assertTrue($this->multi->remove($request1));
72
- $this->assertFalse($this->multi->remove($request1));
73
- $this->assertEquals(array($request2), $this->multi->all());
74
- }
75
-
76
- public function testsResetRemovesRequestsAndResetsState()
77
- {
78
- $this->multi->add(new Request('GET', 'http://www.google.com/'));
79
- $this->multi->reset();
80
- $this->assertEquals(array(), $this->multi->all());
81
- }
82
-
83
- public function testSendsRequestsThroughCurl()
84
- {
85
- $this->getServer()->enqueue(array(
86
- "HTTP/1.1 204 No content\r\n" .
87
- "Content-Length: 0\r\n" .
88
- "Server: Jetty(6.1.3)\r\n\r\n",
89
- "HTTP/1.1 200 OK\r\n" .
90
- "Content-Type: text/html; charset=utf-8\r\n" .
91
- "Content-Length: 4\r\n" .
92
- "Server: Jetty(6.1.3)\r\n\r\n" .
93
- "data"
94
- ));
95
-
96
- $request1 = new Request('GET', $this->getServer()->getUrl());
97
- $request2 = new Request('GET', $this->getServer()->getUrl());
98
- $this->multi->add($request1);
99
- $this->multi->add($request2);
100
- $this->multi->send();
101
-
102
- $response1 = $request1->getResponse();
103
- $response2 = $request2->getResponse();
104
- $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response1);
105
- $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response2);
106
-
107
- $this->assertTrue($response1->getBody(true) == 'data' || $response2->getBody(true) == 'data');
108
- $this->assertTrue($response1->getBody(true) == '' || $response2->getBody(true) == '');
109
- $this->assertTrue($response1->getStatusCode() == '204' || $response2->getStatusCode() == '204');
110
- $this->assertNotEquals((string) $response1, (string) $response2);
111
- }
112
-
113
- public function testSendsThroughCurlAndAggregatesRequestExceptions()
114
- {
115
- $this->getServer()->enqueue(array(
116
- "HTTP/1.1 200 OK\r\n" .
117
- "Content-Type: text/html; charset=utf-8\r\n" .
118
- "Content-Length: 4\r\n" .
119
- "Server: Jetty(6.1.3)\r\n" .
120
- "\r\n" .
121
- "data",
122
- "HTTP/1.1 204 No content\r\n" .
123
- "Content-Length: 0\r\n" .
124
- "Server: Jetty(6.1.3)\r\n" .
125
- "\r\n",
126
- "HTTP/1.1 404 Not Found\r\n" .
127
- "Content-Length: 0\r\n" .
128
- "\r\n"
129
- ));
130
-
131
- $request1 = new Request('GET', $this->getServer()->getUrl());
132
- $request2 = new Request('HEAD', $this->getServer()->getUrl());
133
- $request3 = new Request('GET', $this->getServer()->getUrl());
134
- $this->multi->add($request1);
135
- $this->multi->add($request2);
136
- $this->multi->add($request3);
137
-
138
- try {
139
- $this->multi->send();
140
- $this->fail('MultiTransferException not thrown when aggregating request exceptions');
141
- } catch (MultiTransferException $e) {
142
-
143
- $this->assertTrue($e->containsRequest($request1));
144
- $this->assertTrue($e->containsRequest($request2));
145
- $this->assertTrue($e->containsRequest($request3));
146
- $this->assertInstanceOf('ArrayIterator', $e->getIterator());
147
- $this->assertEquals(1, count($e));
148
- $exceptions = $e->getIterator();
149
-
150
- $response1 = $request1->getResponse();
151
- $response2 = $request2->getResponse();
152
- $response3 = $request3->getResponse();
153
-
154
- $this->assertNotEquals((string) $response1, (string) $response2);
155
- $this->assertNotEquals((string) $response3, (string) $response1);
156
- $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response1);
157
- $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response2);
158
- $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response3);
159
-
160
- $failed = $exceptions[0]->getResponse();
161
- $this->assertEquals(404, $failed->getStatusCode());
162
- $this->assertEquals(1, count($e));
163
-
164
- // Test the IteratorAggregate functionality
165
- foreach ($e as $except) {
166
- $this->assertEquals($failed, $except->getResponse());
167
- }
168
-
169
- $this->assertEquals(1, count($e->getFailedRequests()));
170
- $this->assertEquals(2, count($e->getSuccessfulRequests()));
171
- $this->assertEquals(3, count($e->getAllRequests()));
172
- }
173
- }
174
-
175
- public function testCurlErrorsAreCaught()
176
- {
177
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
178
- try {
179
- $request = RequestFactory::getInstance()->create('GET', 'http://127.0.0.1:9876/');
180
- $request->setClient(new Client());
181
- $request->getCurlOptions()->set(CURLOPT_FRESH_CONNECT, true);
182
- $request->getCurlOptions()->set(CURLOPT_FORBID_REUSE, true);
183
- $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT_MS, 5);
184
- $request->send();
185
- $this->fail('CurlException not thrown');
186
- } catch (CurlException $e) {
187
- $m = $e->getMessage();
188
- $this->assertContains('[curl] ', $m);
189
- $this->assertContains('[url] http://127.0.0.1:9876/', $m);
190
- $this->assertInternalType('array', $e->getCurlInfo());
191
- }
192
- }
193
-
194
- public function testRemovesQueuedRequests()
195
- {
196
- $request = RequestFactory::getInstance()->create('GET', 'http://127.0.0.1:9876/');
197
- $r = new Response(200);
198
- $request->setClient(new Client());
199
- $request->setResponse($r, true);
200
- $this->multi->add($request);
201
- $this->multi->send();
202
- $this->assertSame($r, $request->getResponse());
203
- }
204
-
205
- public function testRemovesQueuedRequestsAddedInTransit()
206
- {
207
- $this->getServer()->flush();
208
- $this->getServer()->enqueue(array("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"));
209
- $client = new Client($this->getServer()->getUrl());
210
- $r = $client->get();
211
- $r->getEventDispatcher()->addListener('request.receive.status_line', function (Event $event) use ($client) {
212
- // Create a request using a queued response
213
- $request = $client->get()->setResponse(new Response(200), true);
214
- $request->send();
215
- });
216
- $r->send();
217
- $this->assertEquals(1, count($this->getServer()->getReceivedRequests(false)));
218
- }
219
-
220
- public function testCatchesExceptionsBeforeSendingSingleRequest()
221
- {
222
- $client = new Client($this->getServer()->getUrl());
223
- $multi = new CurlMulti();
224
- $client->setCurlMulti($multi);
225
- $request = $client->get();
226
- $request->getEventDispatcher()->addListener('request.before_send', function() {
227
- throw new \RuntimeException('Testing!');
228
- });
229
- try {
230
- $request->send();
231
- $this->fail('Did not throw');
232
- } catch (\RuntimeException $e) {
233
- // Ensure it was removed
234
- $this->assertEquals(0, count($multi));
235
- }
236
- }
237
-
238
- /**
239
- * @expectedException \Guzzle\Common\Exception\ExceptionCollection
240
- * @expectedExceptionMessage Thrown before sending!
241
- */
242
- public function testCatchesExceptionsBeforeSendingMultipleRequests()
243
- {
244
- $client = new Client($this->getServer()->getUrl());
245
- $request = $client->get();
246
- $request->getEventDispatcher()->addListener('request.before_send', function() {
247
- throw new \RuntimeException('Thrown before sending!');
248
- });
249
- $client->send(array($request));
250
- }
251
-
252
- public function testCatchesExceptionsWhenRemovingQueuedRequests()
253
- {
254
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
255
- $client = new Client($this->getServer()->getUrl());
256
- $r = $client->get();
257
- $r->getEventDispatcher()->addListener('request.sent', function() use ($client) {
258
- // Create a request using a queued response
259
- $client->get()->setResponse(new Response(404), true)->send();
260
- });
261
- try {
262
- $r->send();
263
- $this->fail('Did not throw');
264
- } catch (BadResponseException $e) {
265
- $this->assertCount(0, $client->getCurlMulti());
266
- }
267
- }
268
-
269
- public function testCatchesExceptionsWhenRemovingQueuedRequestsBeforeSending()
270
- {
271
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
272
- $client = new Client($this->getServer()->getUrl());
273
- $r = $client->get();
274
- $r->getEventDispatcher()->addListener('request.before_send', function() use ($client) {
275
- // Create a request using a queued response
276
- $client->get()->setResponse(new Response(404), true)->send();
277
- });
278
- try {
279
- $r->send();
280
- $this->fail('Did not throw');
281
- } catch (BadResponseException $e) {
282
- $this->assertCount(0, $client->getCurlMulti());
283
- }
284
- }
285
-
286
- /**
287
- * @expectedException \RuntimeException
288
- * @expectedExceptionMessage test
289
- */
290
- public function testDoesNotCatchRandomExceptionsThrownDuringPerform()
291
- {
292
- $client = new Client($this->getServer()->getUrl());
293
- $multi = $this->getMock('Guzzle\\Http\\Curl\\CurlMulti', array('perform'));
294
- $multi->expects($this->once())
295
- ->method('perform')
296
- ->will($this->throwException(new \RuntimeException('test')));
297
- $multi->add($client->get());
298
- $multi->send();
299
- }
300
-
301
- public function testDoesNotSendRequestsDecliningToBeSent()
302
- {
303
- if (!defined('CURLOPT_TIMEOUT_MS')) {
304
- $this->markTestSkipped('Update curl');
305
- }
306
-
307
- // Create a client that is bound to fail connecting
308
- $client = new Client('http://127.0.0.1:123', array(
309
- 'curl.CURLOPT_PORT' => 123,
310
- 'curl.CURLOPT_CONNECTTIMEOUT_MS' => 1,
311
- ));
312
-
313
- $request = $client->get();
314
- $multi = new CurlMulti();
315
- $multi->add($request);
316
-
317
- // Listen for request exceptions, and when they occur, first change the
318
- // state of the request back to transferring, and then just allow it to
319
- // exception out
320
- $request->getEventDispatcher()->addListener('request.exception', function(Event $event) use ($multi) {
321
- $retries = $event['request']->getParams()->get('retries');
322
- // Allow the first failure to retry
323
- if ($retries == 0) {
324
- $event['request']->setState('transfer');
325
- $event['request']->getParams()->set('retries', 1);
326
- // Remove the request to try again
327
- $multi->remove($event['request']);
328
- $multi->add($event['request']);
329
- }
330
- });
331
-
332
- try {
333
- $multi->send();
334
- $this->fail('Did not throw an exception at all!?!');
335
- } catch (\Exception $e) {
336
- $this->assertEquals(1, $request->getParams()->get('retries'));
337
- }
338
- }
339
-
340
- public function testDoesNotThrowExceptionsWhenRequestsRecoverWithRetry()
341
- {
342
- $this->getServer()->flush();
343
- $client = new Client($this->getServer()->getUrl());
344
- $request = $client->get();
345
- $request->getEventDispatcher()->addListener('request.before_send', function(Event $event) {
346
- $event['request']->setResponse(new Response(200));
347
- });
348
-
349
- $multi = new CurlMulti();
350
- $multi->add($request);
351
- $multi->send();
352
- $this->assertEquals(0, count($this->getServer()->getReceivedRequests(false)));
353
- }
354
-
355
- public function testDoesNotThrowExceptionsWhenRequestsRecoverWithSuccess()
356
- {
357
- // Attempt a port that 99.9% is not listening
358
- $client = new Client('http://127.0.0.1:123');
359
- $request = $client->get();
360
- // Ensure it times out quickly if needed
361
- $request->getCurlOptions()->set(CURLOPT_TIMEOUT_MS, 1)->set(CURLOPT_CONNECTTIMEOUT_MS, 1);
362
-
363
- $request->getEventDispatcher()->addListener('request.exception', function(Event $event) use (&$count) {
364
- $event['request']->setResponse(new Response(200));
365
- });
366
-
367
- $multi = new CurlMulti();
368
- $multi->add($request);
369
- $multi->send();
370
-
371
- // Ensure that the exception was caught, and the response was set manually
372
- $this->assertEquals(200, $request->getResponse()->getStatusCode());
373
- }
374
-
375
- public function testHardResetReopensMultiHandle()
376
- {
377
- $this->getServer()->enqueue(array(
378
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n",
379
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
380
- ));
381
-
382
- $stream = fopen('php://temp', 'w+');
383
- $client = new Client($this->getServer()->getUrl());
384
- $client->getConfig()->set('curl.CURLOPT_VERBOSE', true)->set('curl.CURLOPT_STDERR', $stream);
385
-
386
- $request = $client->get();
387
- $multi = new CurlMulti();
388
- $multi->add($request);
389
- $multi->send();
390
- $multi->reset(true);
391
- $multi->add($request);
392
- $multi->send();
393
-
394
- rewind($stream);
395
- $this->assertNotContains('Re-using existing connection', stream_get_contents($stream));
396
- }
397
-
398
- public function testThrowsMeaningfulExceptionsForCurlMultiErrors()
399
- {
400
- $multi = new CurlMulti();
401
-
402
- // Set the state of the multi object to sending to trigger the exception
403
- $reflector = new \ReflectionMethod('Guzzle\Http\Curl\CurlMulti', 'checkCurlResult');
404
- $reflector->setAccessible(true);
405
-
406
- // Successful
407
- $reflector->invoke($multi, 0);
408
-
409
- // Known error
410
- try {
411
- $reflector->invoke($multi, CURLM_BAD_HANDLE);
412
- $this->fail('Expected an exception here');
413
- } catch (CurlException $e) {
414
- $this->assertContains('The passed-in handle is not a valid CURLM handle.', $e->getMessage());
415
- $this->assertContains('CURLM_BAD_HANDLE', $e->getMessage());
416
- $this->assertContains(strval(CURLM_BAD_HANDLE), $e->getMessage());
417
- }
418
-
419
- // Unknown error
420
- try {
421
- $reflector->invoke($multi, 255);
422
- $this->fail('Expected an exception here');
423
- } catch (CurlException $e) {
424
- $this->assertEquals('Unexpected cURL error: 255', $e->getMessage());
425
- }
426
- }
427
-
428
- public function testRequestBeforeSendIncludesContentLengthHeaderIfEmptyBody()
429
- {
430
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
431
- $request = new Request('PUT', $this->getServer()->getUrl());
432
- $that = $this;
433
- $request->getEventDispatcher()->addListener('request.before_send', function ($event) use ($that) {
434
- $that->assertEquals(0, $event['request']->getHeader('Content-Length'));
435
- });
436
- $this->multi->add($request);
437
- $this->multi->send();
438
- }
439
-
440
- public function testRemovesConflictingTransferEncodingHeader()
441
- {
442
- $this->getServer()->flush();
443
- $this->getServer()->enqueue(array(
444
- "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest",
445
- "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
446
- ));
447
- $client = new Client($this->getServer()->getUrl());
448
- $request = $client->put('/', null, fopen($this->getServer()->getUrl(), 'r'));
449
- $request->setHeader('Content-Length', 4);
450
- $request->send();
451
- $received = $this->getServer()->getReceivedRequests(true);
452
- $this->assertFalse($received[1]->hasHeader('Transfer-Encoding'));
453
- $this->assertEquals(4, (string) $received[1]->getHeader('Content-Length'));
454
- }
455
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlVersionTest.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Curl;
4
-
5
- use Guzzle\Http\Curl\CurlVersion;
6
-
7
- /**
8
- * @covers Guzzle\Http\Curl\CurlVersion
9
- */
10
- class CurlVersionTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- public function testCachesCurlInfo()
13
- {
14
- $info = curl_version();
15
- $instance = CurlVersion::getInstance();
16
-
17
- // Clear out the info cache
18
- $refObject = new \ReflectionObject($instance);
19
- $refProperty = $refObject->getProperty('version');
20
- $refProperty->setAccessible(true);
21
- $refProperty->setValue($instance, array());
22
-
23
- $this->assertEquals($info, $instance->getAll());
24
- $this->assertEquals($info, $instance->getAll());
25
-
26
- $this->assertEquals($info['version'], $instance->get('version'));
27
- $this->assertFalse($instance->get('foo'));
28
- }
29
-
30
- public function testIsSingleton()
31
- {
32
- $refObject = new \ReflectionClass('Guzzle\Http\Curl\CurlVersion');
33
- $refProperty = $refObject->getProperty('instance');
34
- $refProperty->setAccessible(true);
35
- $refProperty->setValue(null, null);
36
-
37
- $this->assertInstanceOf('Guzzle\Http\Curl\CurlVersion', CurlVersion::getInstance());
38
- }
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/RequestMediatorTest.php DELETED
@@ -1,67 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Curl;
4
-
5
- use Guzzle\Http\Client;
6
- use Guzzle\Http\Message\EntityEnclosingRequest;
7
- use Guzzle\Http\Message\Response;
8
- use Guzzle\Http\Curl\RequestMediator;
9
-
10
- /**
11
- * @covers Guzzle\Http\Curl\RequestMediator
12
- */
13
- class RequestMediatorTest extends \Guzzle\Tests\GuzzleTestCase
14
- {
15
- public $events = array();
16
-
17
- public function event($event)
18
- {
19
- $this->events[] = $event;
20
- }
21
-
22
- public function testEmitsEvents()
23
- {
24
- $request = new EntityEnclosingRequest('PUT', 'http://www.example.com');
25
- $request->setBody('foo');
26
- $request->setResponse(new Response(200));
27
-
28
- // Ensure that IO events are emitted
29
- $request->getCurlOptions()->set('emit_io', true);
30
-
31
- // Attach listeners for each event type
32
- $request->getEventDispatcher()->addListener('curl.callback.progress', array($this, 'event'));
33
- $request->getEventDispatcher()->addListener('curl.callback.read', array($this, 'event'));
34
- $request->getEventDispatcher()->addListener('curl.callback.write', array($this, 'event'));
35
-
36
- $mediator = new RequestMediator($request, true);
37
-
38
- $mediator->progress('a', 'b', 'c', 'd');
39
- $this->assertEquals(1, count($this->events));
40
- $this->assertEquals('curl.callback.progress', $this->events[0]->getName());
41
-
42
- $this->assertEquals(3, $mediator->writeResponseBody('foo', 'bar'));
43
- $this->assertEquals(2, count($this->events));
44
- $this->assertEquals('curl.callback.write', $this->events[1]->getName());
45
- $this->assertEquals('bar', $this->events[1]['write']);
46
- $this->assertSame($request, $this->events[1]['request']);
47
-
48
- $this->assertEquals('foo', $mediator->readRequestBody('a', 'b', 3));
49
- $this->assertEquals(3, count($this->events));
50
- $this->assertEquals('curl.callback.read', $this->events[2]->getName());
51
- $this->assertEquals('foo', $this->events[2]['read']);
52
- $this->assertSame($request, $this->events[2]['request']);
53
- }
54
-
55
- public function testDoesNotUseRequestResponseBodyWhenNotCustom()
56
- {
57
- $this->getServer()->flush();
58
- $this->getServer()->enqueue(array(
59
- "HTTP/1.1 307 Foo\r\nLocation: /foo\r\nContent-Length: 2\r\n\r\nHI",
60
- "HTTP/1.1 301 Foo\r\nLocation: /foo\r\nContent-Length: 2\r\n\r\nFI",
61
- "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest",
62
- ));
63
- $client = new Client($this->getServer()->getUrl());
64
- $response = $client->get()->send();
65
- $this->assertEquals('test', $response->getBody(true));
66
- }
67
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/EntityBodyTest.php DELETED
@@ -1,182 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http;
4
-
5
- use Guzzle\Http\EntityBody;
6
- use Guzzle\Http\QueryString;
7
-
8
- /**
9
- * @group server
10
- * @covers Guzzle\Http\EntityBody
11
- */
12
- class EntityBodyTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- /**
15
- * @expectedException \Guzzle\Common\Exception\InvalidArgumentException
16
- */
17
- public function testFactoryThrowsException()
18
- {
19
- $body = EntityBody::factory(false);
20
- }
21
-
22
- public function testFactory()
23
- {
24
- $body = EntityBody::factory('data');
25
- $this->assertEquals('data', (string) $body);
26
- $this->assertEquals(4, $body->getContentLength());
27
- $this->assertEquals('PHP', $body->getWrapper());
28
- $this->assertEquals('TEMP', $body->getStreamType());
29
-
30
- $handle = fopen(__DIR__ . '/../../../../phpunit.xml.dist', 'r');
31
- if (!$handle) {
32
- $this->fail('Could not open test file');
33
- }
34
- $body = EntityBody::factory($handle);
35
- $this->assertEquals(__DIR__ . '/../../../../phpunit.xml.dist', $body->getUri());
36
- $this->assertTrue($body->isLocal());
37
- $this->assertEquals(__DIR__ . '/../../../../phpunit.xml.dist', $body->getUri());
38
- $this->assertEquals(filesize(__DIR__ . '/../../../../phpunit.xml.dist'), $body->getContentLength());
39
-
40
- // make sure that a body will return as the same object
41
- $this->assertTrue($body === EntityBody::factory($body));
42
- }
43
-
44
- public function testFactoryCreatesTempStreamByDefault()
45
- {
46
- $body = EntityBody::factory('');
47
- $this->assertEquals('PHP', $body->getWrapper());
48
- $this->assertEquals('TEMP', $body->getStreamType());
49
- $body = EntityBody::factory();
50
- $this->assertEquals('PHP', $body->getWrapper());
51
- $this->assertEquals('TEMP', $body->getStreamType());
52
- }
53
-
54
- public function testFactoryCanCreateFromObject()
55
- {
56
- $body = EntityBody::factory(new QueryString(array('foo' => 'bar')));
57
- $this->assertEquals('foo=bar', (string) $body);
58
- }
59
-
60
- /**
61
- * @expectedException \Guzzle\Common\Exception\InvalidArgumentException
62
- */
63
- public function testFactoryEnsuresObjectsHaveToStringMethod()
64
- {
65
- EntityBody::factory(new \stdClass('a'));
66
- }
67
-
68
- public function testHandlesCompression()
69
- {
70
- $body = EntityBody::factory('testing 123...testing 123');
71
- $this->assertFalse($body->getContentEncoding(), '-> getContentEncoding() must initially return FALSE');
72
- $size = $body->getContentLength();
73
- $body->compress();
74
- $this->assertEquals('gzip', $body->getContentEncoding(), '-> getContentEncoding() must return the correct encoding after compressing');
75
- $this->assertEquals(gzdeflate('testing 123...testing 123'), (string) $body);
76
- $this->assertTrue($body->getContentLength() < $size);
77
- $this->assertTrue($body->uncompress());
78
- $this->assertEquals('testing 123...testing 123', (string) $body);
79
- $this->assertFalse($body->getContentEncoding(), '-> getContentEncoding() must reset to FALSE');
80
-
81
- if (in_array('bzip2.*', stream_get_filters())) {
82
- $this->assertTrue($body->compress('bzip2.compress'));
83
- $this->assertEquals('compress', $body->getContentEncoding(), '-> compress() must set \'compress\' as the Content-Encoding');
84
- }
85
-
86
- $this->assertFalse($body->compress('non-existent'), '-> compress() must return false when a non-existent stream filter is used');
87
-
88
- // Release the body
89
- unset($body);
90
-
91
- // Use gzip compression on the initial content. This will include a
92
- // gzip header which will need to be stripped when deflating the stream
93
- $body = EntityBody::factory(gzencode('test'));
94
- $this->assertSame($body, $body->setStreamFilterContentEncoding('zlib.deflate'));
95
- $this->assertTrue($body->uncompress('zlib.inflate'));
96
- $this->assertEquals('test', (string) $body);
97
- unset($body);
98
-
99
- // Test using a very long string
100
- $largeString = '';
101
- for ($i = 0; $i < 25000; $i++) {
102
- $largeString .= chr(rand(33, 126));
103
- }
104
- $body = EntityBody::factory($largeString);
105
- $this->assertEquals($largeString, (string) $body);
106
- $this->assertTrue($body->compress());
107
- $this->assertNotEquals($largeString, (string) $body);
108
- $compressed = (string) $body;
109
- $this->assertTrue($body->uncompress());
110
- $this->assertEquals($largeString, (string) $body);
111
- $this->assertEquals($compressed, gzdeflate($largeString));
112
-
113
- $body = EntityBody::factory(fopen(__DIR__ . '/../TestData/compress_test', 'w'));
114
- $this->assertFalse($body->compress());
115
- unset($body);
116
-
117
- unlink(__DIR__ . '/../TestData/compress_test');
118
- }
119
-
120
- public function testDeterminesContentType()
121
- {
122
- // Test using a string/temp stream
123
- $body = EntityBody::factory('testing 123...testing 123');
124
- $this->assertNull($body->getContentType());
125
-
126
- // Use a local file
127
- $body = EntityBody::factory(fopen(__FILE__, 'r'));
128
- $this->assertContains('text/x-', $body->getContentType());
129
- }
130
-
131
- public function testCreatesMd5Checksum()
132
- {
133
- $body = EntityBody::factory('testing 123...testing 123');
134
- $this->assertEquals(md5('testing 123...testing 123'), $body->getContentMd5());
135
-
136
- $server = $this->getServer()->enqueue(
137
- "HTTP/1.1 200 OK" . "\r\n" .
138
- "Content-Length: 3" . "\r\n\r\n" .
139
- "abc"
140
- );
141
-
142
- $body = EntityBody::factory(fopen($this->getServer()->getUrl(), 'r'));
143
- $this->assertFalse($body->getContentMd5());
144
- }
145
-
146
- public function testSeeksToOriginalPosAfterMd5()
147
- {
148
- $body = EntityBody::factory('testing 123');
149
- $body->seek(4);
150
- $this->assertEquals(md5('testing 123'), $body->getContentMd5());
151
- $this->assertEquals(4, $body->ftell());
152
- $this->assertEquals('ing 123', $body->read(1000));
153
- }
154
-
155
- public function testGetTypeFormBodyFactoring()
156
- {
157
- $body = EntityBody::factory(array('key1' => 'val1', 'key2' => 'val2'));
158
- $this->assertEquals('key1=val1&key2=val2', (string) $body);
159
- }
160
-
161
- public function testAllowsCustomRewind()
162
- {
163
- $body = EntityBody::factory('foo');
164
- $rewound = false;
165
- $body->setRewindFunction(function ($body) use (&$rewound) {
166
- $rewound = true;
167
- return $body->seek(0);
168
- });
169
- $body->seek(2);
170
- $this->assertTrue($body->rewind());
171
- $this->assertTrue($rewound);
172
- }
173
-
174
- /**
175
- * @expectedException \Guzzle\Common\Exception\InvalidArgumentException
176
- */
177
- public function testCustomRewindFunctionMustBeCallable()
178
- {
179
- $body = EntityBody::factory();
180
- $body->setRewindFunction('foo');
181
- }
182
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/CurlExceptionTest.php DELETED
@@ -1,27 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Exception;
4
-
5
- use Guzzle\Http\Exception\CurlException;
6
- use Guzzle\Http\Curl\CurlHandle;
7
-
8
- /**
9
- * @covers Guzzle\Http\Exception\CurlException
10
- */
11
- class CurlExceptionTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- public function testStoresCurlError()
14
- {
15
- $e = new CurlException();
16
- $this->assertNull($e->getError());
17
- $this->assertNull($e->getErrorNo());
18
- $this->assertSame($e, $e->setError('test', 12));
19
- $this->assertEquals('test', $e->getError());
20
- $this->assertEquals(12, $e->getErrorNo());
21
-
22
- $handle = new CurlHandle(curl_init(), array());
23
- $e->setCurlHandle($handle);
24
- $this->assertSame($handle, $e->getCurlHandle());
25
- $handle->close();
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/ExceptionTest.php DELETED
@@ -1,66 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Exception;
4
-
5
- use Guzzle\Http\Message\Response;
6
- use Guzzle\Http\Message\Request;
7
- use Guzzle\Http\Exception\RequestException;
8
- use Guzzle\Http\Exception\BadResponseException;
9
-
10
- class ExceptionTest extends \Guzzle\Tests\GuzzleTestCase
11
- {
12
- /**
13
- * @covers Guzzle\Http\Exception\RequestException
14
- */
15
- public function testRequestException()
16
- {
17
- $e = new RequestException('Message');
18
- $request = new Request('GET', 'http://www.guzzle-project.com/');
19
- $e->setRequest($request);
20
- $this->assertEquals($request, $e->getRequest());
21
- }
22
-
23
- /**
24
- * @covers Guzzle\Http\Exception\BadResponseException
25
- */
26
- public function testBadResponseException()
27
- {
28
- $e = new BadResponseException('Message');
29
- $response = new Response(200);
30
- $e->setResponse($response);
31
- $this->assertEquals($response, $e->getResponse());
32
- }
33
-
34
- /**
35
- * @covers Guzzle\Http\Exception\BadResponseException::factory
36
- */
37
- public function testCreatesGenericErrorExceptionOnError()
38
- {
39
- $request = new Request('GET', 'http://www.example.com');
40
- $response = new Response(307);
41
- $e = BadResponseException::factory($request, $response);
42
- $this->assertInstanceOf('Guzzle\Http\Exception\BadResponseException', $e);
43
- }
44
-
45
- /**
46
- * @covers Guzzle\Http\Exception\BadResponseException::factory
47
- */
48
- public function testCreatesClientErrorExceptionOnClientError()
49
- {
50
- $request = new Request('GET', 'http://www.example.com');
51
- $response = new Response(404);
52
- $e = BadResponseException::factory($request, $response);
53
- $this->assertInstanceOf('Guzzle\Http\Exception\ClientErrorResponseException', $e);
54
- }
55
-
56
- /**
57
- * @covers Guzzle\Http\Exception\BadResponseException::factory
58
- */
59
- public function testCreatesServerErrorExceptionOnServerError()
60
- {
61
- $request = new Request('GET', 'http://www.example.com');
62
- $response = new Response(503);
63
- $e = BadResponseException::factory($request, $response);
64
- $this->assertInstanceOf('Guzzle\Http\Exception\ServerErrorResponseException', $e);
65
- }
66
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/MultiTransferExceptionTest.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Exception;
4
-
5
- use Guzzle\Http\Exception\MultiTransferException;
6
- use Guzzle\Http\Curl\CurlHandle;
7
- use Guzzle\Http\Message\Request;
8
-
9
- /**
10
- * @covers Guzzle\Http\Exception\MultiTransferException
11
- */
12
- class MultiTransferExceptionTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- public function testHasRequests()
15
- {
16
- $r1 = new Request('GET', 'http://www.foo.com');
17
- $r2 = new Request('GET', 'http://www.foo.com');
18
- $e = new MultiTransferException();
19
- $e->addSuccessfulRequest($r1);
20
- $e->addFailedRequest($r2);
21
- $this->assertEquals(array($r1), $e->getSuccessfulRequests());
22
- $this->assertEquals(array($r2), $e->getSuccessfulRequests());
23
- $this->assertEquals(array($r1, $r2), $e->getAllRequests());
24
- $this->assertTrue($e->containsRequest($r1));
25
- $this->assertTrue($e->containsRequest($r2));
26
- $this->assertFalse($e->containsRequest(new Request('POST', '/foo')));
27
- }
28
-
29
- public function testCanSetRequests()
30
- {
31
- $s = array($r1 = new Request('GET', 'http://www.foo.com'));
32
- $f = array($r2 = new Request('GET', 'http://www.foo.com'));
33
- $e = new MultiTransferException();
34
- $e->setSuccessfulRequests($s);
35
- $e->setFailedRequests($f);
36
- $this->assertEquals(array($r1), $e->getSuccessfulRequests());
37
- $this->assertEquals(array($r2), $e->getSuccessfulRequests());
38
- }
39
-
40
- public function testAssociatesExceptionsWithRequests()
41
- {
42
- $r1 = new Request('GET', 'http://www.foo.com');
43
- $re1 = new \Exception('foo');
44
- $re2 = new \Exception('bar');
45
- $e = new MultiTransferException();
46
- $e->add($re2);
47
- $e->addFailedRequestWithException($r1, $re1);
48
- $this->assertSame($re1, $e->getExceptionForFailedRequest($r1));
49
- $this->assertNull($e->getExceptionForFailedRequest(new Request('POST', '/foo')));
50
- }
51
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/IoEmittingEntityBodyTest.php DELETED
@@ -1,47 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http;
4
-
5
- use Guzzle\Http\EntityBody;
6
- use Guzzle\Http\IoEmittingEntityBody;
7
-
8
- /**
9
- * @covers Guzzle\Http\IoEmittingEntityBody
10
- */
11
- class IoEmittingEntityBodyTest extends \Guzzle\Tests\GuzzleTestCase
12
- {
13
- protected $body;
14
- protected $decorated;
15
-
16
- public function setUp()
17
- {
18
- $this->decorated = EntityBody::factory('hello');
19
- $this->body = new IoEmittingEntityBody($this->decorated);
20
- }
21
-
22
- public function testEmitsReadEvents()
23
- {
24
- $e = null;
25
- $this->body->getEventDispatcher()->addListener('body.read', function ($event) use (&$e) {
26
- $e = $event;
27
- });
28
- $this->assertEquals('hel', $this->body->read(3));
29
- $this->assertEquals('hel', $e['read']);
30
- $this->assertEquals(3, $e['length']);
31
- $this->assertSame($this->body, $e['body']);
32
- }
33
-
34
- public function testEmitsWriteEvents()
35
- {
36
- $e = null;
37
- $this->body->getEventDispatcher()->addListener('body.write', function ($event) use (&$e) {
38
- $e = $event;
39
- });
40
- $this->body->seek(0, SEEK_END);
41
- $this->assertEquals(5, $this->body->write('there'));
42
- $this->assertEquals('there', $e['write']);
43
- $this->assertEquals(5, $e['result']);
44
- $this->assertSame($this->body, $e['body']);
45
- $this->assertEquals('hellothere', (string) $this->body);
46
- }
47
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/AbstractMessageTest.php DELETED
@@ -1,136 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Message;
4
-
5
- use Guzzle\Http\Message\Header;
6
- use Guzzle\Http\Message\Request;
7
- use Guzzle\Common\Collection;
8
-
9
- /**
10
- * @covers Guzzle\Http\Message\AbstractMessage
11
- */
12
- class AbstractMessageTest extends \Guzzle\Tests\GuzzleTestCase
13
- {
14
- /** @var Request Request object */
15
- private $request;
16
-
17
- /** @var AbstractMessage */
18
- private $mock;
19
-
20
- public function setUp()
21
- {
22
- parent::setUp();
23
- $this->mock = $this->getMockForAbstractClass('Guzzle\Http\Message\AbstractMessage');
24
- }
25
-
26
- public function tearDown()
27
- {
28
- $this->mock = $this->request = null;
29
- }
30
-
31
- public function testGetParams()
32
- {
33
- $request = new Request('GET', 'http://example.com');
34
- $this->assertInstanceOf('Guzzle\\Common\\Collection', $request->getParams());
35
- }
36
-
37
- public function testAddHeaders()
38
- {
39
- $this->mock->setHeader('A', 'B');
40
-
41
- $this->assertEquals($this->mock, $this->mock->addHeaders(array(
42
- 'X-Data' => '123'
43
- )));
44
-
45
- $this->assertTrue($this->mock->hasHeader('X-Data') !== false);
46
- $this->assertTrue($this->mock->hasHeader('A') !== false);
47
- }
48
-
49
- public function testAllowsHeaderToSetAsHeader()
50
- {
51
- $h = new Header('A', 'B');
52
- $this->mock->setHeader('A', $h);
53
- $this->assertSame($h, $this->mock->getHeader('A'));
54
- }
55
-
56
- public function testGetHeader()
57
- {
58
- $this->mock->setHeader('Test', '123');
59
- $this->assertEquals('123', $this->mock->getHeader('Test'));
60
- }
61
-
62
- public function testGetHeaders()
63
- {
64
- $this->assertSame($this->mock, $this->mock->setHeaders(array('a' => 'b', 'c' => 'd')));
65
- $h = $this->mock->getHeaders();
66
- $this->assertArrayHasKey('a', $h->toArray());
67
- $this->assertArrayHasKey('c', $h->toArray());
68
- $this->assertInstanceOf('Guzzle\Http\Message\Header\HeaderInterface', $h->get('a'));
69
- $this->assertInstanceOf('Guzzle\Http\Message\Header\HeaderInterface', $h->get('c'));
70
- }
71
-
72
- public function testGetHeaderLinesUsesGlue()
73
- {
74
- $this->mock->setHeaders(array('a' => 'b', 'c' => 'd'));
75
- $this->mock->addHeader('a', 'e');
76
- $this->mock->getHeader('a')->setGlue('!');
77
- $this->assertEquals(array(
78
- 'a: b! e',
79
- 'c: d'
80
- ), $this->mock->getHeaderLines());
81
- }
82
-
83
- public function testHasHeader()
84
- {
85
- $this->assertFalse($this->mock->hasHeader('Foo'));
86
- $this->mock->setHeader('Foo', 'Bar');
87
- $this->assertEquals(true, $this->mock->hasHeader('Foo'));
88
- $this->mock->setHeader('foo', 'yoo');
89
- $this->assertEquals(true, $this->mock->hasHeader('Foo'));
90
- $this->assertEquals(true, $this->mock->hasHeader('foo'));
91
- $this->assertEquals(false, $this->mock->hasHeader('bar'));
92
- }
93
-
94
- public function testRemoveHeader()
95
- {
96
- $this->mock->setHeader('Foo', 'Bar');
97
- $this->assertEquals(true, $this->mock->hasHeader('Foo'));
98
- $this->mock->removeHeader('Foo');
99
- $this->assertFalse($this->mock->hasHeader('Foo'));
100
- }
101
-
102
- public function testReturnsNullWhenHeaderIsNotFound()
103
- {
104
- $this->assertNull($this->mock->getHeader('foo'));
105
- }
106
-
107
- public function testAddingHeadersPreservesOriginalHeaderCase()
108
- {
109
- $this->mock->addHeaders(array(
110
- 'test' => '123',
111
- 'Test' => 'abc'
112
- ));
113
- $this->mock->addHeader('test', '456');
114
- $this->mock->addHeader('test', '789');
115
-
116
- $header = $this->mock->getHeader('test');
117
- $this->assertContains('123', $header->toArray());
118
- $this->assertContains('456', $header->toArray());
119
- $this->assertContains('789', $header->toArray());
120
- $this->assertContains('abc', $header->toArray());
121
- }
122
-
123
- public function testCanStoreEmptyHeaders()
124
- {
125
- $this->mock->setHeader('Content-Length', 0);
126
- $this->assertTrue($this->mock->hasHeader('Content-Length'));
127
- $this->assertEquals(0, (string) $this->mock->getHeader('Content-Length'));
128
- }
129
-
130
- public function testCanSetCustomHeaderFactory()
131
- {
132
- $f = new Header\HeaderFactory();
133
- $this->mock->setHeaderFactory($f);
134
- $this->assertSame($f, $this->readAttribute($this->mock, 'headerFactory'));
135
- }
136
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/EntityEnclosingRequestTest.php DELETED
@@ -1,434 +0,0 @@
1
- <?php
2
-
3
- namespace Guzzle\Tests\Http\Message;
4
-
5
- use Guzzle\Http\Client;
6
- use Guzzle\Http\EntityBody;
7
- use Guzzle\Http\Message\Request;
8
- use Guzzle\Http\Message\RequestFactory;
9
- use Guzzle\Http\RedirectPlugin;
10
- use Guzzle\Http\Message\EntityEnclosingRequest;
11
- use Guzzle\Http\Message\PostFile;
12
- use Guzzle\Http\QueryString;
13
-
14
- /**
15
- * @group server
16
- * @covers Guzzle\Http\Message\EntityEnclosingRequest
17
- */
18
- class EntityEnclosingRequestTest extends \Guzzle\Tests\GuzzleTestCase
19
- {
20
- protected $client;
21
-
22
- public function setUp()
23
- {
24
- $this->client = new Client();
25
- }
26
-
27
- public function tearDown()
28
- {
29
- $this->client = null;
30
- }
31
-
32
- public function testConstructorConfiguresRequest()
33
- {
34
- $request = new EntityEnclosingRequest('PUT', 'http://test.com', array(
35
- 'X-Test' => '123'
36
- ));
37
- $request->setBody('Test');
38
- $this->assertEquals('123', $request->getHeader('X-Test'));
39
- $this->assertNull($request->getHeader('Expect'));
40
- }
41
-
42
- public function testCanSetBodyWithoutOverridingContentType()
43
- {
44
- $request = new EntityEnclosingRequest('PUT', 'http://test.com', array('Content-Type' => 'foooooo'));
45
- $request->setBody('{"a":"b"}');
46
- $this->assertEquals('foooooo', $request->getHeader('Content-Type'));
47
- }
48
-
49
- public function testRequestIncludesBodyInMessage()
50
- {
51
-
52
- $request = RequestFactory::getInstance()->create('PUT', 'http://www.guzzle-project.com/', null, 'data');
53
- $this->assertEquals("PUT / HTTP/1.1\r\n"
54
- . "Host: www.guzzle-project.com\r\n"
55
- . "Content-Length: 4\r\n\r\n"
56
- . "data", (string) $request);
57
- }
58
-
59
- public function testRequestIncludesPostBodyInMessageOnlyWhenNoPostFiles()
60
- {
61
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/', null, array(
62
- 'foo' => 'bar'
63
- ));
64
- $this->assertEquals("POST / HTTP/1.1\r\n"
65
- . "Host: www.guzzle-project.com\r\n"
66
- . "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n\r\n"
67
- . "foo=bar", (string) $request);
68
-
69
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/', null, array(
70
- 'foo' => '@' . __FILE__
71
- ));
72
- $this->assertEquals("POST / HTTP/1.1\r\n"
73
- . "Host: www.guzzle-project.com\r\n"
74
- . "Content-Type: multipart/form-data\r\n"
75
- . "Expect: 100-Continue\r\n\r\n", (string) $request);
76
- }
77
-
78
- public function testAddsPostFieldsAndSetsContentLength()
79
- {
80
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/', null, array(
81
- 'data' => '123'
82
- ));
83
- $this->assertEquals("POST / HTTP/1.1\r\n"
84
- . "Host: www.guzzle-project.com\r\n"
85
- . "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n\r\n"
86
- . "data=123", (string) $request);
87
- }
88
-
89
- public function testAddsPostFilesAndSetsContentType()
90
- {
91
- $request = RequestFactory::getInstance()->create('POST', 'http://www.test.com/')
92
- ->addPostFiles(array(
93
- 'file' => __FILE__
94
- ))->addPostFields(array(
95
- 'a' => 'b'
96
- ));
97
- $message = (string) $request;
98
- $this->assertEquals('multipart/form-data', $request->getHeader('Content-Type'));
99
- $this->assertEquals('100-Continue', $request->getHeader('Expect'));
100
- }
101
-
102
- public function testRequestBodyContainsPostFiles()
103
- {
104
- $request = RequestFactory::getInstance()->create('POST', 'http://www.test.com/');
105
- $request->addPostFields(array(
106
- 'test' => '123'
107
- ));
108
- $this->assertContains("\r\n\r\ntest=123", (string) $request);
109
- }
110
-
111
- public function testRequestBodyAddsContentLength()
112
- {
113
- $request = RequestFactory::getInstance()->create('PUT', 'http://www.test.com/');
114
- $request->setBody(EntityBody::factory('test'));
115
- $this->assertEquals(4, (string) $request->getHeader('Content-Length'));
116
- $this->assertFalse($request->hasHeader('Transfer-Encoding'));
117
- }
118
-
119
- public function testRequestBodyDoesNotUseContentLengthWhenChunked()
120
- {
121
- $request = RequestFactory::getInstance()->create('PUT', 'http://www.test.com/', array(
122
- 'Transfer-Encoding' => 'chunked'
123
- ), 'test');
124
- $this->assertNull($request->getHeader('Content-Length'));
125
- $this->assertTrue($request->hasHeader('Transfer-Encoding'));
126
- }
127
-
128
- public function testRequestHasMutableBody()
129
- {
130
- $request = RequestFactory::getInstance()->create('PUT', 'http://www.guzzle-project.com/', null, 'data');
131
- $body = $request->getBody();
132
- $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $body);
133
- $this->assertSame($body, $request->getBody());
134
-
135
- $newBody = EntityBody::factory('foobar');
136
- $request->setBody($newBody);
137
- $this->assertEquals('foobar', (string) $request->getBody());
138
- $this->assertSame($newBody, $request->getBody());
139
- }
140
-
141
- public function testSetPostFields()
142
- {
143
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/');
144
- $this->assertInstanceOf('Guzzle\\Http\\QueryString', $request->getPostFields());
145
-
146
- $fields = new QueryString(array(
147
- 'a' => 'b'
148
- ));
149
- $request->addPostFields($fields);
150
- $this->assertEquals($fields->getAll(), $request->getPostFields()->getAll());
151
- $this->assertEquals(array(), $request->getPostFiles());
152
- }
153
-
154
- public function testSetPostFiles()
155
- {
156
- $request = RequestFactory::getInstance()->create('POST', $this->getServer()->getUrl())
157
- ->setClient(new Client())
158
- ->addPostFiles(array(__FILE__))
159
- ->addPostFields(array(
160
- 'test' => 'abc'
161
- ));
162
-
163
- $request->getCurlOptions()->set('debug', true);
164
-
165
- $this->assertEquals(array(
166
- 'test' => 'abc'
167
- ), $request->getPostFields()->getAll());
168
-
169
- $files = $request->getPostFiles();
170
- $post = $files['file'][0];
171
- $this->assertEquals('file', $post->getFieldName());
172
- $this->assertContains('text/x-', $post->getContentType());
173
- $this->assertEquals(__FILE__, $post->getFilename());
174
-
175
- $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
176
- $request->send();
177
-
178
- $this->assertNotNull($request->getHeader('Content-Length'));
179
- $this->assertContains('multipart/form-data; boundary=', (string) $request->getHeader('Content-Type'), '-> cURL must add the boundary');
180
- }
181
-
182
- /**
183
- * @expectedException Guzzle\Common\Exception\InvalidArgumentException
184
- */
185
- public function testSetPostFilesThrowsExceptionWhenFileIsNotFound()
186
- {
187
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/')
188
- ->addPostFiles(array(
189
- 'file' => 'filenotfound.ini'
190
- ));
191
- }
192
-
193
- /**
194
- * @expectedException Guzzle\Http\Exception\RequestException
195
- */
196
- public function testThrowsExceptionWhenNonStringsAreAddedToPost()
197
- {
198
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/')
199
- ->addPostFile('foo', new \stdClass());
200
- }
201
-
202
- public function testAllowsContentTypeInPostUploads()
203
- {
204
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/')
205
- ->addPostFile('foo', __FILE__, 'text/plain');
206
-
207
- $this->assertEquals(array(
208
- new PostFile('foo', __FILE__, 'text/plain')
209
- ), $request->getPostFile('foo'));
210
- }
211
-
212
- public function testGuessesContentTypeOfPostUpload()
213
- {
214
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/')
215
- ->addPostFile('foo', __FILE__);
216
- $file = $request->getPostFile('foo');
217
- $this->assertContains('text/x-', $file[0]->getContentType());
218
- }
219
-
220
- public function testAllowsContentDispositionFieldsInPostUploadsWhenSettingInBulk()
221
- {
222
- $postFile = new PostFile('foo', __FILE__, 'text/x-php');
223
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/')
224
- ->addPostFiles(array('foo' => $postFile));
225
-
226
- $this->assertEquals(array($postFile), $request->getPostFile('foo'));
227
- }
228
-
229
- public function testPostRequestsUseApplicationXwwwForUrlEncodedForArrays()
230
- {
231
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/');
232
- $request->setPostField('a', 'b');
233
- $this->assertContains("\r\n\r\na=b", (string) $request);
234
- $this->assertEquals('application/x-www-form-urlencoded; charset=utf-8', $request->getHeader('Content-Type'));
235
- }
236
-
237
- public function testProcessMethodAddsContentType()
238
- {
239
- $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/');
240
- $request->setPostField('a', 'b');
241
- $this->assertEquals('application/x-www-form-urlencoded; charset=utf-8', $request->getHeader('Content-Type'));
242
- }
243
-
244
- public functi