Example #1
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next, $obscuredParameter = 'id')
 {
     $hashids = new Hashids(config('obscure.salt'), config('obscure.length'), config('obscure.alphabet'));
     // decode form request hashs
     if ($request->request->has($obscuredParameter)) {
         $request->request->add([$obscuredParameter => $hashids->decode($request->request->get($obscuredParameter))[0]]);
     }
     // decode route hashs
     if ($this->route->parameter($obscuredParameter)) {
         $this->route->setParameter($obscuredParameter, $hashids->decode($this->route->parameter($obscuredParameter))[0]);
     }
     return $next($request);
 }
Example #2
0
 /**
  * Substitute the implicit Eloquent model bindings for the route.
  *
  * @param  \Illuminate\Routing\Route  $route
  * @return void
  */
 public function substituteImplicitBindings($route)
 {
     $parameters = $route->parameters();
     foreach ($route->signatureParameters(Model::class) as $parameter) {
         $class = $parameter->getClass();
         if (array_key_exists($parameter->name, $parameters) && !$route->getParameter($parameter->name) instanceof Model) {
             $method = $parameter->isDefaultValueAvailable() ? 'first' : 'firstOrFail';
             $model = $class->newInstance();
             $route->setParameter($parameter->name, $model->where($model->getRouteKeyName(), $parameters[$parameter->name])->{$method}());
         }
     }
 }
 /**
  * Substitute the route bindings onto the route.
  *
  * @param  \Illuminate\Routing\Route  $route
  * @return \Illuminate\Routing\Route
  */
 protected function substituteBindings($route)
 {
     foreach ($route->parameters() as $key => $value) {
         if (isset($this->binders[$key])) {
             $route->setParameter($key, $this->performBinding($key, $value, $route));
         }
     }
     return $route;
 }
Example #4
0
 /**
  * Substitute the implicit Eloquent model bindings for the route.
  *
  * @param  \Illuminate\Routing\Route  $route
  * @return void
  */
 protected function substituteImplicitBindings($route)
 {
     $parameters = $route->parameters();
     foreach ($route->signatureParameters(Model::class) as $parameter) {
         $class = $parameter->getClass();
         if (array_key_exists($parameter->name, $parameters)) {
             $method = $parameter->isDefaultValueAvailable() ? 'find' : 'findOrFail';
             $route->setParameter($parameter->name, $class->newInstance()->{$method}($parameters[$parameter->name]));
         }
     }
 }