33 lines
611 B
PHP
33 lines
611 B
PHP
<?php declare(strict_types = 1);
|
|
/**
|
|
* Abstract output class for HTTP headers.
|
|
*
|
|
* @package query-monitor
|
|
*/
|
|
|
|
abstract class QM_Output_Headers extends QM_Output {
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
public function output() {
|
|
|
|
$id = $this->collector->id;
|
|
|
|
foreach ( $this->get_output() as $key => $value ) {
|
|
if ( ! is_scalar( $value ) ) {
|
|
$value = json_encode( $value );
|
|
}
|
|
|
|
# Remove illegal characters (Header may not contain NUL bytes)
|
|
if ( is_string( $value ) ) {
|
|
$value = str_replace( chr( 0 ), '', $value );
|
|
}
|
|
|
|
header( sprintf( 'X-QM-%s-%s: %s', $id, $key, $value ) );
|
|
}
|
|
|
|
}
|
|
|
|
}
|