コード例 #1
0
 /**
  * Get Cache Duration
  *
  * @param Request $request Request
  *
  * @return int Cache Duration
  */
 private function getCacheDuration(Request $request)
 {
     if ($duration = $request->getRoute()->getMiddlewareVariable('duration', 'cache')) {
         return $duration;
     }
     return $duration = craft()->config->get('defaultCacheDuration', 'httpMessagesCacheMiddleware');
 }
 /**
  * Invoke
  *
  * @return void
  */
 public function __invoke(Request $request, Response $response, callable $next)
 {
     $config = $request->getRoute()->getMiddlewareConfig('validation');
     $input = $request->getMethod() === 'GET' ? $request->getQueryParams() : $request->getParams();
     try {
         $validator = $this->getValidator($config);
         $validator->assert($input);
     } catch (NestedValidationException $validation_exception) {
         $exception = new HttpMessagesException('Validation error.');
         $exception->setErrors($validation_exception->getMessages());
         $exception->setInput($input);
         throw $exception;
     }
     $response = $next($request, $response);
     return $response;
 }