本文整理汇总了PHP中SimpleEncoding类的典型用法代码示例。如果您正苦于以下问题:PHP SimpleEncoding类的具体用法?PHP SimpleEncoding怎么用?PHP SimpleEncoding使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SimpleEncoding类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: write
/**
* Dispatches the value into the form encoded packet.
* @param SimpleEncoding $encoding Form packet.
* @access public
*/
function write($encoding)
{
$encoding->add($this->getName(), $this->getValue());
}
示例2: fetchResponse
/**
* Fetches a URL as a response object. Will keep trying if redirected.
* It will also collect authentication realm information.
* @param string/SimpleUrl $url Target to fetch.
* @param SimpleEncoding $encoding Additional parameters for request.
* @return SimpleHttpResponse Hopefully the target page.
* @access public
*/
function fetchResponse($url, $encoding)
{
if ($encoding->getMethod() != 'POST') {
$url->addRequestParameters($encoding);
$encoding->clear();
}
$response = $this->fetchWhileRedirected($url, $encoding);
if ($headers = $response->getHeaders()) {
if ($headers->isChallenge()) {
$this->authenticator->addRealm($url, $headers->getAuthentication(), $headers->getRealm());
}
}
return $response;
}
示例3: dispatchRequest
/**
* Sends the headers.
* @param SimpleSocket $socket Open socket.
* @param SimpleEncoding $encoding Content to send with request.
* @access private
*/
protected function dispatchRequest($socket, $encoding)
{
foreach ($this->headers as $header_line) {
$socket->write($header_line . "\r\n");
}
if (count($this->cookies) > 0) {
$socket->write("Cookie: " . implode(";", $this->cookies) . "\r\n");
}
$encoding->writeHeadersTo($socket);
$socket->write("\r\n");
$encoding->writeTo($socket);
}
示例4: fetch
/**
* @param SimpleUrl
* @param SimpleEncoding
* @return k_ActingAsSimpleHttpResponse
*/
protected function fetch(SimpleUrl $url, SimpleEncoding $parameters)
{
// extract primitives from SimpleTest abstractions
$url_path = $url->getPath();
$url_query = array();
parse_str(str_replace('?', '', $url->getEncodedRequest()), $url_query);
$method = $parameters->getMethod();
$data = array();
foreach ($parameters->getAll() as $pair) {
$data[$pair->getKey()] = $pair->getValue();
}
if (!in_array($url->getHost(), array("", $this->servername))) {
return new k_ActingAsSimpleHttpResponse($url, $data, array("HTTP/1.1 502"), "External URL requested: " . $url->asString(), $method);
}
// set up a mocked environment
$server = array('SERVER_NAME' => $this->servername, 'REQUEST_METHOD' => $method, 'REQUEST_URI' => $url_path);
$headers = new k_VirtualHeaders();
$this->authenticator->addHeaders($headers, $url);
foreach ($this->additional_headers as $line) {
$headers->addHeaderLine($line);
}
$socket_buffer = new k_VirtualSocketBuffer();
$parameters->writeHeadersTo($socket_buffer);
foreach ($socket_buffer->getLines() as $line) {
$headers->addHeaderLine($line);
}
$superglobals = new k_adapter_MockGlobalsAccess($url_query, $data, $server, $headers->headers());
$response = k()->setContext(new k_HttpRequest("", null, $this->identity_loader, $this->language_loader, $this->translator_loader, $superglobals, $this->cookie_access, $this->session_access))->setComponentCreator($this->components)->setCharsetStrategy($this->charset_strategy)->run($this->root_class_name);
$output = new k_SimpleOutputAccess();
$response->out($output);
return $output->toSimpleHttpResponse($url, $data, $method);
}
示例5:
/**
* Starts empty.
* @param array $query Hash of parameters.
* Multiple values are
* as lists on a single key.
* @access public
*/
function __construct($query = false)
{
if (is_array($query) and $this->hasMoreThanOneLevel($query)) {
$query = $this->rewriteArrayWithMultipleLevels($query);
}
parent::__construct($query);
}
示例6: encode
/**
* Renders the request body
* @return Encoded entity body
* @access protected
*/
protected function encode()
{
return $this->body ? $this->body : parent::encode();
}
示例7:
/**
* Starts empty.
* @param array $query Hash of parameters.
* Multiple values are
* as lists on a single key.
* @access public
*/
function __construct($query = false)
{
parent::__construct($query);
}