private function getHeader(ConfigObject $annotations)
    {
        // headers status code depends on the request method type, unless it's forced on the class or method
        $successStatus = $annotations->get('header.status.success', false);
        if (!$successStatus) {
            $successStatus = $this->classDefaults->get('header.status.success', false);

            if (!$successStatus) {
                $method = strtolower($annotations->get('method', $this->classDefaults->get('method', 'get')));
                if ($method == 'post') {
                    $successStatus = 201;
                } else {
                    $successStatus = 200;
                }
            }
        }

        return [
            'cache'  => [
                'expires' => $annotations->get('header.cache.expires',
                    $this->classDefaults->get('header.cache.expires', 0))
            ],
            'status' => [
                'success'      => $successStatus,
                'error'        => $annotations->get('header.status.error',
                    $this->classDefaults->get('header.status.error', 404)),
                'errorMessage' => $annotations->get('header.status.errorMessage',
                    $this->classDefaults->get('header.status.errorMessage', ''))
            ]
        ];
    }