|
@@ -0,0 +1,232 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+return [
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Standards Tree
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Versioning an API with Dingo revolves around content negotiation and
|
|
|
+ | custom MIME types. A custom type will belong to one of three
|
|
|
+ | standards trees, the Vendor tree (vnd), the Personal tree
|
|
|
+ | (prs), and the Unregistered tree (x).
|
|
|
+ |
|
|
|
+ | By default the Unregistered tree (x) is used, however, should you wish
|
|
|
+ | to you can register your type with the IANA. For more details:
|
|
|
+ | https://tools.ietf.org/html/rfc6838
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'standardsTree' => env('API_STANDARDS_TREE', 'x'),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | API Subtype
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Your subtype will follow the standards tree you use when used in the
|
|
|
+ | "Accept" header to negotiate the content type and version.
|
|
|
+ |
|
|
|
+ | For example: Accept: application/x.SUBTYPE.v1+json
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'subtype' => env('API_SUBTYPE', ''),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Default API Version
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | This is the default version when strict mode is disabled and your API
|
|
|
+ | is accessed via a web browser. It's also used as the default version
|
|
|
+ | when generating your APIs documentation.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'version' => env('API_VERSION', 'v1'),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Default API Prefix
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | A default prefix to use for your API routes so you don't have to
|
|
|
+ | specify it for each group.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'prefix' => env('API_PREFIX', '/'),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Default API Domain
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | A default domain to use for your API routes so you don't have to
|
|
|
+ | specify it for each group.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'domain' => env('API_DOMAIN', null),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Name
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | When documenting your API using the API Blueprint syntax you can
|
|
|
+ | configure a default name to avoid having to manually specify
|
|
|
+ | one when using the command.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'name' => env('API_NAME', null),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Conditional Requests
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Globally enable conditional requests so that an ETag header is added to
|
|
|
+ | any successful response. Subsequent requests will perform a check and
|
|
|
+ | will return a 304 Not Modified. This can also be enabled or disabled
|
|
|
+ | on certain groups or routes.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'conditionalRequest' => env('API_CONDITIONAL_REQUEST', true),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Strict Mode
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Enabling strict mode will require clients to send a valid Accept header
|
|
|
+ | with every request. This also voids the default API version, meaning
|
|
|
+ | your API will not be browsable via a web browser.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'strict' => env('API_STRICT', false),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Debug Mode
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Enabling debug mode will result in error responses caused by thrown
|
|
|
+ | exceptions to have a "debug" key that will be populated with
|
|
|
+ | more detailed information on the exception.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'debug' => env('API_DEBUG', true),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Generic Error Format
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | When some HTTP exceptions are not caught and dealt with the API will
|
|
|
+ | generate a generic error response in the format provided. Any
|
|
|
+ | keys that aren't replaced with corresponding values will be
|
|
|
+ | removed from the final response.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'errorFormat' => [
|
|
|
+ 'message' => ':message',
|
|
|
+ 'errors' => ':errors',
|
|
|
+ 'code' => ':code',
|
|
|
+ 'status_code' => ':status_code',
|
|
|
+ 'debug' => ':debug',
|
|
|
+ ],
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | API Middleware
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Middleware that will be applied globally to all API requests.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'middleware' => [
|
|
|
+
|
|
|
+ ],
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Authentication Providers
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | The authentication providers that should be used when attempting to
|
|
|
+ | authenticate an incoming API request.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'auth' => [
|
|
|
+ 'jwt' => 'Dingo\Api\Auth\Provider\JWT',
|
|
|
+ ],
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Throttling / Rate Limiting
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Consumers of your API can be limited to the amount of requests they can
|
|
|
+ | make. You can create your own throttles or simply change the default
|
|
|
+ | throttles.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'throttling' => [
|
|
|
+
|
|
|
+ ],
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Response Transformer
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Responses can be transformed so that they are easier to format. By
|
|
|
+ | default a Fractal transformer will be used to transform any
|
|
|
+ | responses prior to formatting. You can easily replace
|
|
|
+ | this with your own transformer.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'transformer' => env('API_TRANSFORMER', Dingo\Api\Transformer\Adapter\Fractal::class),
|
|
|
+
|
|
|
+ /*
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ | Response Formats
|
|
|
+ |--------------------------------------------------------------------------
|
|
|
+ |
|
|
|
+ | Responses can be returned in multiple formats by registering different
|
|
|
+ | response formatters. You can also customize an existing response
|
|
|
+ | formatter with a number of options to configure its output.
|
|
|
+ |
|
|
|
+ */
|
|
|
+
|
|
|
+ 'defaultFormat' => env('API_DEFAULT_FORMAT', 'json'),
|
|
|
+
|
|
|
+ 'formats' => [
|
|
|
+
|
|
|
+ 'json' => Dingo\Api\Http\Response\Format\Json::class,
|
|
|
+
|
|
|
+ ],
|
|
|
+
|
|
|
+ 'formatsOptions' => [
|
|
|
+
|
|
|
+ 'json' => [
|
|
|
+ 'pretty_print' => env('API_JSON_FORMAT_PRETTY_PRINT_ENABLED', false),
|
|
|
+ 'indent_style' => env('API_JSON_FORMAT_INDENT_STYLE', 'space'),
|
|
|
+ 'indent_size' => env('API_JSON_FORMAT_INDENT_SIZE', 2),
|
|
|
+ ],
|
|
|
+
|
|
|
+ ],
|
|
|
+
|
|
|
+];
|