sopheos / pebble_http
Request / Response library
Installs: 286
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/sopheos/pebble_http
Requires
- php: >=8.1.0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Couche d'abstraction pour PHP pour analyser des requetes HTTP et créer des réponse HTTP.
Request
Pebble\Http\Request Récupération de données d'une requète HTTP.
Données du serveur
servers(): arrayRetourne un tableau des paramètres serveur ($_SERVER).server(string $name)Retourne un paramètre serveur.time(): intRetourne l'horodatage en secondes de la requète.mtime(): floatRetourne l'horodatage en secondes de la requète avec une précision à la microseconde.
Méthode HTTP
method(): string Retourne la méthode HTTP de la requète (CLI, GET, POST, DELETE, ...).
isGet(): bool Retourne vrai pour une requète HTTP GET.
isPost(): bool Retourne vrai pour une requète HTTP POST.
isPut(): bool Retourne vrai pour une requète HTTP PUT.
isPatch(): bool Retourne vrai pour une requète HTTP PATCH.
isDelete(): bool Retourne vrai pour une requète HTTP DELETE.
isClient(): bool Retourne vrai pour une requète depuis la ligne de commande.
isAjax(): bool Retourne vrai pour une requète AJAX.
isSecure(): bool Returne vrai pour une requète HTTPS.
uri(): string Retourne l'URI demandée par la requète.
Cookies
cookies()Returne un tableau des cookies.cookie(string $name)Returne la valeur d'un cookie.
Données de la requète
queryParams(): arrayReturne un tableau des paramètres de la requête.queryParam(string $name)Returne la valeur d'un paramètre de la donnée.bodyParams(): arrayReturne un tableau des données du corps de la requète d'un formulaire ou JSON.bodyParam(string $name)Returne la valeur d'une donnée du corps de la requète d'un formulaire ou JSON.attachements(): arrayRetourne un tableau des données des fichiers envoyés. Indexé par le nom du champ.attachement(string $name): arrayRetourne les données d'un fichier envoyé.
Client
userAgent(): stringReturns the user agent.ip(): stringReturns the IP Address.
Response
Pebble\Http\Response Créer une réponse HTTP.
reset(): mixedRéinitialise la réponse.
HTTP status
setProtocolVersion(): stringDéfinit la version du protocole HTTP. Par défaut utilise celui de la requète.setStatusCode(int $code, ?string $reason = null): staticDéfinit le status HTTP de la réponse. Si la raison est nulle, une valeur par défaut correspondant au code HTTP sera utilisée.
HTTP headers
addHeader(string $name, string $value): staticAjoute une entête HTTP.removeHeader(string $name): staticSupprimer une entête HTTP.setContentType(string $mime, string $charset = "UTF-8"): staticDéfinit le type.$res->setContentType('jpg'); // shortcurt $res->setContentType('image/jpeg'); // verbose
addCookie(string $name, $value, int $expire = 0, $settings = []): staticAjoute un cookie.removeCookie(string $name): staticSupprime un cookie.redirect(string $url = "/", bool $temporary = true): staticRedirection HTTP.cache(int $age = 86400): staticRaccourcis pour configurer le cache HTTP.noCache(): staticDésactive le cache HTTP.cors(?string $origin = null, ?string $method = null): staticActive les CORS.
Http body
setBody(Pebble\Http\Stream|string $body = ""): staticAjoute un contenu a la réponse.setText(string $data = ''): staticConvertit une chaîne en text/plain.setJson(mixed $data = null): staticConvertit une donnée en application/json.setJsonException(ResponseException $ex): staticConvertit une ResponseException en application/json.
Rendering
emitHeaders() Envoi les entêtes au navigateur.
emitBody(int $bufferLength = 0) Envoi le contenu au navigateur.
emit(int $bufferLength = 0) Envoi entête et contenu au navigateur.
Session
Pebble\Http\Session Couche d'abstraction pour manipuler les sessions.
__construct(\SessionHandlerInterface $handler = NULL)Le constructeur accepte un gestionnaire de session optionnel (memcache, db, etc).start(): staticDémarre une session.close(): staticEcrit et ferme la session.destroy(): staticDétruit une session.reset(): staticSupprime toutes les variables sessions.all()Retourne toutes les données.has(string $name): boolRetourne si une donnée existe en session.get(string $name, $default = null): mixedRécupère la valeur d'une session.set(string $name, mixed $value): staticAjoute une donnée à la session.
Flash data
Une donnée flash existe jusqu'a la prochaine requete (a moins de la re-marqué en flash).
setFlash(string $name, $value): staticmarkFlash(string $name): staticunmarkFlash(string $name): static
Temp data
Une donnée temporaire existe une certaine durée.
setTemp($name, $value, $time = 300)markTemp(string $name, int $time = 300)unmarkTemp(string $name)
Exceptions
Utilisés pour gérer globalement les erreurs des réponses HTTP.
ResponseException
Hérite de Exception et implémente JsonSerializable.
setErrors(array $errors): static : Configure les erreurs
addError(string $key, mixed $value): static : Ajoute une erreur.
setExtra(array $extra): static : Configure des données additionnelles.
addExtra(string $key, mixed $value): static : Ajoute une donnée additionnelle.
Liste des exceptions
Héritent de ResponseException
AccessException: Informations d'authentification non valides (Statut 401).ForbiddenException: Accès interdit (Statut 403).EmptyException: Ressource introuvable (Statut 404).LockException: Ressource verrouillée. (Statut 423).UserException: Erreur provenant de l'utilisateur. Erreur de validation par exemple (Statut 400).SystemException: Erreur d'execution. Telle une panne. (Statut 500).