PHP 클래스 Aerys\Root

상속: implements SplObserver
파일 보기 프로젝트 열기: amphp/aerys

공개 메소드들

메소드 설명
__construct ( string $root, Amp\File\Driver $filesystem = null )
__invoke ( aerys\Request $request, aerys\Response $response ) Respond to HTTP requests for filesystem resources
removeDotPathSegments ( string $path ) : string Normalize paths with relative dot segments in their path
setOption ( string $option, mixed $value ) Set a document root option
update ( Server $server ) : Amp\Promise Receive notifications from the server when it starts/stops

비공개 메소드들

메소드 설명
assignCommonHeaders ( $fileInfo, aerys\Response $response )
checkPreconditions ( aerys\Request $request, integer $mtime, string $etag )
coalesceIndexPath ( string $dirPath ) : Generator
doNonRangeResponse ( $fileInfo, aerys\Response $response )
doRangeResponse ( $range, $fileInfo, aerys\Response $response )
fetchCachedStat ( string $reqPath, aerys\Request $request )
finalizeResponse ( aerys\Response $response, $fileInfo, $range = null ) : Generator
loadMimeFileTypes ( string $mimeFile )
lookup ( string $path ) : Generator
normalizeByteRanges ( integer $size, string $rawRanges )
respond ( $fileInfo, aerys\Request $request, aerys\Response $response )
respondWithLookup ( string $realPath, string $reqPath, aerys\Request $request, aerys\Response $response ) : Generator
selectMimeTypeFromPath ( string $path ) : string
sendMultiRange ( $handle, aerys\Response $response, $fileInfo, $range ) : Generator
sendNonRange ( Amp\File\Handle $handle, aerys\Response $response ) : Generator
sendSingleRange ( Amp\File\Handle $handle, aerys\Response $response, integer $startPos, integer $endPos ) : Generator
setAggressiveCacheMultiplier ( float $multiplier )
setBufferedFileMaxCount ( integer $count )
setBufferedFileMaxSize ( integer $bytes )
setCacheEntryMaxCount ( integer $count )
setCacheEntryTtl ( integer $seconds )
setDefaultMimeType ( string $mimeType )
setDefaultTextCharset ( string $charset )
setExpiresPeriod ( integer $seconds )
setIndexes ( $indexes )
setMimeTypes ( array $mimeTypes )
setUseAggressiveCacheHeaders ( boolean $bool )
setUseEtagInode ( boolean $useInode )
shouldBufferContent ( $fileInfo )

메소드 상세

__construct() 공개 메소드

public __construct ( string $root, Amp\File\Driver $filesystem = null )
$root string Document root
$filesystem Amp\File\Driver Optional filesystem driver

__invoke() 공개 메소드

Respond to HTTP requests for filesystem resources
public __invoke ( aerys\Request $request, aerys\Response $response )
$request aerys\Request
$response aerys\Response

removeDotPathSegments() 공개 정적인 메소드

This functionality is critical to avoid malicious URIs attempting to traverse the document root above the allowed base path.
public static removeDotPathSegments ( string $path ) : string
$path string
리턴 string

setOption() 공개 메소드

Set a document root option
public setOption ( string $option, mixed $value )
$option string The option key (case-insensitve)
$value mixed The option value to assign

update() 공개 메소드

Receive notifications from the server when it starts/stops
public update ( Server $server ) : Amp\Promise
$server Server
리턴 Amp\Promise