mirror of
https://github.com/flarum/framework.git
synced 2025-05-21 22:36:01 +08:00

- An API action handles a Flarum\Api\Request, which is a simple object containing an array of params, the actor, and optionally an HTTP request object - Most API actions use SerializeAction as a base, which parses request input according to the JSON-API spec (creates a JsonApiRequest object), runs the child class method to get data, then serializes it and assigns it to a JsonApiResponse (standard HTTP response with a Tobscure\JsonApi\Document as content) - The JSON-API request input parsing is subject to restrictions as defined by public static properties on the action (i.e. extensible) - Also the actor is given to the serializer instance now, instead of being a static property
26 lines
540 B
PHP
26 lines
540 B
PHP
<?php namespace Flarum\Api;
|
|
|
|
use Flarum\Support\Actor;
|
|
use Illuminate\Http\Request as IlluminateRequest;
|
|
|
|
class Request
|
|
{
|
|
public $input;
|
|
|
|
public $actor;
|
|
|
|
public $httpRequest;
|
|
|
|
public function __construct(array $input, Actor $actor, IlluminateRequest $httpRequest = null)
|
|
{
|
|
$this->input = $input;
|
|
$this->actor = $actor;
|
|
$this->httpRequest = $httpRequest;
|
|
}
|
|
|
|
public function get($key, $default = null)
|
|
{
|
|
return isset($this->input[$key]) ? $this->input[$key] : $default;
|
|
}
|
|
}
|