mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 10:43:44 +00:00 
			
		
		
		
	* Remove package from sources * Add Mocker package * Add BaseModel Beside setters and getters this class implements three methods required for mocking: getOpenApiSchema, createFromData and jsonSerialize. BaseModel keeps all data values in $dataContainer like PHP client does. I don't see other way to support scalar models(enum for instance). That's why I've removed class variables generation. * Update documentation * Update PHPUnit section in readme * Add constant with models namespace This constant will be required for data deserialization when handling refs. * Refresh samples * Add samples generation config
		
			
				
	
	
		
			124 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
 * OpenAPI Petstore
 | 
						|
 * PHP version 7.2
 | 
						|
 *
 | 
						|
 * @package OpenAPIServer
 | 
						|
 * @author  OpenAPI Generator team
 | 
						|
 * @link    https://github.com/openapitools/openapi-generator
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
 | 
						|
 * The version of the OpenAPI document: 1.0.0
 | 
						|
 * Generated by: https://github.com/openapitools/openapi-generator.git
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * NOTE: This class is auto generated by the openapi generator program.
 | 
						|
 * https://github.com/openapitools/openapi-generator
 | 
						|
 */
 | 
						|
 | 
						|
require_once __DIR__ . '/vendor/autoload.php';
 | 
						|
 | 
						|
use OpenAPIServer\SlimRouter;
 | 
						|
use Psr\Http\Message\ServerRequestInterface;
 | 
						|
use Psr\Http\Message\ResponseInterface;
 | 
						|
use OpenAPIServer\Mock\OpenApiDataMocker;
 | 
						|
 | 
						|
$config = [];
 | 
						|
 | 
						|
/**
 | 
						|
 * Token Middleware 1.x Options
 | 
						|
 * Options `header`, `regex`, `parameter`, `cookie`, `attribute`, `path`, `except`, `authenticator`
 | 
						|
 * are handled by SlimRouter class. These options are ignored by app and they omitted from current
 | 
						|
 * example.
 | 
						|
 * Ref: https://github.com/dyorg/slim-token-authentication/tree/1.x
 | 
						|
 */
 | 
						|
$config['tokenAuthenticationOptions'] = [
 | 
						|
    /**
 | 
						|
     * Tokens are essentially passwords. You should treat them as such and you should always
 | 
						|
     * use HTTPS. If the middleware detects insecure usage over HTTP it will return unathorized
 | 
						|
     * with a message Required HTTPS for token authentication. This rule is relaxed for requests
 | 
						|
     * on localhost. To allow insecure usage you must enable it manually by setting secure to
 | 
						|
     * false.
 | 
						|
     * Default: true
 | 
						|
     */
 | 
						|
    // 'secure' => true,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Alternatively you can list your development host to have relaxed security.
 | 
						|
     * Default: ['localhost', '127.0.0.1']
 | 
						|
     */
 | 
						|
    // 'relaxed' => ['localhost', '127.0.0.1'],
 | 
						|
 | 
						|
    /**
 | 
						|
     * By default on ocurred a fail on authentication, is sent a response on json format with a
 | 
						|
     * message (`Invalid Token` or `Not found Token`) and with the token (if found), with status
 | 
						|
     * `401 Unauthorized`. You can customize it by setting a callable function on error option.
 | 
						|
     * Default: null
 | 
						|
     */
 | 
						|
    // 'error' => null,
 | 
						|
];
 | 
						|
 | 
						|
/**
 | 
						|
 * Mocker Middleware options.
 | 
						|
 */
 | 
						|
$mocker = new OpenApiDataMocker();
 | 
						|
$mocker->setModelsNamespace('OpenAPIServer\Model\\');
 | 
						|
$config['mockerOptions'] = [
 | 
						|
    // 'dataMocker' => $mocker,
 | 
						|
 | 
						|
    // 'getMockStatusCodeCallback' => function (ServerRequestInterface $request, $responses) {
 | 
						|
    //     // check if client clearly asks for mocked response
 | 
						|
    //     $pingHeader = 'X-OpenAPIServer-Mock';
 | 
						|
    //     $pingHeaderCode = 'X-OpenAPIServer-Mock-Code';
 | 
						|
    //     if (
 | 
						|
    //         $request->hasHeader($pingHeader)
 | 
						|
    //         && $request->getHeader($pingHeader)[0] === 'ping'
 | 
						|
    //     ) {
 | 
						|
    //         $responses = (array) $responses;
 | 
						|
    //         $requestedResponseCode = ($request->hasHeader($pingHeaderCode)) ? $request->getHeader($pingHeaderCode)[0] : 'default';
 | 
						|
    //         if (array_key_exists($requestedResponseCode, $responses)) {
 | 
						|
    //             return $requestedResponseCode;
 | 
						|
    //         }
 | 
						|
 | 
						|
    //         // return first response key
 | 
						|
    //         reset($responses);
 | 
						|
    //         return key($responses);
 | 
						|
    //     }
 | 
						|
 | 
						|
    //     return false;
 | 
						|
    // },
 | 
						|
 | 
						|
    // 'afterCallback' => function ($request, $response) {
 | 
						|
    //     // mark mocked response to distinguish real and fake responses
 | 
						|
    //     return $response->withHeader('X-OpenAPIServer-Mock', 'pong');
 | 
						|
    // },
 | 
						|
];
 | 
						|
 | 
						|
$router = new SlimRouter($config);
 | 
						|
$app = $router->getSlimApp();
 | 
						|
 | 
						|
/**
 | 
						|
 * The routing middleware should be added before the ErrorMiddleware
 | 
						|
 * Otherwise exceptions thrown from it will not be handled
 | 
						|
 */
 | 
						|
$app->addRoutingMiddleware();
 | 
						|
 | 
						|
/**
 | 
						|
 * Add Error Handling Middleware
 | 
						|
 *
 | 
						|
 * @param bool $displayErrorDetails -> Should be set to false in production
 | 
						|
 * @param bool $logErrors -> Parameter is passed to the default ErrorHandler
 | 
						|
 * @param bool $logErrorDetails -> Display error details in error log
 | 
						|
 * which can be replaced by a callable of your choice.
 | 
						|
 | 
						|
 * Note: This middleware should be added last. It will not handle any exceptions/errors
 | 
						|
 * for middleware added after it.
 | 
						|
 */
 | 
						|
$app->addErrorMiddleware(false, true, true);
 | 
						|
 | 
						|
$app->run();
 |