ApiOpenStudio PHPDoc

File extends OutputResponse
in package
Uses ConvertToFileTrait, DetectTypeTrait

Class File

Outputs the results as a file in the response.

Table of Contents

$id  : mixed
Processor ID.
$status  : mixed
The HTTP output status.
$data  : DataContainer
The output data.
$details  : array<string|int, mixed>
{@inheritDoc}
$header  : string
Content-type header value.
$logger  : MonologWrapper
Logger object.
$meta  : array<string|int, mixed>
Metadata for the processor.
$request  : Request
All the request details.
__construct()  : mixed
details()  : array<string|int, mixed>
Return details for processor.
detectType()  : string
Detect the type of data that is input .
fromArrayToFile()  : bool
Convert array to file.
fromBooleanToFile()  : bool
Convert boolean to file.
fromFileToFile()  : bool
Convert file to file.
fromFloatToFile()  : bool
Convert float to file.
fromHtmlToFile()  : bool
Convert HTML to file.
fromImageToFile()  : bool
Convert image to file.
fromIntegerToFile()  : bool
Convert integer to file.
fromJsonToFile()  : bool
Convert JSON to file.
fromTextToFile()  : bool
Convert text to file.
fromUndefinedToFile()  : null
Convert undefined to file.
fromXmlToFile()  : bool
Convert XML to file.
isArray()  : bool
Validate a variable is an array.
isBool()  : bool
Validate a variable is boolean.
isEmpty()  : bool
Validate a variable is empty.
isFloat()  : bool
Validate a variable is float.
isHtml()  : bool
Validate a variable is HTML.
isInt()  : bool
Validate a variable is integer.
isJson()  : bool
Validate a variable is JSON.
isXml()  : bool
Validate a variable is XML.
process()  : mixed
Main processor function.
setHeader()  : void
Set the response headers.
setResponseCode()  : void
Set the HTML response code.
val()  : mixed|DataContainer
Process a variable into a final result for the processor.
castData()  : void
Cast the data to text.
isDataContainer()  : bool
Validate if a set of data is wrapped in a DataContainer object.
validateAllowedTypes()  : void
Validate an input for allowed variable types
validateAllowedValues()  : void
Validate an input for allowed values.

Properties

$id

Processor ID.

public mixed $id = ''

Processor ID.

$status

The HTTP output status.

public mixed $status

The output status.

$details

{@inheritDoc}

protected array<string|int, mixed> $details = [ 'name' => 'File', 'machineName' => 'file', // phpcs:ignore 'description' => 'Output the results of the resource in file format in the response. This does not need to be added to the resource - it will be automatically detected by the Accept header.', 'menu' => 'Output', 'input' => [], ]

Details of the processor.

$header

Content-type header value.

protected string $header = 'Content-Type: application/octet-stream'

The string to contain the content type header value.

$meta

Metadata for the processor.

protected array<string|int, mixed> $meta

$request

All the request details.

protected Request $request

Request.

Methods

__construct()

public __construct(array<string|int, mixed> &$meta, Request &$request[, MonologWrapper|null $logger = null ]) : mixed
Parameters
$meta : array<string|int, mixed>

Metadata for the processor.

$request : Request

The full request object.

$logger : MonologWrapper|null = null

The logger.

Return values
mixed

details()

Return details for processor.

public details() : array<string|int, mixed>
Return values
array<string|int, mixed>

detectType()

Detect the type of data that is input .

public detectType(mixed $data) : string
Parameters
$data : mixed

Data to test.

Return values
string

The data type.

fromArrayToFile()

Convert array to file.

public fromArrayToFile( $data) : bool
Parameters
$data :
Tags
throws
ApiException
Return values
bool

fromBooleanToFile()

Convert boolean to file.

public fromBooleanToFile( $data) : bool
Parameters
$data :
Return values
bool

fromFileToFile()

Convert file to file.

public fromFileToFile( $data) : bool
Parameters
$data :
Return values
bool

fromFloatToFile()

Convert float to file.

public fromFloatToFile( $data) : bool
Parameters
$data :
Return values
bool

fromHtmlToFile()

Convert HTML to file.

public fromHtmlToFile( $data) : bool
Parameters
$data :
Return values
bool

fromImageToFile()

Convert image to file.

public fromImageToFile( $data) : bool
Parameters
$data :
Return values
bool

fromIntegerToFile()

Convert integer to file.

public fromIntegerToFile( $data) : bool
Parameters
$data :
Return values
bool

fromJsonToFile()

Convert JSON to file.

public fromJsonToFile( $data) : bool
Parameters
$data :
Return values
bool

fromTextToFile()

Convert text to file.

public fromTextToFile( $data) : bool
Parameters
$data :
Return values
bool

fromUndefinedToFile()

Convert undefined to file.

public fromUndefinedToFile( $data) : null
Parameters
$data :
Return values
null

fromXmlToFile()

Convert XML to file.

public fromXmlToFile( $data) : bool
Parameters
$data :
Return values
bool

isArray()

Validate a variable is an array.

public isArray(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

isBool()

Validate a variable is boolean.

public isBool(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

isEmpty()

Validate a variable is empty.

public isEmpty(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

isFloat()

Validate a variable is float.

public isFloat(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

isHtml()

Validate a variable is HTML.

public isHtml(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

isInt()

Validate a variable is integer.

public isInt(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

isJson()

Validate a variable is JSON.

public isJson(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

isXml()

Validate a variable is XML.

public isXml(mixed $var) : bool
Parameters
$var : mixed

Variable to test.

Return values
bool

process()

Main processor function.

public process() : mixed

This is where the magic happens, and should be overridden by all derived classes.

Fetches and process the processor described in the metadata. It is also the 1st stop to recursive processing of processors, so the place validate user credentials.

Tags
throws
ApiException
Return values
mixed

setHeader()

Set the response headers.

public setHeader() : void
Tags
throws
ApiException
Return values
void

setResponseCode()

Set the HTML response code.

public setResponseCode() : void
Return values
void

val()

Process a variable into a final result for the processor.

public val(string $key[, bool|null $rawData = false ]) : mixed|DataContainer

This method can be used to process a value in its meta to return a final result that it can use. If the object is a processor, then it will process that down to a final return value, or if the obj is a simple value, then it will return that. Anything else will return an error object.

Setting $realValue to true will force the value to be the actual value, rather than a potential dataContainer.

Parameters
$key : string

The key for the input variable in the meta.

$rawData : bool|null = false

Return the raw data or a DataContainer.

Tags
throws
ApiException

Invalid key or data.

Return values
mixed|DataContainer

castData()

Cast the data to text.

protected castData() : void
Tags
throws
ApiException

Throw an exception if unable to convert the data.

Return values
void

isDataContainer()

Validate if a set of data is wrapped in a DataContainer object.

protected isDataContainer(mixed $data) : bool
Parameters
$data : mixed

DataContainer or raw data.

Return values
bool

validateAllowedTypes()

Validate an input for allowed variable types

private validateAllowedTypes(string $type, array<string|int, mixed> $limitTypes, int $min, string $key) : void
Parameters
$type : string

Input value type.

$limitTypes : array<string|int, mixed>

List of limit on variable types.

$min : int

Minimum number of values.

$key : string

The key of the input being validated.

Tags
throws
ApiException

Invalid data type.

Return values
void

validateAllowedValues()

Validate an input for allowed values.

private validateAllowedValues(mixed $val, array<string|int, mixed> $limitValues, int $min, string $key) : void
Parameters
$val : mixed

Input value.

$limitValues : array<string|int, mixed>

List of allowed values.

$min : int

Minimum number of values.

$key : string

The key of the input being validated.

Tags
throws
ApiException

Invalid value.

Return values
void

Search results