Projekt

Obecné

Profil

Stáhnout (2.98 KB) Statistiky
| Větev: | Tag: | Revize:
74a7dbca Michal Kliment
<?php

/*
* This file is a part of PHP-HTTP-Auth-server library, released under terms
* of GPL-3.0 licence. Copyright (c) 2014, UnArt Slavičín, o.s. All rights
* reserved.
*/

namespace phphttpauthserver;

/**
* Reprezentation of authentification response that can be used for creating
* responses to client requests with HTTP digest auth.
*
* @author Ondřej Fibich
*/
class HttpAuthResponse {

/**
* User pass HTTP auth? If he does than no errors or headers are returned
* from their getters.
*
* @var boolean
*/
private $passed = TRUE;
/**
* Username of auth user.
*
* @var string
*/
private $username = NULL;
/**
* List of response headers as asociative array.
*
* @var array
*/
private $headers = array();
/**
* List of response error messages.
*
* @var array
*/
private $errors = array();
/**
* Get user pass HTTP auth flag.
*
* @return boolean
*/
public function isPassed() {
return $this->passed;
}
/**
* Set user pass HTTP auth flag.
*
* @param boolean $passed
* @return HttpAuthResponse chainable reference
* @throws \InvalidArgumentException if cannot be changed
*/
public function setPassed($passed) {
if (!$this->passed && !empty($this->errors) && $passed) {
throw new \InvalidArgumentException('errors occured');
}
$this->passed = $passed;
return $this;
}
/**
* Gets username of auth user.
*
* @return string
*/
public function getUsername() {
return $this->username;
}

/**
* Sets username of auth user.
*
* @param string $username
* @return HttpAuthResponse chainable reference
*/
public function setUsername($username) {
$this->username = $username;
return $this;
}
/**
* Adds error message and set user pass HTTP digest auth flag to FALSE.
*
* @param string $message error message
* @return HttpAuthResponse chainable reference
*/
public function addError($message) {
$this->errors[] = $message;
$this->passed = FALSE;
return $this;
}
/**
* Add or replace response error header.
*
* @param string $key header key
* @param string $value header value
* @return HttpAuthResponse chainable reference
*/
public function addHeader($key, $value) {
$this->headers[$key] = $value;
return $this;
}
/**
* Gets all error messages if user pass HTTP auth flag is set to FALSE.
*
* @return array|null
*/
public function getErrors() {
if ($this->passed) {
return NULL;
}
return $this->errors;
}
/**
* Gets all HTTP headers.
*
* @return array|null
*/
public function getHeaders() {
return $this->headers;
}
}