Elastica\Util::convertRequestToCurlCommand PHP Method

convertRequestToCurlCommand() public static method

Converts Request to Curl console command.
public static convertRequestToCurlCommand ( Request $request ) : string
$request Request
return string
    public static function convertRequestToCurlCommand(Request $request)
    {
        $message = 'curl -X' . strtoupper($request->getMethod()) . ' ';
        $message .= '\'http://' . $request->getConnection()->getHost() . ':' . $request->getConnection()->getPort() . '/';
        $message .= $request->getPath();
        $query = $request->getQuery();
        if (!empty($query)) {
            $message .= '?' . http_build_query($query);
        }
        $message .= '\'';
        $data = $request->getData();
        if (!empty($data)) {
            $message .= ' -d \'' . JSON::stringify($data) . '\'';
        }
        return $message;
    }

Usage Example

 public function testConvertRequestToCurlCommand()
 {
     $path = 'test';
     $method = Request::POST;
     $query = array('no' => 'params');
     $data = array('key' => 'value');
     $connection = new Connection();
     $connection->setHost('localhost');
     $connection->setPort('9200');
     $request = new Request($path, $method, $data, $query, $connection);
     $curlCommand = Util::convertRequestToCurlCommand($request);
     $expected = 'curl -XPOST \'http://localhost:9200/test?no=params\' -d \'{"key":"value"}\'';
     $this->assertEquals($expected, $curlCommand);
 }