本文整理汇总了PHP中Symfony\Component\BrowserKit\Client::request方法的典型用法代码示例。如果您正苦于以下问题:PHP Client::request方法的具体用法?PHP Client::request怎么用?PHP Client::request使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\BrowserKit\Client
的用法示例。
在下文中一共展示了Client::request方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: authenticate
/**
* @return AuthenticateResponse
*/
public function authenticate()
{
$this->client->request('POST', self::SING_IN_URI, ['username' => $this->username, 'password' => $this->password], [], ['HTTP_ACCEPT' => 'application/json']);
$loginResponse = json_decode($this->client->getResponse()->getContent());
$authenticateHeaders = ['HTTP_TOKEN' => isset($loginResponse->Token) ? $loginResponse->Token : null, 'HTTP_EXPIREAT' => isset($loginResponse->ExpireAt) ? $loginResponse->ExpireAt : null, 'HTTP_USERNAME' => isset($loginResponse->Username) ? $loginResponse->Username : null];
return new AuthenticateResponse([], $authenticateHeaders);
}
示例2: getDocument
/**
* @param $uri
* @param $format
* @return \PHPExcel
*/
protected function getDocument($uri, $format = 'xlsx')
{
// generate source
static::$client->request('GET', $uri);
$source = static::$client->getResponse()->getContent();
// create source directory if necessary
if (!file_exists(__DIR__ . static::$TEMP_PATH)) {
mkdir(__DIR__ . static::$TEMP_PATH);
}
// save source
file_put_contents(__DIR__ . static::$TEMP_PATH . 'simple' . '.' . $format, $source);
// load source
switch ($format) {
case 'ods':
$reader = new PHPExcel_Reader_OOCalc();
break;
case 'xls':
$reader = new PHPExcel_Reader_Excel5();
break;
case 'xlsx':
$reader = new PHPExcel_Reader_Excel2007();
break;
default:
throw new InvalidArgumentException();
}
return $reader->load(__DIR__ . static::$TEMP_PATH . 'simple' . '.' . $format);
}
示例3: testGetCategories
public function testGetCategories()
{
$this->client->request('GET', '/search/categories');
$response = $this->client->getResponse();
$this->assertEquals(200, $response->getStatusCode());
$result = json_decode($response->getContent(), true);
$this->assertContains('test', $result);
}
示例4: testGetIndexes
public function testGetIndexes()
{
$this->client->request('GET', '/search/indexes');
$response = $this->client->getResponse();
$this->assertEquals(200, $response->getStatusCode());
$result = json_decode($response->getContent(), true);
$this->assertEquals('product', $result[0]['indexName']);
}
示例5: execute
protected function execute($method = 'GET', $url, $parameters = array(), $files = array())
{
foreach ($this->headers as $header => $val) {
$header = str_replace('-', '_', strtoupper($header));
$this->client->setServerParameter("HTTP_{$header}", $val);
# Issue #827 - symfony foundation requires 'CONTENT_TYPE' without HTTP_
if ($this->isFunctional and $header == 'CONTENT_TYPE') {
$this->client->setServerParameter($header, $val);
}
}
// allow full url to be requested
$url = (strpos($url, '://') === false ? $this->config['url'] : '') . $url;
$parameters = $this->encodeApplicationJson($method, $parameters);
if (is_array($parameters) || $method == 'GET') {
if (!empty($parameters) && $method == 'GET') {
$url .= '?' . http_build_query($parameters);
}
if ($method == 'GET') {
$this->debugSection("Request", "{$method} {$url}");
} else {
$this->debugSection("Request", "{$method} {$url} " . json_encode($parameters));
}
$this->client->request($method, $url, $parameters, $files);
} else {
$this->debugSection("Request", "{$method} {$url} " . $parameters);
$this->client->request($method, $url, array(), $files, array(), $parameters);
}
$this->response = $this->client->getInternalResponse()->getContent();
$this->debugSection("Response", $this->response);
if (count($this->client->getInternalRequest()->getCookies())) {
$this->debugSection('Cookies', $this->client->getInternalRequest()->getCookies());
}
$this->debugSection("Headers", $this->client->getInternalResponse()->getHeaders());
$this->debugSection("Status", $this->client->getInternalResponse()->getStatus());
}
示例6: execute
protected function execute($method = 'GET', $url, $parameters = array(), $files = array())
{
foreach ($this->headers as $header => $val) {
$this->client->setServerParameter("HTTP_{$header}", $val);
}
// allow full url to be requested
$url = (strpos($url, '://') === false ? $this->config['url'] : '') . $url;
if (is_array($parameters) || $parameters instanceof \ArrayAccess) {
$parameters = $this->scalarizeArray($parameters);
if (array_key_exists('Content-Type', $this->headers) && $this->headers['Content-Type'] === 'application/json' && $method != 'GET') {
$parameters = json_encode($parameters);
}
}
if (is_array($parameters) || $method == 'GET') {
if ($method == 'GET' && !empty($parameters)) {
$url .= '?' . http_build_query($parameters);
$this->debugSection("Request", "{$method} {$url}");
} else {
$this->debugSection("Request", "{$method} {$url}?" . http_build_query($parameters));
}
$this->client->request($method, $url, $parameters, $files);
} else {
$this->debugSection("Request", "{$method} {$url} " . $parameters);
$this->client->request($method, $url, array(), $files, array(), $parameters);
}
$this->response = $this->client->getResponse()->getContent();
$this->debugSection("Response", $this->response);
}
示例7: clientRequest
protected function clientRequest($method, $uri, array $parameters = array(), array $files = array(), array $server = array(), $content = null, $changeHistory = true)
{
if ($this instanceof Framework) {
if (preg_match('#^(//|https?://(?!localhost))#', $uri)) {
$hostname = parse_url($uri, PHP_URL_HOST);
if (!$this->isInternalDomain($hostname)) {
throw new ExternalUrlException(get_class($this) . " can't open external URL: " . $uri);
}
}
if ($method !== 'GET' && $content === null && !empty($parameters)) {
$content = http_build_query($parameters);
}
}
if (!ReflectionHelper::readPrivateProperty($this->client, 'followRedirects')) {
$result = $this->client->request($method, $uri, $parameters, $files, $server, $content, $changeHistory);
$this->debugResponse($uri);
return $result;
} else {
$maxRedirects = ReflectionHelper::readPrivateProperty($this->client, 'maxRedirects', 'Symfony\\Component\\BrowserKit\\Client');
$this->client->followRedirects(false);
$result = $this->client->request($method, $uri, $parameters, $files, $server, $content, $changeHistory);
$this->debugResponse($uri);
return $this->redirectIfNecessary($result, $maxRedirects, 0);
}
}
示例8: request
public function request($method, $uri, array $parameters = array(), array $files = array(), array $server = array(), $content = null, $changeHistory = true)
{
$parameters = array_merge($this->parameters, $parameters);
$crawler = parent::request($method, $uri, $parameters, $files, $server, $content, $changeHistory);
if ($crawler->getNode(0) === null) {
return $this->response->getContent();
} else {
return $crawler;
}
}
示例9: testSavePerDiemAction
/**
* testing savePerDiem action.
*/
public function testSavePerDiemAction()
{
// Empty request
$crawler = $this->client->request('POST', '/secured/travel/admin/save/perdiem');
$this->assertJson($this->client->getResponse()->getContent(), 'testSavePerDiemAction: The response\'s content is not a JSON object.');
$this->assertTrue($this->client->getResponse()->headers->contains('Content-Type', 'application/json'), 'testSavePerDiemAction: The content-type is not a json.');
// Filled up request
$crawler = $this->client->request('POST', '/secured/travel/admin/save/perdiem', array('perdiem' => array(0 => array('id' => 1, 'hours' => 14, 'amount' => 24), 1 => array('id' => null, 'hours' => 12, 'amount' => 12))));
$this->assertTrue($this->client->getResponse()->headers->contains('Content-Type', 'text/html; charset=UTF-8'), 'testSavePerDiemAction: The content-type is not html.');
}
示例10: login
protected function login(Client $client, $username = 'admin', $password = 'password')
{
$client->restart();
$crawler = $client->request('GET', '/login');
$this->assertTrue($client->getResponse()->isSuccessful(), 'Response should be successful');
$form = $crawler->selectButton('Login')->form();
$client->submit($form, array('_username' => $username, '_password' => $password));
$this->assertTrue($client->getResponse()->isRedirect(), 'Response should be redirect');
$crawler = $client->followRedirect();
$this->assertGreaterThan(0, $crawler->filter('html:contains("Benvenuto")')->count());
}
示例11: processRequest
protected function processRequest($action, $body)
{
$this->client->request('POST',
$this->config['endpoint'],
array(), array(),
array(
"HTTP_Content-Type" => "text/xml; charset=UTF-8",
'HTTP_Content-Length' => strlen($body),
'HTTP_SOAPAction' => $action),
$body
);
}
示例12: addToCart
private function addToCart($mealName, $quantity, Crawler $crawler, Client $client)
{
$titles = $crawler->filter('h4')->reduce(function ($crawler) use($mealName) {
return false !== strpos($crawler->text(), $mealName);
});
if (count($titles) !== 1) {
throw new \RuntimeException(sprintf('Expected 1 title containing "%s", found %s.', $mealName, count($titles)));
}
$link = $titles->eq(0)->parents()->first()->filter('input[data-meal]');
$mealId = $link->attr('data-meal');
$client->request('POST', '/cart', array('meal' => $mealId, 'mode' => 'add', 'quantity' => $quantity));
$this->assertEquals(200, $client->getResponse()->getStatusCode());
}
示例13: execute
protected function execute($method = 'GET', $url, $parameters = [], $files = [])
{
$this->debugSection("Request headers", $this->headers);
foreach ($this->headers as $header => $val) {
$header = str_replace('-', '_', strtoupper($header));
$this->client->setServerParameter("HTTP_{$header}", $val);
// Issue #1650 - Symfony BrowserKit changes HOST header to request URL
if ($header === 'HOST') {
$this->client->setServerParameter("HTTP_ HOST", $val);
}
// Issue #827 - symfony foundation requires 'CONTENT_TYPE' without HTTP_
if ($this->isFunctional && $header === 'CONTENT_TYPE') {
$this->client->setServerParameter($header, $val);
}
}
// allow full url to be requested
if (strpos($url, '://') === false) {
$url = $this->config['url'] . $url;
}
$this->params = $parameters;
$parameters = $this->encodeApplicationJson($method, $parameters);
if (is_array($parameters) || $method === 'GET') {
if (!empty($parameters) && $method === 'GET') {
$url .= '?' . http_build_query($parameters);
}
if ($method == 'GET') {
$this->debugSection("Request", "{$method} {$url}");
} else {
$this->debugSection("Request", "{$method} {$url} " . json_encode($parameters));
}
$this->client->request($method, $url, $parameters, $files);
} else {
$requestData = $parameters;
if (!ctype_print($requestData) && false === mb_detect_encoding($requestData, mb_detect_order(), true)) {
// if the request data has non-printable bytes and it is not a valid unicode string, reformat the
// display string to signify the presence of request data
$requestData = '[binary-data length:' . strlen($requestData) . ' md5:' . md5($requestData) . ']';
}
$this->debugSection("Request", "{$method} {$url} " . $requestData);
$this->client->request($method, $url, [], $files, [], $parameters);
}
$this->response = (string) $this->connectionModule->_getResponseContent();
$this->debugSection("Response", $this->response);
if (count($this->client->getInternalRequest()->getCookies())) {
$this->debugSection('Cookies', $this->client->getInternalRequest()->getCookies());
}
$this->debugSection("Headers", $this->client->getInternalResponse()->getHeaders());
$this->debugSection("Status", $this->client->getInternalResponse()->getStatus());
}
示例14: sendXMLRPCMethodCall
/**
* Sends a XMLRPC method call to remote XMLRPC-server.
*
* @param string $methodName
* @param array $parameters
*/
public function sendXMLRPCMethodCall($methodName, $parameters = array())
{
if (!array_key_exists('Content-Type', $this->headers)) {
$this->headers['Content-Type'] = 'text/xml';
}
foreach ($this->headers as $header => $val) {
$this->client->setServerParameter("HTTP_{$header}", $val);
}
$url = $this->config['url'];
if (is_array($parameters)) {
$parameters = $this->scalarizeArray($parameters);
}
$requestBody = xmlrpc_encode_request($methodName, array_values($parameters));
$this->debugSection('Request', $url . PHP_EOL . $requestBody);
$this->client->request('POST', $url, array(), array(), array(), $requestBody);
$this->response = $this->client->getInternalResponse()->getContent();
$this->debugSection('Response', $this->response);
}
示例15: execute
protected function execute($method = 'GET', $url, $parameters = [], $files = [])
{
$this->debugSection("Request headers", $this->headers);
if ($parameters instanceof \JsonSerializable) {
$parameters = $parameters->jsonSerialize();
}
foreach ($this->headers as $header => $val) {
$header = str_replace('-', '_', strtoupper($header));
$this->client->setServerParameter("HTTP_{$header}", $val);
// Issue #1650 - Symfony BrowserKit changes HOST header to request URL
if (strtolower($header) == 'host') {
$this->client->setServerParameter("HTTP_ HOST", $val);
}
// Issue #827 - symfony foundation requires 'CONTENT_TYPE' without HTTP_
if ($this->isFunctional and $header == 'CONTENT_TYPE') {
$this->client->setServerParameter($header, $val);
}
}
// allow full url to be requested
$url = (strpos($url, '://') === false ? $this->config['url'] : '') . $url;
$this->params = $parameters;
$parameters = $this->encodeApplicationJson($method, $parameters);
if (is_array($parameters) || $method == 'GET') {
if (!empty($parameters) && $method == 'GET') {
$url .= '?' . http_build_query($parameters);
}
if ($method == 'GET') {
$this->debugSection("Request", "{$method} {$url}");
} else {
$this->debugSection("Request", "{$method} {$url} " . json_encode($parameters));
}
$this->client->request($method, $url, $parameters, $files);
} else {
$this->debugSection("Request", "{$method} {$url} " . $parameters);
$this->client->request($method, $url, [], $files, [], $parameters);
}
$this->response = (string) $this->client->getInternalResponse()->getContent();
$this->debugSection("Response", $this->response);
if (count($this->client->getInternalRequest()->getCookies())) {
$this->debugSection('Cookies', $this->client->getInternalRequest()->getCookies());
}
$this->debugSection("Headers", $this->client->getInternalResponse()->getHeaders());
$this->debugSection("Status", $this->client->getInternalResponse()->getStatus());
}