Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe SimplePie_HTTP_Parser

Liste de tous les membres

Fonctions membres publiques

 SimplePie_HTTP_Parser ($data)
 parse ()
 has_data ()
 is_linear_whitespace ()
 http_version ()
 status ()
 reason ()
 new_line ()
 name ()
 linear_whitespace ()
 value ()
 value_char ()
 quote ()
 quote_char ()
 quote_escaped ()
 body ()

Attributs publics

 $http_version = 0.0
 $status_code = 0
 $reason = ''
 $headers = array()
 $body = ''
 $state = 'http_version'
 $data = ''
 $data_length = 0
 $position = 0
 $name = ''
 $value = ''

Description détaillée

Définition à la ligne 7871 du fichier simplepie.php.


Documentation des fonctions membres

SimplePie_HTTP_Parser::body ( )

Parse the body

private

Définition à la ligne 8289 du fichier simplepie.php.

Référencé par parse().

{
$this->body = substr($this->data, $this->position);
$this->state = 'emit';
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::has_data ( )

Check whether there is data beyond the pointer

private

Renvoie:
bool true if there is further data, false if not

Définition à la ligne 8008 du fichier simplepie.php.

Références $data_length.

Référencé par linear_whitespace(), et parse().

{
return (bool) ($this->position < $this->data_length);
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::http_version ( )

Parse the HTTP version

private

Définition à la ligne 8033 du fichier simplepie.php.

Référencé par parse().

{
if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
{
$len = strspn($this->data, '0123456789.', 5);
$this->http_version = substr($this->data, 5, $len);
$this->position += 5 + $len;
if (substr_count($this->http_version, '.') <= 1)
{
$this->http_version = (float) $this->http_version;
$this->position += strspn($this->data, "\x09\x20", $this->position);
$this->state = 'status';
}
else
{
$this->state = false;
}
}
else
{
$this->state = false;
}
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::is_linear_whitespace ( )

See if the next character is LWS

private

Renvoie:
bool true if the next character is LWS, false if not

Définition à la ligne 8019 du fichier simplepie.php.

Références $position.

Référencé par linear_whitespace(), quote(), et value().

{
return (bool) ($this->data[$this->position] === "\x09"
|| $this->data[$this->position] === "\x20"
|| ($this->data[$this->position] === "\x0A"
&& isset($this->data[$this->position + 1])
&& ($this->data[$this->position + 1] === "\x09" || $this->data[$this->position + 1] === "\x20")));
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::linear_whitespace ( )

Parse LWS, replacing consecutive LWS characters with a single space

private

Définition à la ligne 8160 du fichier simplepie.php.

Références has_data(), is_linear_whitespace(), et value().

Référencé par quote(), et value().

{
do
{
if (substr($this->data, $this->position, 2) === "\x0D\x0A")
{
$this->position += 2;
}
elseif ($this->data[$this->position] === "\x0A")
{
$this->position++;
}
$this->position += strspn($this->data, "\x09\x20", $this->position);
} while ($this->has_data() && $this->is_linear_whitespace());
$this->value .= "\x20";
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::name ( )

Parse a header name

private

Définition à la ligne 8132 du fichier simplepie.php.

Référencé par new_line().

{
$len = strcspn($this->data, "\x0A:", $this->position);
if (isset($this->data[$this->position + $len]))
{
if ($this->data[$this->position + $len] === "\x0A")
{
$this->position += $len;
$this->state = 'new_line';
}
else
{
$this->name = substr($this->data, $this->position, $len);
$this->position += $len + 1;
$this->state = 'value';
}
}
else
{
$this->state = false;
}
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::new_line ( )

Deal with a new line, shifting data around as needed

private

Définition à la ligne 8094 du fichier simplepie.php.

Références $name, $value, name(), et value().

{
$this->value = trim($this->value, "\x0D\x20");
if ($this->name !== '' && $this->value !== '')
{
$this->name = strtolower($this->name);
if (isset($this->headers[$this->name]))
{
$this->headers[$this->name] .= ', ' . $this->value;
}
else
{
$this->headers[$this->name] = $this->value;
}
}
$this->name = '';
$this->value = '';
if (substr($this->data[$this->position], 0, 2) === "\x0D\x0A")
{
$this->position += 2;
$this->state = 'body';
}
elseif ($this->data[$this->position] === "\x0A")
{
$this->position++;
$this->state = 'body';
}
else
{
$this->state = 'name';
}
}

+ Voici le graphe d'appel pour cette fonction :

SimplePie_HTTP_Parser::parse ( )

Parse the input data

public

Renvoie:
bool true on success, false on failure

Définition à la ligne 7979 du fichier simplepie.php.

Références $state, body(), has_data(), http_version(), et reason().

{
while ($this->state && $this->state !== 'emit' && $this->has_data())
{
$this->$state();
}
$this->data = '';
if ($this->state === 'emit' || $this->state === 'body')
{
return true;
}
else
{
$this->http_version = '';
$this->status_code = '';
$this->reason = '';
$this->headers = array();
$this->body = '';
return false;
}
}

+ Voici le graphe d'appel pour cette fonction :

SimplePie_HTTP_Parser::quote ( )

See what state to move to while within quoted header values

private

Définition à la ligne 8227 du fichier simplepie.php.

Références is_linear_whitespace(), et linear_whitespace().

{
if ($this->is_linear_whitespace())
{
}
else
{
switch ($this->data[$this->position])
{
case '"':
$this->position++;
$this->state = 'value';
break;
case "\x0A":
$this->position++;
$this->state = 'new_line';
break;
case '\\':
$this->position++;
$this->state = 'quote_escaped';
break;
default:
$this->state = 'quote_char';
break;
}
}
}

+ Voici le graphe d'appel pour cette fonction :

SimplePie_HTTP_Parser::quote_char ( )

Parse a header value while within quotes

private

Définition à la ligne 8264 du fichier simplepie.php.

Références value().

{
$len = strcspn($this->data, "\x09\x20\x0A\"\\", $this->position);
$this->value .= substr($this->data, $this->position, $len);
$this->position += $len;
$this->state = 'value';
}

+ Voici le graphe d'appel pour cette fonction :

SimplePie_HTTP_Parser::quote_escaped ( )

Parse an escaped character within quotes

private

Définition à la ligne 8277 du fichier simplepie.php.

Références $position, et value().

{
$this->value .= $this->data[$this->position];
$this->position++;
$this->state = 'quote';
}

+ Voici le graphe d'appel pour cette fonction :

SimplePie_HTTP_Parser::reason ( )

Parse the reason phrase

private

Définition à la ligne 8081 du fichier simplepie.php.

Référencé par parse().

{
$len = strcspn($this->data, "\x0A", $this->position);
$this->reason = trim(substr($this->data, $this->position, $len), "\x09\x0D\x20");
$this->position += $len + 1;
$this->state = 'new_line';
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::SimplePie_HTTP_Parser (   $data)

Create an instance of the class with the input data

public

Paramètres:
string$dataInput data

Définition à la ligne 7967 du fichier simplepie.php.

Références $data.

{
$this->data = $data;
$this->data_length = strlen($this->data);
}
SimplePie_HTTP_Parser::status ( )

Parse the status code

private

Définition à la ligne 8062 du fichier simplepie.php.

{
if ($len = strspn($this->data, '0123456789', $this->position))
{
$this->status_code = (int) substr($this->data, $this->position, $len);
$this->position += $len;
$this->state = 'reason';
}
else
{
$this->state = false;
}
}
SimplePie_HTTP_Parser::value ( )

See what state to move to while within non-quoted header values

private

Définition à la ligne 8182 du fichier simplepie.php.

Références is_linear_whitespace(), et linear_whitespace().

Référencé par linear_whitespace(), new_line(), quote_char(), quote_escaped(), et value_char().

{
if ($this->is_linear_whitespace())
{
}
else
{
switch ($this->data[$this->position])
{
case '"':
$this->position++;
$this->state = 'quote';
break;
case "\x0A":
$this->position++;
$this->state = 'new_line';
break;
default:
$this->state = 'value_char';
break;
}
}
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

SimplePie_HTTP_Parser::value_char ( )

Parse a header value while outside quotes

private

Définition à la ligne 8214 du fichier simplepie.php.

Références value().

{
$len = strcspn($this->data, "\x09\x20\x0A\"", $this->position);
$this->value .= substr($this->data, $this->position, $len);
$this->position += $len;
$this->state = 'value';
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des données membres

SimplePie_HTTP_Parser::$body = ''

Définition à la ligne 7911 du fichier simplepie.php.

SimplePie_HTTP_Parser::$data = ''

Définition à la ligne 7927 du fichier simplepie.php.

Référencé par SimplePie_HTTP_Parser().

SimplePie_HTTP_Parser::$data_length = 0

Définition à la ligne 7935 du fichier simplepie.php.

Référencé par has_data().

SimplePie_HTTP_Parser::$headers = array()

Définition à la ligne 7903 du fichier simplepie.php.

SimplePie_HTTP_Parser::$http_version = 0.0

Définition à la ligne 7879 du fichier simplepie.php.

SimplePie_HTTP_Parser::$name = ''

Définition à la ligne 7951 du fichier simplepie.php.

Référencé par new_line().

SimplePie_HTTP_Parser::$position = 0

Définition à la ligne 7943 du fichier simplepie.php.

Référencé par is_linear_whitespace(), et quote_escaped().

SimplePie_HTTP_Parser::$reason = ''

Définition à la ligne 7895 du fichier simplepie.php.

SimplePie_HTTP_Parser::$state = 'http_version'

Définition à la ligne 7919 du fichier simplepie.php.

Référencé par parse().

SimplePie_HTTP_Parser::$status_code = 0

Définition à la ligne 7887 du fichier simplepie.php.

SimplePie_HTTP_Parser::$value = ''

Définition à la ligne 7959 du fichier simplepie.php.

Référencé par new_line().


La documentation de cette classe a été générée à partir du fichier suivant :