edde-framework/edde-framework

View on GitHub
src/Edde/Api/Http/IHeaderList.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
    declare(strict_types=1);

    namespace Edde\Api\Http;

    use Edde\Api\Collection\IList;

    /**
     * Explicit interface for http header list; missing array access interface is intentional.
     */
    interface IHeaderList extends IList {
        /**
         * return content type from header
         *
         * @return IContentType|null
         */
        public function getContentType();

        /**
         * return user agent
         *
         * @param string $default
         *
         * @return string
         */
        public function getUserAgent(string $default = null);

        /**
         * return an ordered array of accepted mime types
         *
         * @return array
         */
        public function getAcceptList(): array;

        /**
         * return propritized language from the current header set or default one
         *
         * @param string $default
         *
         * @return string
         */
        public function getAcceptLanguage(string $default): string;

        /**
         * return an ordered array of accept-lang
         *
         * @param string $default
         *
         * @return array
         */
        public function getAccpetLanguageList(string $default): array;

        /**
         * return preffered charset
         *
         * @param string $default
         *
         * @return string
         */
        public function getAcceptCharset(string $default): string;

        /**
         * return an odered list of accept charsets
         *
         * @param string $default
         *
         * @return array
         */
        public function getAcceptCharsetList(string $default): array;

        /**
         * return array of "compiled" headers
         *
         * @return array
         */
        public function headers(): array;
    }