mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-30 09:20:58 +01:00
23786784ef
Summary: Adds the Balanced PHP API to externals/. Ref T2787. Test Plan: Used in next diff. Reviewers: btrahan, chad Reviewed By: chad CC: aran, aurelijus Maniphest Tasks: T2787 Differential Revision: https://secure.phabricator.com/D5764
44 lines
No EOL
1.2 KiB
PHP
44 lines
No EOL
1.2 KiB
PHP
<?php
|
|
require(__DIR__ . '/../bootstrap.php');
|
|
|
|
// We can override the default parser configuration options be registering
|
|
// a parser with different configuration options for a particular mime type
|
|
|
|
// Example setting a namespace for the XMLHandler parser
|
|
$conf = array('namespace' => 'http://example.com');
|
|
\Httpful\Httpful::register(\Httpful\Mime::XML, new \Httpful\Handlers\XmlHandler($conf));
|
|
|
|
// We can also add the parsers with our own...
|
|
class SimpleCsvHandler extends \Httpful\Handlers\MimeHandlerAdapter
|
|
{
|
|
/**
|
|
* Takes a response body, and turns it into
|
|
* a two dimensional array.
|
|
*
|
|
* @param string $body
|
|
* @return mixed
|
|
*/
|
|
public function parse($body)
|
|
{
|
|
return str_getcsv($body);
|
|
}
|
|
|
|
/**
|
|
* Takes a two dimensional array and turns it
|
|
* into a serialized string to include as the
|
|
* body of a request
|
|
*
|
|
* @param mixed $payload
|
|
* @return string
|
|
*/
|
|
public function serialize($payload)
|
|
{
|
|
$serialized = '';
|
|
foreach ($payload as $line) {
|
|
$serialized .= '"' . implode('","', $line) . '"' . "\n";
|
|
}
|
|
return $serialized;
|
|
}
|
|
}
|
|
|
|
\Httpful\Httpful::register('text/csv', new SimpleCsvHandler()); |