public function headers($name, $value = null, $replace = true) {
        $headers = static::splitHeaders($name, $value);

        if (is_string($headers)) {
            return val($headers, $this->headers);
        }

        foreach ($headers as $name => $value) {
            if ($replace || !isset($this->headers[$name])) {
                $this->headers[$name] = $value;
            } else {
                $this->headers[$name] = array_merge((array)$this->headers, [$value]);
            }
        }
        return $this;
    }
public function headers($name, $value = null, $replace = true) {
        $headers = static::splitHeaders($name, $value);

        if (is_string($headers)) {
            return val($headers, $this->headers);
        }

        foreach ($headers as $name => $value) {
            if ($replace || !isset($this->headers[$name])) {
                $this->headers[$name] = $value;
            } else {
                $this->headers[$name] = array_merge((array)$this->headers, [$value]);
            }
        }
        return $this;
    }
public function headers ( $ name , $ value = null , $ replace = true ) { $ headers = static :: splitHeaders ( $ name , $ value ) ; if ( is_string ( $ headers ) ) { return val ( $ headers , $ this -> headers ) ; } foreach ( $ headers as $ name => $ value ) { if ( $ replace || ! isset ( $ this -> headers [ $ name ] ) ) { $ this -> headers [ $ name ] = $ value ; } else { $ this -> headers [ $ name ] = array_merge ( ( array ) $ this -> headers , [ $ value ] ) ; } } return $ this ; }
Gets or sets headers.

@param string|array $name The name of the header or an array of headers.
@param string|null $value A new value for the header or null to get the current header.
@param bool $replace Whether or not to replace the current header or append.
@return Response|string Returns the value of the header or `$this` for fluent calls.
Gets or sets headers .