diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..b5cf4da --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,86 @@ +# This file is a template, and might need editing before it works on your project. +# Official framework image. Look for the different tagged releases at: +# https://hub.docker.com/r/library/php +image: registry.waf.or.id/ywa/sarpras:latest + +# Pick zero or more services to be used on all builds. +# Only needed when using a docker container to run your tests in. +# Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-a-service +services: + # - mysql:latest + +variables: + # MYSQL_DATABASE: laraland + # MYSQL_ROOT_PASSWORD: secret + +# This folder is cached between builds +# http://docs.gitlab.com/ce/ci/yaml/README.html#cache +cache: + paths: + - vendor/ + # - node_modules/ + +# This is a basic example for a gem or script which doesn't use +# services such as redis or postgres +before_script: + # Update packages + # - apt-get update -yqq + + # Upgrade to Node 7 + # - curl -sL https://deb.nodesource.com/setup_7.x | bash - + + # Install dependencies + # - apt-get install git nodejs libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq + + # Install php extensions + # - docker-php-ext-install mbstring pdo_mysql curl json intl gd xml zip bz2 opcache + + # Install & enable Xdebug for code coverage reports + # - pecl install xdebug + # - docker-php-ext-enable xdebug + + # Install Composer and project dependencies. + - curl -sS https://getcomposer.org/installer | php + - php composer.phar install + + # Install Node dependencies. + # comment this out if you don't have a node dependency + # - npm install + + # Copy over testing configuration. + # Don't forget to set the database config in .env.testing correctly + # DB_HOST=mysql + # DB_DATABASE=project_name + # DB_USERNAME=root + # DB_PASSWORD=secret + - cp .env.testing .env + + # Run npm build + # comment this out if you don't have a frontend build + # you can change this to to your frontend building script like + # npm run build + # - npm run dev + + # Generate an application key. Re-cache. + - php artisan key:generate + - php artisan config:cache + + # Run database migrations. + - php artisan migrate + + # Run database seed + - php artisan db:seed + +test: + script: + # run laravel tests + # - php vendor/bin/phpunit --coverage-text --colors=never + - php vendor/bin/codeception run acceptance + - php vendor/bin/codeception run functional + - php vendor/bin/codeception run functional -c Modules/Karyawaf + + # run frontend tests + # if you have any task for testing frontend + # set it in your package.json script + # comment this out if you don't have a frontend test + # - npm test diff --git a/Modules/Karyawaf/Config/.gitkeep b/Modules/Karyawaf/Config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Config/config.php b/Modules/Karyawaf/Config/config.php new file mode 100644 index 0000000..1990a0c --- /dev/null +++ b/Modules/Karyawaf/Config/config.php @@ -0,0 +1,5 @@ + 'Karyawaf' +]; diff --git a/Modules/Karyawaf/Console/.gitkeep b/Modules/Karyawaf/Console/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Database/Migrations/.gitkeep b/Modules/Karyawaf/Database/Migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Database/Migrations/2018_07_24_030655_create_karyawans_table.php b/Modules/Karyawaf/Database/Migrations/2018_07_24_030655_create_karyawans_table.php new file mode 100644 index 0000000..1484937 --- /dev/null +++ b/Modules/Karyawaf/Database/Migrations/2018_07_24_030655_create_karyawans_table.php @@ -0,0 +1,46 @@ +increments('id'); + $table->string('nama', 50); + $table->string('posisi', 50); + $table->string('tempat_lahir', 20); + $table->datetime('tanggal_lahir'); + $table->datetime('rekrut'); + $table->boolean('status'); + $table->unsignedInteger('created_by'); + + $table->timestamps(); + $table->softDeletes(); + + $table->foreign('created_by') + ->references('id') + ->on('users') + ->onUpdate('cascade') + ->onDelete('restrict'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('karyawans'); + } +} diff --git a/Modules/Karyawaf/Database/Seeders/.gitkeep b/Modules/Karyawaf/Database/Seeders/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Database/Seeders/KaryawafDatabaseSeeder.php b/Modules/Karyawaf/Database/Seeders/KaryawafDatabaseSeeder.php new file mode 100644 index 0000000..b9fc535 --- /dev/null +++ b/Modules/Karyawaf/Database/Seeders/KaryawafDatabaseSeeder.php @@ -0,0 +1,21 @@ +call(KaryawansTableSeeder::class); + } +} diff --git a/Modules/Karyawaf/Database/Seeders/KaryawansTableSeeder.php b/Modules/Karyawaf/Database/Seeders/KaryawansTableSeeder.php new file mode 100644 index 0000000..e6f501a --- /dev/null +++ b/Modules/Karyawaf/Database/Seeders/KaryawansTableSeeder.php @@ -0,0 +1,21 @@ +create(); + } +} diff --git a/Modules/Karyawaf/Database/factories/.gitkeep b/Modules/Karyawaf/Database/factories/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Database/factories/KaryawansFactory.php b/Modules/Karyawaf/Database/factories/KaryawansFactory.php new file mode 100644 index 0000000..f4c2f2e --- /dev/null +++ b/Modules/Karyawaf/Database/factories/KaryawansFactory.php @@ -0,0 +1,15 @@ +define(Modules\Karyawaf\Entities\Karyawan::class, function (Faker $faker) { + return [ + 'nama' => $faker->name(), + 'posisi' => $faker->jobTitle(), + 'tempat_lahir' => $faker->city(), + 'tanggal_lahir' => Carbon\Carbon::instance($faker->dateTimeBetween('-50 years', '-19 years', 'Asia/Jakarta')), + 'rekrut' => Carbon\Carbon::instance($faker->dateTimeBetween('-10 years', '-1 year', 'Asia/Jakarta')), + 'status' => 1, + 'created_by' => App\User::find(1)->id + ]; +}); diff --git a/Modules/Karyawaf/Entities/.gitkeep b/Modules/Karyawaf/Entities/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Entities/Karyawan.php b/Modules/Karyawaf/Entities/Karyawan.php new file mode 100644 index 0000000..32a2bcc --- /dev/null +++ b/Modules/Karyawaf/Entities/Karyawan.php @@ -0,0 +1,38 @@ + 'required|string|min:5', + 'posisi' => 'required|string|min:3', + 'tempat_lahir' => 'required|string|min:3', + 'tanggal_lahir' => 'required|date', + 'rekrut' => 'required|date', + 'status' => 'required|integer' + ]; + + public function creator() + { + return $this->belongsTo(\App\User::class, 'created_by'); + } +} diff --git a/Modules/Karyawaf/Http/Controllers/.gitkeep b/Modules/Karyawaf/Http/Controllers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Http/Controllers/KaryawafController.php b/Modules/Karyawaf/Http/Controllers/KaryawafController.php new file mode 100644 index 0000000..fd595f4 --- /dev/null +++ b/Modules/Karyawaf/Http/Controllers/KaryawafController.php @@ -0,0 +1,72 @@ +json([ + 'data' => $response + ]); + } + + /** + * Show the form for creating a new resource. + * @return Response + */ + public function create() + { + return view('karyawaf::create'); + } + + /** + * Store a newly created resource in storage. + * @param StoreKaryawafKaryawan $request + * @return Response + */ + public function store(StoreKaryawafKaryawan $request) + { + $validated = $request->validated(); + + $response = Auth::user()->karyawans()->create($validated); // Auth::user()->karyawan->create() + + return response()->json([ + 'data' => $response + ]); + } + + /** + * Show the specified resource. + * @param $id + * @return Response + */ + public function show($id) + { + $response = Karyawan::find($id); + + return response()->json([ + 'data' => $response + ]); + } + + /** + * Show the form for editing the specified resource. + * @return Response + */ + public function edit() + { + return view('karyawaf::edit'); + } + + /** + * Update the specified resource in storage. + * @param UpdateKaryawafKaryawan $request + * @return Response + */ + public function update(UpdateKaryawafKaryawan $request, $id) + { + $karyawan = Karyawan::findOrFail($id); + + $validated = $request->validated(); + + $karyawan->update($validated); + + return response()->json([ + 'data' => $karyawan + ]); + } + + /** + * Remove the specified resource from storage. + * @param $id + * @return Response + */ + public function destroy($id) + { + $karyawan = Karyawan::findOrFail($id); + + $karyawan->delete(); + + return response()->json([ + 'message' => 'The data has been deleted' + ]); + } +} diff --git a/Modules/Karyawaf/Http/Middleware/.gitkeep b/Modules/Karyawaf/Http/Middleware/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Http/Requests/.gitkeep b/Modules/Karyawaf/Http/Requests/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Http/Requests/StoreKaryawafKaryawan.php b/Modules/Karyawaf/Http/Requests/StoreKaryawafKaryawan.php new file mode 100644 index 0000000..20a8b6d --- /dev/null +++ b/Modules/Karyawaf/Http/Requests/StoreKaryawafKaryawan.php @@ -0,0 +1,30 @@ +can('create-karyawan'); + } +} diff --git a/Modules/Karyawaf/Http/Requests/UpdateKaryawafKaryawan.php b/Modules/Karyawaf/Http/Requests/UpdateKaryawafKaryawan.php new file mode 100644 index 0000000..574db4a --- /dev/null +++ b/Modules/Karyawaf/Http/Requests/UpdateKaryawafKaryawan.php @@ -0,0 +1,32 @@ +karyawan; + + return Karyawan::getUpdateRulesForId($id); + } + + /** + * Determine if the user is authorized to make this request. + * + * @return bool + */ + public function authorize() + { + return Auth::user()->can('update-karyawan'); + } +} diff --git a/Modules/Karyawaf/Http/routes.php b/Modules/Karyawaf/Http/routes.php new file mode 100644 index 0000000..a15a4cf --- /dev/null +++ b/Modules/Karyawaf/Http/routes.php @@ -0,0 +1,18 @@ + 'web', 'prefix' => 'karyawaf', 'namespace' => 'Modules\Karyawaf\Http\Controllers'], function() +{ + Route::get('/', 'KaryawafController@index'); +}); + +Route::group(['middleware' => ['api', 'auth:api'], 'prefix' => 'api/karyawaf', 'namespace' => 'Modules\Karyawaf\Http\Controllers'], function() +{ + Route::group(['prefix' => 'karyawans'], function() + { + Route::get('/', 'KaryawanController@index'); + Route::post('/', 'KaryawanController@store'); + Route::get('/{karyawan}', 'KaryawanController@show'); + Route::put('/{karyawan}', 'KaryawanController@update'); + Route::delete('/{karyawan}', 'KaryawanController@destroy'); + }); +}); diff --git a/Modules/Karyawaf/Providers/.gitkeep b/Modules/Karyawaf/Providers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Providers/KaryawafServiceProvider.php b/Modules/Karyawaf/Providers/KaryawafServiceProvider.php new file mode 100644 index 0000000..4d1203a --- /dev/null +++ b/Modules/Karyawaf/Providers/KaryawafServiceProvider.php @@ -0,0 +1,113 @@ +registerTranslations(); + $this->registerConfig(); + $this->registerViews(); + $this->registerFactories(); + $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); + } + + /** + * Register the service provider. + * + * @return void + */ + public function register() + { + // + } + + /** + * Register config. + * + * @return void + */ + protected function registerConfig() + { + $this->publishes([ + __DIR__.'/../Config/config.php' => config_path('karyawaf.php'), + ], 'config'); + $this->mergeConfigFrom( + __DIR__.'/../Config/config.php', 'karyawaf' + ); + } + + /** + * Register views. + * + * @return void + */ + public function registerViews() + { + $viewPath = resource_path('views/modules/karyawaf'); + + $sourcePath = __DIR__.'/../Resources/views'; + + $this->publishes([ + $sourcePath => $viewPath + ],'views'); + + $this->loadViewsFrom(array_merge(array_map(function ($path) { + return $path . '/modules/karyawaf'; + }, \Config::get('view.paths')), [$sourcePath]), 'karyawaf'); + } + + /** + * Register translations. + * + * @return void + */ + public function registerTranslations() + { + $langPath = resource_path('lang/modules/karyawaf'); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, 'karyawaf'); + } else { + $this->loadTranslationsFrom(__DIR__ .'/../Resources/lang', 'karyawaf'); + } + } + + /** + * Register an additional directory of factories. + * + * @return void + */ + public function registerFactories() + { + if (! app()->environment('production')) { + app(Factory::class)->load(__DIR__ . '/../Database/factories'); + } + } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides() + { + return []; + } +} diff --git a/Modules/Karyawaf/Resources/assets/.gitkeep b/Modules/Karyawaf/Resources/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Resources/assets/js/app.js b/Modules/Karyawaf/Resources/assets/js/app.js new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Resources/assets/sass/app.scss b/Modules/Karyawaf/Resources/assets/sass/app.scss new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Resources/lang/.gitkeep b/Modules/Karyawaf/Resources/lang/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Resources/views/.gitkeep b/Modules/Karyawaf/Resources/views/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Resources/views/index.blade.php b/Modules/Karyawaf/Resources/views/index.blade.php new file mode 100644 index 0000000..efd385a --- /dev/null +++ b/Modules/Karyawaf/Resources/views/index.blade.php @@ -0,0 +1,9 @@ +@extends('karyawaf::layouts.master') + +@section('content') +

Hello World

+ +

+ This view is loaded from module: {!! config('karyawaf.name') !!} +

+@stop diff --git a/Modules/Karyawaf/Resources/views/layouts/master.blade.php b/Modules/Karyawaf/Resources/views/layouts/master.blade.php new file mode 100644 index 0000000..f77e7b1 --- /dev/null +++ b/Modules/Karyawaf/Resources/views/layouts/master.blade.php @@ -0,0 +1,19 @@ + + + + + + + Module Karyawaf + + {{-- Laravel Mix - CSS File --}} + {{-- --}} + + + + @yield('content') + + {{-- Laravel Mix - JS File --}} + {{-- --}} + + diff --git a/Modules/Karyawaf/Tests/.gitkeep b/Modules/Karyawaf/Tests/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Tests/_data/.gitkeep b/Modules/Karyawaf/Tests/_data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Tests/_output/.gitkeep b/Modules/Karyawaf/Tests/_output/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.deleteData.fail.html b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.deleteData.fail.html new file mode 100644 index 0000000..b6d68a6 --- /dev/null +++ b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.deleteData.fail.html @@ -0,0 +1,112 @@ + + + + + + + + + + + Laravel + + + + + +
+ + +
+
+
+
+
Login
+ +
+
+ + +
+ + +
+ + +
+
+ +
+ + +
+ + +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + + Forgot Your Password? + +
+
+
+
+
+
+
+
+
+ + + + + diff --git a/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.getAllData.fail.html b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.getAllData.fail.html new file mode 100644 index 0000000..eddb346 --- /dev/null +++ b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.getAllData.fail.html @@ -0,0 +1,112 @@ + + + + + + + + + + + Laravel + + + + + +
+ + +
+
+
+
+
Login
+ +
+
+ + +
+ + +
+ + +
+
+ +
+ + +
+ + +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + + Forgot Your Password? + +
+
+
+
+
+
+
+
+
+ + + + + diff --git a/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.getSingleData.fail.html b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.getSingleData.fail.html new file mode 100644 index 0000000..f1c2f8b --- /dev/null +++ b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.getSingleData.fail.html @@ -0,0 +1,112 @@ + + + + + + + + + + + Laravel + + + + + +
+ + +
+
+
+
+
Login
+ +
+
+ + +
+ + +
+ + +
+
+ +
+ + +
+ + +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + + Forgot Your Password? + +
+
+
+
+
+
+
+
+
+ + + + + diff --git a/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.storeData.fail.html b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.storeData.fail.html new file mode 100644 index 0000000..eb1d2a7 --- /dev/null +++ b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.storeData.fail.html @@ -0,0 +1,1449 @@ + + + + + + Whoops! There was an error. + + + + + +
+
+ +
+
+
+
+ Symfony \ Component \ Debug \ Exception \ FatalThrowableError + (E_ERROR) +
+ +
+ Class 'Modules\Karyawaf\Http\Controllers\Auth' not found + + + + Symfony\Component\Debug\Exception\FatalThrowableError thrown with message "Class 'Modules\Karyawaf\Http\Controllers\Auth' not found" + +Stacktrace: +#0 Symfony\Component\Debug\Exception\FatalThrowableError in /home/gregorio/Documents/codes/laraland/Modules/Karyawaf/Http/Controllers/KaryawanController.php:45 + + +
+
+
+
+ + Application frames (1) + + + All frames (1) + +
+
+
+ 0 +
+
Symfony
\
Component
\
Debug
\
Exception
\
FatalThrowableError
+
+
+ +
+
/
Modules
/
Karyawaf
/
Http
/
Controllers
/
KaryawanController.php
45 +
+
+
+
+
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
Modules
/
Karyawaf
/
Http
/
Controllers
/
KaryawanController.php
+
+
 
+    /**
+     * Show the form for creating a new resource.
+     * @return Response
+     */
+    public function create()
+    {
+        return view('karyawaf::create');
+    }
+ 
+    /**
+     * Store a newly created resource in storage.
+     * @param  StoreKaryawafKaryawan $request
+     * @return Response
+     */
+    public function store(StoreKaryawafKaryawan $request)
+    {
+        $validated = $request->validated();
+ 
+        $response = Auth::user()->karyawans()->create($validated);    // Auth::user()->karyawan->create()
+ 
+        return response()->json([
+            'data' => $response
+        ]);
+    }
+ 
+    /**
+     * Show the specified resource.
+     * @param $id
+     * @return Response
+     */
+    public function show($id)
+    {
+        $response = Karyawan::find($id);
+ 
+        return response()->json([
+            'data' => $response
+        ]);
+    }
+ 
+ + +
+ Arguments +
+
+
  1. "Class 'Modules\Karyawaf\Http\Controllers\Auth' not found"
    +
    +
+ +
+
+ +
+
+
+

Environment & details:

+ +
+
+ + empty +
+
+ + empty +
+
+ + empty +
+
+ + empty +
+
+ + empty +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
LANG
"en_US.UTF-8"
+
+
LESS
"-F -g -i -M -R -S -w -X -z-4"
+
+
DISPLAY
":0"
+
+
OLDPWD
"/home/gregorio"
+
+
INVOCATION_ID
"0a5aa167da604be2acc343c14c76b187"
+
+
EDITOR
"vim"
+
+
GPG_TTY
"/dev/pts/0"
+
+
MOZ_PLUGIN_PATH
"/usr/lib/mozilla/plugins"
+
+
XDG_VTNR
"1"
+
+
GIT_EDITOR
"/home/gregorio/.bin/git_editor"
+
+
SSH_AUTH_SOCK
"/run/user/1000/gnupg/S.gpg-agent.ssh"
+
+
XDG_SESSION_ID
"c1"
+
+
USER
"gregorio"
+
+
PAGER
"less"
+
+
LSCOLORS
"Gxfxcxdxbxegedabagacad"
+
+
PWD
"/home/gregorio/Documents/codes/laraland"
+
+
HOME
"/home/gregorio"
+
+
JOURNAL_STREAM
"9:15868"
+
+
GTK_MODULES
"canberra-gtk-module"
+
+
MAIL
"/var/spool/mail/gregorio"
+
+
VISUAL
"vim"
+
+
WINDOWPATH
"1"
+
+
SHELL
"/bin/zsh"
+
+
TERM
"rxvt-256color"
+
+
SHLVL
"3"
+
+
XDG_SEAT
"seat0"
+
+
LOGNAME
"gregorio"
+
+
DBUS_SESSION_BUS_ADDRESS
"unix:path=/run/user/1000/bus"
+
+
XDG_RUNTIME_DIR
"/run/user/1000"
+
+
XAUTHORITY
"/home/gregorio/.Xauthority"
+
+
PATH
"/home/gregorio/etc/joshd-dotfiles/bin.symlink:/home/gregorio/.bin/diff-highlight:/home/gregorio/etc/joshd-dotfiles/bin.symlink:/home/gregorio/.bin/diff-highlight:/home/gregorio/.local/bin:/home/gregorio/.npm-packages/bin:/home/gregorio/.npm-packages/bin:/home/gregorio/.config/composer/vendor/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/gregorio/.npm-packages/bin:/home/gregorio/.fzf/bin:/home/gregorio/.scripts"
+
+
WINDOWID
"10485770"
+
+
COLORFGBG
"default;default"
+
+
COLORTERM
"rxvt"
+
+
_
"/usr/bin/php"
+
+
PHP_SELF
"vendor/bin/codecept"
+
+
SCRIPT_NAME
"vendor/bin/codecept"
+
+
SCRIPT_FILENAME
"vendor/bin/codecept"
+
+
PATH_TRANSLATED
"vendor/bin/codecept"
+
+
DOCUMENT_ROOT
""
+
+
REQUEST_TIME_FLOAT
1532744825.1475
+
+
REQUEST_TIME
1532744825
+
+
argv
array:5 [
+  0 => "vendor/bin/codecept"
+  1 => "run"
+  2 => "functional"
+  3 => "-c"
+  4 => "Modules/Karyawaf"
+]
+
+
argc
5
+
+
SHELL_VERBOSITY
0
+
+
APP_ENV
"testing"
+
+
APP_KEY
"base64:0qzWgXyeH+Eje5Ta3NEh/pZnyJeJo2GW/gCKK+0FVkU="
+
+
APP_DEBUG
"true"
+
+
DB_CONNECTION
"sqlite"
+
+
DB_HOST
"sqlite"
+
+
DB_DATABASE
":memory:"
+
+
DB_USERNAME
""
+
+
DB_PASSWORD
""
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
SHELL_VERBOSITY
0
+
+
APP_ENV
"testing"
+
+
APP_KEY
"base64:0qzWgXyeH+Eje5Ta3NEh/pZnyJeJo2GW/gCKK+0FVkU="
+
+
APP_DEBUG
"true"
+
+
DB_CONNECTION
"sqlite"
+
+
DB_HOST
"sqlite"
+
+
DB_DATABASE
":memory:"
+
+
DB_USERNAME
""
+
+
DB_PASSWORD
""
+
+
+
+
+ +
+ +
+ 0. Whoops\Handler\PrettyPageHandler
+
+ +
+
+
+
+ + + + + + + diff --git a/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.updateData.fail.html b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.updateData.fail.html new file mode 100644 index 0000000..8331ca5 --- /dev/null +++ b/Modules/Karyawaf/Tests/_output/ApiKaryawansCest.updateData.fail.html @@ -0,0 +1,10668 @@ + + + + + + Whoops! There was an error. + + + + + +
+
+ +
+
+
+
+ Symfony \ Component \ HttpKernel \ Exception \ AccessDeniedHttpException +
+ +
+ This action is unauthorized. + + + + Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException thrown with message "This action is unauthorized." + +Stacktrace: +#88 Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:201 +#87 Illuminate\Foundation\Exceptions\Handler:prepareException in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:175 +#86 Illuminate\Foundation\Exceptions\Handler:render in /home/gregorio/Documents/codes/laraland/app/Exceptions/Handler.php:51 +#85 App\Exceptions\Handler:render in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Lib/Connector/Laravel5/ExceptionHandlerDecorator.php:61 +#84 Codeception\Lib\Connector\Laravel5\ExceptionHandlerDecorator:render in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:83 +#83 Illuminate\Routing\Pipeline:handleException in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32 +#82 ApiKaryawansCest:updateData in [internal]:0 +#81 Illuminate\Auth\Access\AuthorizationException in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:165 +#80 Illuminate\Foundation\Http\FormRequest:failedAuthorization in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php:22 +#79 Illuminate\Foundation\Http\FormRequest:validate in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php:31 +#78 Illuminate\Foundation\Providers\FormRequestServiceProvider:Illuminate\Foundation\Providers\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Container/Container.php:1042 +#77 Illuminate\Container\Container:fireCallbackArray in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Container/Container.php:1006 +#76 Illuminate\Container\Container:fireAfterResolvingCallbacks in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Container/Container.php:991 +#75 Illuminate\Container\Container:fireResolvingCallbacks in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Container/Container.php:650 +#74 Illuminate\Container\Container:resolve in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Container/Container.php:586 +#73 Illuminate\Container\Container:make in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:732 +#72 Illuminate\Foundation\Application:make in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php:79 +#71 Illuminate\Routing\ControllerDispatcher:transformDependency in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php:46 +#70 Illuminate\Routing\ControllerDispatcher:resolveMethodDependencies in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php:27 +#69 Illuminate\Routing\ControllerDispatcher:resolveClassMethodDependencies in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:41 +#68 Illuminate\Routing\ControllerDispatcher:dispatch in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Route.php:212 +#67 Illuminate\Routing\Route:runController in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Route.php:169 +#66 Illuminate\Routing\Route:run in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Router.php:658 +#65 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 +#64 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 +#63 Illuminate\Routing\Middleware\SubstituteBindings:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#62 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#61 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:43 +#60 Illuminate\Auth\Middleware\Authenticate:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#59 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#58 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php:57 +#57 Illuminate\Routing\Middleware\ThrottleRequests:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#56 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#55 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 +#54 Illuminate\Pipeline\Pipeline:then in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Router.php:660 +#53 Illuminate\Routing\Router:runRouteWithinStack in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Router.php:635 +#52 Illuminate\Routing\Router:runRoute in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Router.php:601 +#51 Illuminate\Routing\Router:dispatchToRoute in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Router.php:590 +#50 Illuminate\Routing\Router:dispatch in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176 +#49 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 +#48 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/fideloper/proxy/src/TrustProxies.php:56 +#47 Fideloper\Proxy\TrustProxies:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#46 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#45 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 +#44 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#43 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#42 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 +#41 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#40 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#39 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 +#38 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#37 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#36 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 +#35 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:149 +#34 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 +#33 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 +#32 Illuminate\Pipeline\Pipeline:then in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:151 +#31 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 +#30 Illuminate\Foundation\Http\Kernel:handle in /home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:840 +#29 Illuminate\Foundation\Application:handle in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Lib/Connector/Laravel5.php:111 +#28 Codeception\Lib\Connector\Laravel5:doRequest in /home/gregorio/Documents/codes/laraland/vendor/symfony/browser-kit/Client.php:351 +#27 Symfony\Component\BrowserKit\Client:request in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Lib/InnerBrowser.php:193 +#26 Codeception\Lib\InnerBrowser:clientRequest in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Lib/InnerBrowser.php:125 +#25 Codeception\Lib\InnerBrowser:_request in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Module/REST.php:597 +#24 Codeception\Module\REST:execute in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Module/REST.php:473 +#23 Codeception\Module\REST:sendPUT in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Step.php:264 +#22 call_user_func_array in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Step.php:264 +#21 Codeception\Step:run in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Scenario.php:72 +#20 Codeception\Scenario:runStep in /home/gregorio/Documents/codes/laraland/Modules/Karyawaf/Tests/_support/_generated/FunctionalTesterActions.php:3716 +#19 FunctionalTester:sendPUT in /home/gregorio/Documents/codes/laraland/Modules/Karyawaf/Tests/functional/ApiKaryawansCest.php:95 +#18 ApiKaryawansCest:updateData in [internal]:0 +#17 ReflectionMethod:invokeArgs in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Lib/Di.php:127 +#16 Codeception\Lib\Di:injectDependencies in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Test/Cest.php:138 +#15 Codeception\Test\Cest:invoke in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Test/Cest.php:150 +#14 Codeception\Test\Cest:executeTestMethod in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Test/Cest.php:82 +#13 Codeception\Test\Cest:test in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Test/Test.php:89 +#12 Codeception\Test\Test:run in /home/gregorio/Documents/codes/laraland/vendor/phpunit/phpunit/src/Framework/TestSuite.php:755 +#11 PHPUnit\Framework\TestSuite:run in /home/gregorio/Documents/codes/laraland/vendor/codeception/phpunit-wrapper/src/Runner.php:106 +#10 Codeception\PHPUnit\Runner:doEnhancedRun in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/SuiteManager.php:157 +#9 Codeception\SuiteManager:run in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Codecept.php:189 +#8 Codeception\Codecept:runSuite in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Codecept.php:158 +#7 Codeception\Codecept:run in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Command/Run.php:466 +#6 Codeception\Command\Run:runSuites in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Command/Run.php:361 +#5 Codeception\Command\Run:execute in /home/gregorio/Documents/codes/laraland/vendor/symfony/console/Command/Command.php:251 +#4 Symfony\Component\Console\Command\Command:run in /home/gregorio/Documents/codes/laraland/vendor/symfony/console/Application.php:946 +#3 Symfony\Component\Console\Application:doRunCommand in /home/gregorio/Documents/codes/laraland/vendor/symfony/console/Application.php:248 +#2 Symfony\Component\Console\Application:doRun in /home/gregorio/Documents/codes/laraland/vendor/symfony/console/Application.php:148 +#1 Symfony\Component\Console\Application:run in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/src/Codeception/Application.php:108 +#0 Codeception\Application:run in /home/gregorio/Documents/codes/laraland/vendor/codeception/codeception/codecept:42 + + +
+
+
+ +
+
+ 88 +
+
Symfony
\
Component
\
HttpKernel
\
Exception
\
AccessDeniedHttpException
+
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
201 +
+
+
+ 87 +
+
Illuminate
\
Foundation
\
Exceptions
\
Handler
+
prepareException
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
175 +
+
+
+ 86 +
+
Illuminate
\
Foundation
\
Exceptions
\
Handler
+
render
+
+ +
+
/
app
/
Exceptions
/
Handler.php
51 +
+
+
+ 85 +
+
App
\
Exceptions
\
Handler
+
render
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
Connector
/
Laravel5
/
ExceptionHandlerDecorator.php
61 +
+
+
+ 84 +
+
Codeception
\
Lib
\
Connector
\
Laravel5
\
ExceptionHandlerDecorator
+
render
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
83 +
+
+
+ 83 +
+
Illuminate
\
Routing
\
Pipeline
+
handleException
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
32 +
+
+
+ 82 +
+
ApiKaryawansCest
+
updateData
+
+ +
+
[internal]
0 +
+
+
+ 81 +
+
Illuminate
\
Auth
\
Access
\
AuthorizationException
+
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
FormRequest.php
165 +
+
+
+ 80 +
+
Illuminate
\
Foundation
\
Http
\
FormRequest
+
failedAuthorization
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Validation
/
ValidatesWhenResolvedTrait.php
22 +
+
+
+ 79 +
+
Illuminate
\
Foundation
\
Http
\
FormRequest
+
validate
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Providers
/
FormRequestServiceProvider.php
31 +
+
+
+ 78 +
+
Illuminate
\
Foundation
\
Providers
\
FormRequestServiceProvider
+
Illuminate
\
Foundation
\
Providers
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
1042 +
+
+
+ 77 +
+
Illuminate
\
Container
\
Container
+
fireCallbackArray
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
1006 +
+
+
+ 76 +
+
Illuminate
\
Container
\
Container
+
fireAfterResolvingCallbacks
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
991 +
+
+
+ 75 +
+
Illuminate
\
Container
\
Container
+
fireResolvingCallbacks
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
650 +
+
+
+ 74 +
+
Illuminate
\
Container
\
Container
+
resolve
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
586 +
+
+
+ 73 +
+
Illuminate
\
Container
\
Container
+
make
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Application.php
732 +
+
+
+ 72 +
+
Illuminate
\
Foundation
\
Application
+
make
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
RouteDependencyResolverTrait.php
79 +
+
+
+ 71 +
+
Illuminate
\
Routing
\
ControllerDispatcher
+
transformDependency
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
RouteDependencyResolverTrait.php
46 +
+
+
+ 70 +
+
Illuminate
\
Routing
\
ControllerDispatcher
+
resolveMethodDependencies
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
RouteDependencyResolverTrait.php
27 +
+
+
+ 69 +
+
Illuminate
\
Routing
\
ControllerDispatcher
+
resolveClassMethodDependencies
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
ControllerDispatcher.php
41 +
+
+
+ 68 +
+
Illuminate
\
Routing
\
ControllerDispatcher
+
dispatch
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
212 +
+
+
+ 67 +
+
Illuminate
\
Routing
\
Route
+
runController
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
169 +
+
+
+ 66 +
+
Illuminate
\
Routing
\
Route
+
run
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
658 +
+
+
+ 65 +
+
Illuminate
\
Routing
\
Router
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30 +
+
+
+ 64 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
41 +
+
+
+ 63 +
+
Illuminate
\
Routing
\
Middleware
\
SubstituteBindings
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 62 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 61 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Auth
/
Middleware
/
Authenticate.php
43 +
+
+
+ 60 +
+
Illuminate
\
Auth
\
Middleware
\
Authenticate
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 59 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 58 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
ThrottleRequests.php
57 +
+
+
+ 57 +
+
Illuminate
\
Routing
\
Middleware
\
ThrottleRequests
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 56 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 55 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
102 +
+
+
+ 54 +
+
Illuminate
\
Pipeline
\
Pipeline
+
then
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
660 +
+
+
+ 53 +
+
Illuminate
\
Routing
\
Router
+
runRouteWithinStack
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
635 +
+
+
+ 52 +
+
Illuminate
\
Routing
\
Router
+
runRoute
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
601 +
+
+
+ 51 +
+
Illuminate
\
Routing
\
Router
+
dispatchToRoute
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
590 +
+
+
+ 50 +
+
Illuminate
\
Routing
\
Router
+
dispatch
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
176 +
+
+
+ 49 +
+
Illuminate
\
Foundation
\
Http
\
Kernel
+
Illuminate
\
Foundation
\
Http
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
30 +
+
+
+ 48 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
fideloper
/
proxy
/
src
/
TrustProxies.php
56 +
+
+
+ 47 +
+
Fideloper
\
Proxy
\
TrustProxies
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 46 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 45 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
30 +
+
+
+ 44 +
+
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 43 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 42 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
30 +
+
+
+ 41 +
+
Illuminate
\
Foundation
\
Http
\
Middleware
\
TransformsRequest
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 40 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 39 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
27 +
+
+
+ 38 +
+
Illuminate
\
Foundation
\
Http
\
Middleware
\
ValidatePostSize
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 37 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 36 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
CheckForMaintenanceMode.php
46 +
+
+
+ 35 +
+
Illuminate
\
Foundation
\
Http
\
Middleware
\
CheckForMaintenanceMode
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
149 +
+
+
+ 34 +
+
Illuminate
\
Pipeline
\
Pipeline
+
Illuminate
\
Pipeline
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
53 +
+
+
+ 33 +
+
Illuminate
\
Routing
\
Pipeline
+
Illuminate
\
Routing
\
{closure}
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
102 +
+
+
+ 32 +
+
Illuminate
\
Pipeline
\
Pipeline
+
then
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
151 +
+
+
+ 31 +
+
Illuminate
\
Foundation
\
Http
\
Kernel
+
sendRequestThroughRouter
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
116 +
+
+
+ 30 +
+
Illuminate
\
Foundation
\
Http
\
Kernel
+
handle
+
+ +
+
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Application.php
840 +
+
+
+ 29 +
+
Illuminate
\
Foundation
\
Application
+
handle
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
Connector
/
Laravel5.php
111 +
+
+
+ 28 +
+
Codeception
\
Lib
\
Connector
\
Laravel5
+
doRequest
+
+ +
+
/
vendor
/
symfony
/
browser-kit
/
Client.php
351 +
+
+
+ 27 +
+
Symfony
\
Component
\
BrowserKit
\
Client
+
request
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
InnerBrowser.php
193 +
+
+
+ 26 +
+
Codeception
\
Lib
\
InnerBrowser
+
clientRequest
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
InnerBrowser.php
125 +
+
+
+ 25 +
+
Codeception
\
Lib
\
InnerBrowser
+
_request
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Module
/
REST.php
597 +
+
+
+ 24 +
+
Codeception
\
Module
\
REST
+
execute
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Module
/
REST.php
473 +
+
+
+ 23 +
+
Codeception
\
Module
\
REST
+
sendPUT
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Step.php
264 +
+
+
+ 22 +
+
+
call_user_func_array
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Step.php
264 +
+
+
+ 21 +
+
Codeception
\
Step
+
run
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Scenario.php
72 +
+
+
+ 20 +
+
Codeception
\
Scenario
+
runStep
+
+ +
+
/
Modules
/
Karyawaf
/
Tests
/
_support
/
_generated
/
FunctionalTesterActions.php
3716 +
+
+
+ 19 +
+
FunctionalTester
+
sendPUT
+
+ +
+
/
Modules
/
Karyawaf
/
Tests
/
functional
/
ApiKaryawansCest.php
95 +
+
+
+ 18 +
+
ApiKaryawansCest
+
updateData
+
+ +
+
[internal]
0 +
+
+
+ 17 +
+
ReflectionMethod
+
invokeArgs
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
Di.php
127 +
+
+
+ 16 +
+
Codeception
\
Lib
\
Di
+
injectDependencies
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Cest.php
138 +
+
+
+ 15 +
+
Codeception
\
Test
\
Cest
+
invoke
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Cest.php
150 +
+
+
+ 14 +
+
Codeception
\
Test
\
Cest
+
executeTestMethod
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Cest.php
82 +
+
+
+ 13 +
+
Codeception
\
Test
\
Cest
+
test
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Test.php
89 +
+
+
+ 12 +
+
Codeception
\
Test
\
Test
+
run
+
+ +
+
/
vendor
/
phpunit
/
phpunit
/
src
/
Framework
/
TestSuite.php
755 +
+
+
+ 11 +
+
PHPUnit
\
Framework
\
TestSuite
+
run
+
+ +
+
/
vendor
/
codeception
/
phpunit-wrapper
/
src
/
Runner.php
106 +
+
+
+ 10 +
+
Codeception
\
PHPUnit
\
Runner
+
doEnhancedRun
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
SuiteManager.php
157 +
+
+
+ 9 +
+
Codeception
\
SuiteManager
+
run
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Codecept.php
189 +
+
+
+ 8 +
+
Codeception
\
Codecept
+
runSuite
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Codecept.php
158 +
+
+
+ 7 +
+
Codeception
\
Codecept
+
run
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Command
/
Run.php
466 +
+
+
+ 6 +
+
Codeception
\
Command
\
Run
+
runSuites
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Command
/
Run.php
361 +
+
+
+ 5 +
+
Codeception
\
Command
\
Run
+
execute
+
+ +
+
/
vendor
/
symfony
/
console
/
Command
/
Command.php
251 +
+
+
+ 4 +
+
Symfony
\
Component
\
Console
\
Command
\
Command
+
run
+
+ +
+
/
vendor
/
symfony
/
console
/
Application.php
946 +
+
+
+ 3 +
+
Symfony
\
Component
\
Console
\
Application
+
doRunCommand
+
+ +
+
/
vendor
/
symfony
/
console
/
Application.php
248 +
+
+
+ 2 +
+
Symfony
\
Component
\
Console
\
Application
+
doRun
+
+ +
+
/
vendor
/
symfony
/
console
/
Application.php
148 +
+
+
+ 1 +
+
Symfony
\
Component
\
Console
\
Application
+
run
+
+ +
+
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Application.php
108 +
+
+
+ 0 +
+
Codeception
\
Application
+
run
+
+ +
+
/
vendor
/
codeception
/
codeception
/
codecept
42 +
+
+
+
+
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
+
+
            return $this->convertValidationExceptionToResponse($e, $request);
+        }
+ 
+        return $request->expectsJson()
+                        ? $this->prepareJsonResponse($request, $e)
+                        : $this->prepareResponse($request, $e);
+    }
+ 
+    /**
+     * Prepare exception for rendering.
+     *
+     * @param  \Exception  $e
+     * @return \Exception
+     */
+    protected function prepareException(Exception $e)
+    {
+        if ($e instanceof ModelNotFoundException) {
+            $e = new NotFoundHttpException($e->getMessage(), $e);
+        } elseif ($e instanceof AuthorizationException) {
+            $e = new AccessDeniedHttpException($e->getMessage(), $e);
+        } elseif ($e instanceof TokenMismatchException) {
+            $e = new HttpException(419, $e->getMessage(), $e);
+        }
+ 
+        return $e;
+    }
+ 
+    /**
+     * Convert an authentication exception into a response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Illuminate\Auth\AuthenticationException  $exception
+     * @return \Illuminate\Http\Response
+     */
+    protected function unauthenticated($request, AuthenticationException $exception)
+    {
+        return $request->expectsJson()
+                    ? response()->json(['message' => $exception->getMessage()], 401)
+                    : redirect()->guest(route('login'));
+    }
+ + +
+ Arguments +
+
+
  1. "This action is unauthorized."
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
+
+
            return [];
+        }
+    }
+ 
+    /**
+     * Render an exception into a response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Exception  $e
+     * @return \Symfony\Component\HttpFoundation\Response
+     */
+    public function render($request, Exception $e)
+    {
+        if (method_exists($e, 'render') && $response = $e->render($request)) {
+            return Router::toResponse($request, $response);
+        } elseif ($e instanceof Responsable) {
+            return $e->toResponse($request);
+        }
+ 
+        $e = $this->prepareException($e);
+ 
+        if ($e instanceof HttpResponseException) {
+            return $e->getResponse();
+        } elseif ($e instanceof AuthenticationException) {
+            return $this->unauthenticated($request, $e);
+        } elseif ($e instanceof ValidationException) {
+            return $this->convertValidationExceptionToResponse($e, $request);
+        }
+ 
+        return $request->expectsJson()
+                        ? $this->prepareJsonResponse($request, $e)
+                        : $this->prepareResponse($request, $e);
+    }
+ 
+    /**
+     * Prepare exception for rendering.
+     *
+     * @param  \Exception  $e
+     * @return \Exception
+     */
+ + +
+ Arguments +
+
+
  1. AuthorizationException {#5215
    +  #message: "This action is unauthorized."
    +  #code: 0
    +  #file: "/home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php"
    +  #line: 165
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
app
/
Exceptions
/
Handler.php
+
+
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
+     *
+     * @param  \Exception  $exception
+     * @return void
+     */
+    public function report(Exception $exception)
+    {
+        parent::report($exception);
+    }
+ 
+    /**
+     * Render an exception into an HTTP response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Exception  $exception
+     * @return \Illuminate\Http\Response
+     */
+    public function render($request, Exception $exception)
+    {
+        return parent::render($request, $exception);
+    }
+}
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. AuthorizationException {#5215
    +  #message: "This action is unauthorized."
    +  #code: 0
    +  #file: "/home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php"
    +  #line: 165
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
Connector
/
Laravel5
/
ExceptionHandlerDecorator.php
+
+
    /**
+     * Report or log an exception.
+     *
+     * @param  \Exception $e
+     * @return void
+     */
+    public function report(Exception $e)
+    {
+        $this->laravelExceptionHandler->report($e);
+    }
+ 
+    /**
+     * @param $request
+     * @param Exception $e
+     * @return \Symfony\Component\HttpFoundation\Response
+     * @throws Exception
+     */
+    public function render($request, Exception $e)
+    {
+        $response = $this->laravelExceptionHandler->render($request, $e);
+ 
+        if ($this->exceptionHandlingDisabled && $this->isSymfonyExceptionHandlerOutput($response->getContent())) {
+            // If content was generated by the \Symfony\Component\Debug\ExceptionHandler class
+            // the Laravel application could not handle the exception,
+            // so re-throw this exception if the Codeception user disabled Laravel's exception handling.
+            throw $e;
+        }
+ 
+        return $response;
+    }
+ 
+    /**
+     * Check if the response content is HTML output of the Symfony exception handler class.
+     *
+     * @param string $content
+     * @return bool
+     */
+    private function isSymfonyExceptionHandlerOutput($content)
+    {
+        return strpos($content, '<div id="sf-resetcontent" class="sf-reset">') !== false ||
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. AuthorizationException {#5215
    +  #message: "This action is unauthorized."
    +  #code: 0
    +  #file: "/home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php"
    +  #line: 165
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+        if (! $this->container->bound(ExceptionHandler::class) ||
+            ! $passable instanceof Request) {
+            throw $e;
+        }
+ 
+        $handler = $this->container->make(ExceptionHandler::class);
+ 
+        $handler->report($e);
+ 
+        $response = $handler->render($passable, $e);
+ 
+        if (method_exists($response, 'withException')) {
+            $response->withException($e);
+        }
+ 
+        return $response;
+    }
+}
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. AuthorizationException {#5215
    +  #message: "This action is unauthorized."
    +  #code: 0
    +  #file: "/home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php"
    +  #line: 165
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
/**
+ * This extended pipeline catches any exceptions that occur during each slice.
+ *
+ * The exceptions are converted to HTTP responses for proper middleware handling.
+ */
+class Pipeline extends BasePipeline
+{
+    /**
+     * Get the final piece of the Closure onion.
+     *
+     * @param  \Closure  $destination
+     * @return \Closure
+     */
+    protected function prepareDestination(Closure $destination)
+    {
+        return function ($passable) use ($destination) {
+            try {
+                return $destination($passable);
+            } catch (Exception $e) {
+                return $this->handleException($passable, $e);
+            } catch (Throwable $e) {
+                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. AuthorizationException {#5215
    +  #message: "This action is unauthorized."
    +  #code: 0
    +  #file: "/home/gregorio/Documents/codes/laraland/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php"
    +  #line: 165
    +}
    +
    +
+ +
+
+ +
+
+
+
[internal]
+
+ +
+ Arguments +
+
+
  1. FunctionalTester {#2992}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
FormRequest.php
+
+
     */
+    protected function passesAuthorization()
+    {
+        if (method_exists($this, 'authorize')) {
+            return $this->container->call([$this, 'authorize']);
+        }
+ 
+        return false;
+    }
+ 
+    /**
+     * Handle a failed authorization attempt.
+     *
+     * @return void
+     *
+     * @throws \Illuminate\Auth\Access\AuthorizationException
+     */
+    protected function failedAuthorization()
+    {
+        throw new AuthorizationException('This action is unauthorized.');
+    }
+ 
+    /**
+     * Get the validated data from the request.
+     *
+     * @return array
+     */
+    public function validated()
+    {
+        $rules = $this->container->call([$this, 'rules']);
+ 
+        return $this->only(collect($rules)->keys()->map(function ($rule) {
+            return str_contains($rule, '.') ? explode('.', $rule)[0] : $rule;
+        })->unique()->toArray());
+    }
+ 
+    /**
+     * Get custom messages for validator errors.
+     *
+     * @return array
+ + +
+ Arguments +
+
+
  1. "This action is unauthorized."
    +
    +
+ +
+
+ Exception message: + This action is unauthorized.
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Validation
/
ValidatesWhenResolvedTrait.php
+
+
namespace Illuminate\Validation;
+ 
+/**
+ * Provides default implementation of ValidatesWhenResolved contract.
+ */
+trait ValidatesWhenResolvedTrait
+{
+    /**
+     * Validate the class instance.
+     *
+     * @return void
+     */
+    public function validate()
+    {
+        $this->prepareForValidation();
+ 
+        $instance = $this->getValidatorInstance();
+ 
+        if (! $this->passesAuthorization()) {
+            $this->failedAuthorization();
+        } elseif (! $instance->passes()) {
+            $this->failedValidation($instance);
+        }
+    }
+ 
+    /**
+     * Prepare the data for validation.
+     *
+     * @return void
+     */
+    protected function prepareForValidation()
+    {
+        // no default action
+    }
+ 
+    /**
+     * Get the validator instance for the request.
+     *
+     * @return \Illuminate\Validation\Validator
+     */
+ + + +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Providers
/
FormRequestServiceProvider.php
+
+
{
+    /**
+     * Register the service provider.
+     *
+     * @return void
+     */
+    public function register()
+    {
+        //
+    }
+ 
+    /**
+     * Bootstrap the application services.
+     *
+     * @return void
+     */
+    public function boot()
+    {
+        $this->app->afterResolving(ValidatesWhenResolved::class, function ($resolved) {
+            $resolved->validate();
+        });
+ 
+        $this->app->resolving(FormRequest::class, function ($request, $app) {
+            $this->initializeRequest($request, $app['request']);
+ 
+            $request->setContainer($app)->setRedirector($app->make(Redirector::class));
+        });
+    }
+ 
+    /**
+     * Initialize the form request with data from the given request.
+     *
+     * @param  \Illuminate\Foundation\Http\FormRequest  $form
+     * @param  \Symfony\Component\HttpFoundation\Request  $current
+     * @return void
+     */
+    protected function initializeRequest(FormRequest $form, Request $current)
+    {
+        $files = $current->files->all();
+ 
+ + + +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
+
+
        foreach ($callbacksPerType as $type => $callbacks) {
+            if ($type === $abstract || $object instanceof $type) {
+                $results = array_merge($results, $callbacks);
+            }
+        }
+ 
+        return $results;
+    }
+ 
+    /**
+     * Fire an array of callbacks with an object.
+     *
+     * @param  mixed  $object
+     * @param  array  $callbacks
+     * @return void
+     */
+    protected function fireCallbackArray($object, array $callbacks)
+    {
+        foreach ($callbacks as $callback) {
+            $callback($object, $this);
+        }
+    }
+ 
+    /**
+     * Get the container's bindings.
+     *
+     * @return array
+     */
+    public function getBindings()
+    {
+        return $this->bindings;
+    }
+ 
+    /**
+     * Get the alias for an abstract if available.
+     *
+     * @param  string  $abstract
+     * @return string
+     *
+     * @throws \LogicException
+ + +
+ Arguments +
+
+
  1. UpdateKaryawafKaryawan {#5207
    +  #container: Application {#3040}
    +  #redirector: Redirector {#5205}
    +  #redirect: null
    +  #redirectRoute: null
    +  #redirectAction: null
    +  #errorBag: "default"
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: []
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5209}
    +  +request: ParameterBag {#5206}
    +  +query: ParameterBag {#5208}
    +  +server: ServerBag {#5212}
    +  +files: FileBag {#5211}
    +  +cookies: ParameterBag {#5210}
    +  +headers: HeaderBag {#5213}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: null
    +  #pathInfo: null
    +  #requestUri: null
    +  #baseUrl: null
    +  #basePath: null
    +  #method: null
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  pathInfo: "/api/karyawaf/karyawans/1"
    +  requestUri: "/api/karyawaf/karyawans/1"
    +  baseUrl: ""
    +  basePath: ""
    +  method: "PUT"
    +  format: "html"
    +}
    +
    +
  2. Application {#3040}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
+
+
        $this->fireCallbackArray(
+            $object, $this->getCallbacksForType($abstract, $object, $this->resolvingCallbacks)
+        );
+ 
+        $this->fireAfterResolvingCallbacks($abstract, $object);
+    }
+ 
+    /**
+     * Fire all of the after resolving callbacks.
+     *
+     * @param  string  $abstract
+     * @param  mixed   $object
+     * @return void
+     */
+    protected function fireAfterResolvingCallbacks($abstract, $object)
+    {
+        $this->fireCallbackArray($object, $this->globalAfterResolvingCallbacks);
+ 
+        $this->fireCallbackArray(
+            $object, $this->getCallbacksForType($abstract, $object, $this->afterResolvingCallbacks)
+        );
+    }
+ 
+    /**
+     * Get all callbacks for a given type.
+     *
+     * @param  string  $abstract
+     * @param  object  $object
+     * @param  array   $callbacksPerType
+     *
+     * @return array
+     */
+    protected function getCallbacksForType($abstract, $object, array $callbacksPerType)
+    {
+        $results = [];
+ 
+        foreach ($callbacksPerType as $type => $callbacks) {
+            if ($type === $abstract || $object instanceof $type) {
+                $results = array_merge($results, $callbacks);
+            }
+ + +
+ Arguments +
+
+
  1. UpdateKaryawafKaryawan {#5207
    +  #container: Application {#3040}
    +  #redirector: Redirector {#5205}
    +  #redirect: null
    +  #redirectRoute: null
    +  #redirectAction: null
    +  #errorBag: "default"
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: []
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5209}
    +  +request: ParameterBag {#5206}
    +  +query: ParameterBag {#5208}
    +  +server: ServerBag {#5212}
    +  +files: FileBag {#5211}
    +  +cookies: ParameterBag {#5210}
    +  +headers: HeaderBag {#5213}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: null
    +  #pathInfo: null
    +  #requestUri: null
    +  #baseUrl: null
    +  #basePath: null
    +  #method: null
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  pathInfo: "/api/karyawaf/karyawans/1"
    +  requestUri: "/api/karyawaf/karyawans/1"
    +  baseUrl: ""
    +  basePath: ""
    +  method: "PUT"
    +  format: "html"
    +}
    +
    +
  2. array:1 [
    +  0 => Closure {#4118
    +    class: "Illuminate\Foundation\Providers\FormRequestServiceProvider"
    +    this: FormRequestServiceProvider {#4150 …}
    +    parameters: {
    +      $resolved: {}
    +    }
    +  }
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
+
+
            $this->afterResolvingCallbacks[$abstract][] = $callback;
+        }
+    }
+ 
+    /**
+     * Fire all of the resolving callbacks.
+     *
+     * @param  string  $abstract
+     * @param  mixed   $object
+     * @return void
+     */
+    protected function fireResolvingCallbacks($abstract, $object)
+    {
+        $this->fireCallbackArray($object, $this->globalResolvingCallbacks);
+ 
+        $this->fireCallbackArray(
+            $object, $this->getCallbacksForType($abstract, $object, $this->resolvingCallbacks)
+        );
+ 
+        $this->fireAfterResolvingCallbacks($abstract, $object);
+    }
+ 
+    /**
+     * Fire all of the after resolving callbacks.
+     *
+     * @param  string  $abstract
+     * @param  mixed   $object
+     * @return void
+     */
+    protected function fireAfterResolvingCallbacks($abstract, $object)
+    {
+        $this->fireCallbackArray($object, $this->globalAfterResolvingCallbacks);
+ 
+        $this->fireCallbackArray(
+            $object, $this->getCallbacksForType($abstract, $object, $this->afterResolvingCallbacks)
+        );
+    }
+ 
+    /**
+     * Get all callbacks for a given type.
+ + +
+ Arguments +
+
+
  1. "Modules\Karyawaf\Http\Requests\UpdateKaryawafKaryawan"
    +
    +
  2. UpdateKaryawafKaryawan {#5207
    +  #container: Application {#3040}
    +  #redirector: Redirector {#5205}
    +  #redirect: null
    +  #redirectRoute: null
    +  #redirectAction: null
    +  #errorBag: "default"
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: []
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5209}
    +  +request: ParameterBag {#5206}
    +  +query: ParameterBag {#5208}
    +  +server: ServerBag {#5212}
    +  +files: FileBag {#5211}
    +  +cookies: ParameterBag {#5210}
    +  +headers: HeaderBag {#5213}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: null
    +  #pathInfo: null
    +  #requestUri: null
    +  #baseUrl: null
    +  #basePath: null
    +  #method: null
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  pathInfo: "/api/karyawaf/karyawans/1"
    +  requestUri: "/api/karyawaf/karyawans/1"
    +  baseUrl: ""
    +  basePath: ""
    +  method: "PUT"
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
+
+
            $object = $this->build($concrete);
+        } else {
+            $object = $this->make($concrete);
+        }
+ 
+        // If we defined any extenders for this type, we'll need to spin through them
+        // and apply them to the object being built. This allows for the extension
+        // of services, such as changing configuration or decorating the object.
+        foreach ($this->getExtenders($abstract) as $extender) {
+            $object = $extender($object, $this);
+        }
+ 
+        // If the requested type is registered as a singleton we'll want to cache off
+        // the instances in "memory" so we can return it later without creating an
+        // entirely new instance of an object on each subsequent request for it.
+        if ($this->isShared($abstract) && ! $needsContextualBuild) {
+            $this->instances[$abstract] = $object;
+        }
+ 
+        $this->fireResolvingCallbacks($abstract, $object);
+ 
+        // Before returning, we will also set the resolved flag to "true" and pop off
+        // the parameter overrides for this build. After those two things are done
+        // we will be ready to return back the fully constructed class instance.
+        $this->resolved[$abstract] = true;
+ 
+        array_pop($this->with);
+ 
+        return $object;
+    }
+ 
+    /**
+     * Get the concrete type for a given abstract.
+     *
+     * @param  string  $abstract
+     * @return mixed   $concrete
+     */
+    protected function getConcrete($abstract)
+    {
+        if (! is_null($concrete = $this->getContextualConcrete($abstract))) {
+ + +
+ Arguments +
+
+
  1. "Modules\Karyawaf\Http\Requests\UpdateKaryawafKaryawan"
    +
    +
  2. UpdateKaryawafKaryawan {#5207
    +  #container: Application {#3040}
    +  #redirector: Redirector {#5205}
    +  #redirect: null
    +  #redirectRoute: null
    +  #redirectAction: null
    +  #errorBag: "default"
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: []
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5209}
    +  +request: ParameterBag {#5206}
    +  +query: ParameterBag {#5208}
    +  +server: ServerBag {#5212}
    +  +files: FileBag {#5211}
    +  +cookies: ParameterBag {#5210}
    +  +headers: HeaderBag {#5213}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: null
    +  #pathInfo: null
    +  #requestUri: null
    +  #baseUrl: null
    +  #basePath: null
    +  #method: null
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  pathInfo: "/api/karyawaf/karyawans/1"
    +  requestUri: "/api/karyawaf/karyawans/1"
    +  baseUrl: ""
    +  basePath: ""
    +  method: "PUT"
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Container
/
Container.php
+
+
     *
+     * @param  string  $abstract
+     * @param  array  $parameters
+     * @return mixed
+     */
+    public function makeWith($abstract, array $parameters = [])
+    {
+        return $this->make($abstract, $parameters);
+    }
+ 
+    /**
+     * Resolve the given type from the container.
+     *
+     * @param  string  $abstract
+     * @param  array  $parameters
+     * @return mixed
+     */
+    public function make($abstract, array $parameters = [])
+    {
+        return $this->resolve($abstract, $parameters);
+    }
+ 
+    /**
+     *  {@inheritdoc}
+     */
+    public function get($id)
+    {
+        if ($this->has($id)) {
+            return $this->resolve($id);
+        }
+ 
+        throw new EntryNotFoundException;
+    }
+ 
+    /**
+     * Resolve the given type from the container.
+     *
+     * @param  string  $abstract
+     * @param  array  $parameters
+     * @return mixed
+ + +
+ Arguments +
+
+
  1. "Modules\Karyawaf\Http\Requests\UpdateKaryawafKaryawan"
    +
    +
  2. []
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Application.php
+
+
    }
+ 
+    /**
+     * Resolve the given type from the container.
+     *
+     * (Overriding Container::make)
+     *
+     * @param  string  $abstract
+     * @param  array  $parameters
+     * @return mixed
+     */
+    public function make($abstract, array $parameters = [])
+    {
+        $abstract = $this->getAlias($abstract);
+ 
+        if (isset($this->deferredServices[$abstract]) && ! isset($this->instances[$abstract])) {
+            $this->loadDeferredProvider($abstract);
+        }
+ 
+        return parent::make($abstract, $parameters);
+    }
+ 
+    /**
+     * Determine if the given abstract type has been bound.
+     *
+     * (Overriding Container::bound)
+     *
+     * @param  string  $abstract
+     * @return bool
+     */
+    public function bound($abstract)
+    {
+        return isset($this->deferredServices[$abstract]) || parent::bound($abstract);
+    }
+ 
+    /**
+     * Determine if the application has booted.
+     *
+     * @return bool
+     */
+ + +
+ Arguments +
+
+
  1. "Modules\Karyawaf\Http\Requests\UpdateKaryawafKaryawan"
    +
    +
  2. []
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
RouteDependencyResolverTrait.php
+
+
    }
+ 
+    /**
+     * Attempt to transform the given parameter into a class instance.
+     *
+     * @param  \ReflectionParameter  $parameter
+     * @param  array  $parameters
+     * @return mixed
+     */
+    protected function transformDependency(ReflectionParameter $parameter, $parameters)
+    {
+        $class = $parameter->getClass();
+ 
+        // If the parameter has a type-hinted class, we will check to see if it is already in
+        // the list of parameters. If it is we will just skip it as it is probably a model
+        // binding and we do not want to mess with those; otherwise, we resolve it here.
+        if ($class && ! $this->alreadyInParameters($class->name, $parameters)) {
+            return $parameter->isDefaultValueAvailable()
+                ? $parameter->getDefaultValue()
+                : $this->container->make($class->name);
+        }
+    }
+ 
+    /**
+     * Determine if an object of the given class is in a list of parameters.
+     *
+     * @param  string  $class
+     * @param  array  $parameters
+     * @return bool
+     */
+    protected function alreadyInParameters($class, array $parameters)
+    {
+        return ! is_null(Arr::first($parameters, function ($value) use ($class) {
+            return $value instanceof $class;
+        }));
+    }
+ 
+    /**
+     * Splice the given value into the parameter list.
+     *
+ + +
+ Arguments +
+
+
  1. "Modules\Karyawaf\Http\Requests\UpdateKaryawafKaryawan"
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
RouteDependencyResolverTrait.php
+
+
            $parameters, new ReflectionMethod($instance, $method)
+        );
+    }
+ 
+    /**
+     * Resolve the given method's type-hinted dependencies.
+     *
+     * @param  array  $parameters
+     * @param  \ReflectionFunctionAbstract  $reflector
+     * @return array
+     */
+    public function resolveMethodDependencies(array $parameters, ReflectionFunctionAbstract $reflector)
+    {
+        $instanceCount = 0;
+ 
+        $values = array_values($parameters);
+ 
+        foreach ($reflector->getParameters() as $key => $parameter) {
+            $instance = $this->transformDependency(
+                $parameter, $parameters
+            );
+ 
+            if (! is_null($instance)) {
+                $instanceCount++;
+ 
+                $this->spliceIntoParameters($parameters, $key, $instance);
+            } elseif (! isset($values[$key - $instanceCount]) &&
+                      $parameter->isDefaultValueAvailable()) {
+                $this->spliceIntoParameters($parameters, $key, $parameter->getDefaultValue());
+            }
+        }
+ 
+        return $parameters;
+    }
+ 
+    /**
+     * Attempt to transform the given parameter into a class instance.
+     *
+     * @param  \ReflectionParameter  $parameter
+     * @param  array  $parameters
+ + +
+ Arguments +
+
+
  1. ReflectionParameter {#5194
    +  +name: "request"
    +  position: 0
    +  typeHint: "Modules\Karyawaf\Http\Requests\UpdateKaryawafKaryawan"
    +}
    +
    +
  2. array:1 [
    +  "karyawan" => "1"
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
RouteDependencyResolverTrait.php
+
+
use ReflectionFunctionAbstract;
+ 
+trait RouteDependencyResolverTrait
+{
+    /**
+     * Resolve the object method's type-hinted dependencies.
+     *
+     * @param  array  $parameters
+     * @param  object  $instance
+     * @param  string  $method
+     * @return array
+     */
+    protected function resolveClassMethodDependencies(array $parameters, $instance, $method)
+    {
+        if (! method_exists($instance, $method)) {
+            return $parameters;
+        }
+ 
+        return $this->resolveMethodDependencies(
+            $parameters, new ReflectionMethod($instance, $method)
+        );
+    }
+ 
+    /**
+     * Resolve the given method's type-hinted dependencies.
+     *
+     * @param  array  $parameters
+     * @param  \ReflectionFunctionAbstract  $reflector
+     * @return array
+     */
+    public function resolveMethodDependencies(array $parameters, ReflectionFunctionAbstract $reflector)
+    {
+        $instanceCount = 0;
+ 
+        $values = array_values($parameters);
+ 
+        foreach ($reflector->getParameters() as $key => $parameter) {
+            $instance = $this->transformDependency(
+                $parameter, $parameters
+            );
+ + +
+ Arguments +
+
+
  1. array:1 [
    +  "karyawan" => "1"
    +]
    +
    +
  2. ReflectionMethod {#5186
    +  +name: "update"
    +  +class: "Modules\Karyawaf\Http\Controllers\KaryawanController"
    +  parameters: {
    +    $request: ReflectionParameter {#5264
    +      +name: "request"
    +      position: 0
    +      typeHint: "Modules\Karyawaf\Http\Requests\UpdateKaryawafKaryawan"
    +    }
    +    $id: ReflectionParameter {#5272
    +      +name: "id"
    +      position: 1
    +    }
    +  }
    +  modifiers: "public"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
ControllerDispatcher.php
+
+
     * @param  \Illuminate\Container\Container  $container
+     * @return void
+     */
+    public function __construct(Container $container)
+    {
+        $this->container = $container;
+    }
+ 
+    /**
+     * Dispatch a request to a given controller and method.
+     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @param  mixed  $controller
+     * @param  string  $method
+     * @return mixed
+     */
+    public function dispatch(Route $route, $controller, $method)
+    {
+        $parameters = $this->resolveClassMethodDependencies(
+            $route->parametersWithoutNulls(), $controller, $method
+        );
+ 
+        if (method_exists($controller, 'callAction')) {
+            return $controller->callAction($method, $parameters);
+        }
+ 
+        return $controller->{$method}(...array_values($parameters));
+    }
+ 
+    /**
+     * Get the middleware for the controller instance.
+     *
+     * @param  \Illuminate\Routing\Controller  $controller
+     * @param  string  $method
+     * @return array
+     */
+    public function getMiddleware($controller, $method)
+    {
+        if (! method_exists($controller, 'getMiddleware')) {
+            return [];
+ + +
+ Arguments +
+
+
  1. array:1 [
    +  "karyawan" => "1"
    +]
    +
    +
  2. KaryawanController {#5157}
    +
    +
  3. "update"
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
+
+
    protected function runCallable()
+    {
+        $callable = $this->action['uses'];
+ 
+        return $callable(...array_values($this->resolveMethodDependencies(
+            $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
+        )));
+    }
+ 
+    /**
+     * Run the route action and return the response.
+     *
+     * @return mixed
+     *
+     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
+     */
+    protected function runController()
+    {
+        return $this->controllerDispatcher()->dispatch(
+            $this, $this->getController(), $this->getControllerMethod()
+        );
+    }
+ 
+    /**
+     * Get the controller instance for the route.
+     *
+     * @return mixed
+     */
+    public function getController()
+    {
+        if (! $this->controller) {
+            $class = $this->parseControllerCallback()[0];
+ 
+            $this->controller = $this->container->make(ltrim($class, '\\'));
+        }
+ 
+        return $this->controller;
+    }
+ 
+    /**
+ + +
+ Arguments +
+
+
  1. Route {#4248}
    +
    +
  2. KaryawanController {#5157}
    +
    +
  3. "update"
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Route.php
+
+
     *
+     * @throws \UnexpectedValueException
+     */
+    protected function parseAction($action)
+    {
+        return RouteAction::parse($this->uri, $action);
+    }
+ 
+    /**
+     * Run the route action and return the response.
+     *
+     * @return mixed
+     */
+    public function run()
+    {
+        $this->container = $this->container ?: new Container;
+ 
+        try {
+            if ($this->isControllerAction()) {
+                return $this->runController();
+            }
+ 
+            return $this->runCallable();
+        } catch (HttpResponseException $e) {
+            return $e->getResponse();
+        }
+    }
+ 
+    /**
+     * Checks whether the route's action is a controller.
+     *
+     * @return bool
+     */
+    protected function isControllerAction()
+    {
+        return is_string($this->action['uses']);
+    }
+ 
+    /**
+     * Run the route action and return the response.
+ + + +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
+
+
    /**
+     * Run the given route within a Stack "onion" instance.
+     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @param  \Illuminate\Http\Request  $request
+     * @return mixed
+     */
+    protected function runRouteWithinStack(Route $route, Request $request)
+    {
+        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
+                                $this->container->make('middleware.disable') === true;
+ 
+        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
+ 
+        return (new Pipeline($this->container))
+                        ->send($request)
+                        ->through($middleware)
+                        ->then(function ($request) use ($route) {
+                            return $this->prepareResponse(
+                                $request, $route->run()
+                            );
+                        });
+    }
+ 
+    /**
+     * Gather the middleware for the given route with resolved class names.
+     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @return array
+     */
+    public function gatherRouteMiddleware(Route $route)
+    {
+        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
+            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
+        })->flatten();
+ 
+        return $this->sortMiddleware($middleware);
+    }
+ 
+    /**
+ + + +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
use Symfony\Component\Debug\Exception\FatalThrowableError;
+ 
+/**
+ * This extended pipeline catches any exceptions that occur during each slice.
+ *
+ * The exceptions are converted to HTTP responses for proper middleware handling.
+ */
+class Pipeline extends BasePipeline
+{
+    /**
+     * Get the final piece of the Closure onion.
+     *
+     * @param  \Closure  $destination
+     * @return \Closure
+     */
+    protected function prepareDestination(Closure $destination)
+    {
+        return function ($passable) use ($destination) {
+            try {
+                return $destination($passable);
+            } catch (Exception $e) {
+                return $this->handleException($passable, $e);
+            } catch (Throwable $e) {
+                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
SubstituteBindings.php
+
+
     */
+    public function __construct(Registrar $router)
+    {
+        $this->router = $router;
+    }
+ 
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        $this->router->substituteBindings($route = $request->route());
+ 
+        $this->router->substituteImplicitBindings($route);
+ 
+        return $next($request);
+    }
+}
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#5179
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#5178 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $destination: Closure {#5174 …}
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Auth
/
Middleware
/
Authenticate.php
+
+
    public function __construct(Auth $auth)
+    {
+        $this->auth = $auth;
+    }
+ 
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @param  string[]  ...$guards
+     * @return mixed
+     *
+     * @throws \Illuminate\Auth\AuthenticationException
+     */
+    public function handle($request, Closure $next, ...$guards)
+    {
+        $this->authenticate($guards);
+ 
+        return $next($request);
+    }
+ 
+    /**
+     * Determine if the user is logged in to any of the given guards.
+     *
+     * @param  array  $guards
+     * @return void
+     *
+     * @throws \Illuminate\Auth\AuthenticationException
+     */
+    protected function authenticate(array $guards)
+    {
+        if (empty($guards)) {
+            return $this->auth->authenticate();
+        }
+ 
+        foreach ($guards as $guard) {
+            if ($this->auth->guard($guard)->check()) {
+                return $this->auth->shouldUse($guard);
+            }
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#5182
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#5178 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $stack: Closure {#5179 …}
    +    $pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
    +  }
    +}
    +
    +
  3. "api"
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Middleware
/
ThrottleRequests.php
+
+
     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @param  int|string  $maxAttempts
+     * @param  float|int  $decayMinutes
+     * @return mixed
+     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
+     */
+    public function handle($request, Closure $next, $maxAttempts = 60, $decayMinutes = 1)
+    {
+        $key = $this->resolveRequestSignature($request);
+ 
+        $maxAttempts = $this->resolveMaxAttempts($request, $maxAttempts);
+ 
+        if ($this->limiter->tooManyAttempts($key, $maxAttempts, $decayMinutes)) {
+            throw $this->buildException($key, $maxAttempts);
+        }
+ 
+        $this->limiter->hit($key, $decayMinutes);
+ 
+        $response = $next($request);
+ 
+        return $this->addHeaders(
+            $response, $maxAttempts,
+            $this->calculateRemainingAttempts($key, $maxAttempts)
+        );
+    }
+ 
+    /**
+     * Resolve the number of attempts if the user is authenticated or not.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int|string  $maxAttempts
+     * @return int
+     */
+    protected function resolveMaxAttempts($request, $maxAttempts)
+    {
+        if (Str::contains($maxAttempts, '|')) {
+            $maxAttempts = explode('|', $maxAttempts, 2)[$request->user() ? 1 : 0];
+        }
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#5183
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#5178 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $stack: Closure {#5182 …}
    +    $pipe: "Illuminate\Auth\Middleware\Authenticate:api"
    +  }
    +}
    +
    +
  3. 60
    +
    +
  4. "1"
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
    public function via($method)
+    {
+        $this->method = $method;
+ 
+        return $this;
+    }
+ 
+    /**
+     * Run the pipeline with a final destination callback.
+     *
+     * @param  \Closure  $destination
+     * @return mixed
+     */
+    public function then(Closure $destination)
+    {
+        $pipeline = array_reduce(
+            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
+        );
+ 
+        return $pipeline($this->passable);
+    }
+ 
+    /**
+     * Get the final piece of the Closure onion.
+     *
+     * @param  \Closure  $destination
+     * @return \Closure
+     */
+    protected function prepareDestination(Closure $destination)
+    {
+        return function ($passable) use ($destination) {
+            return $destination($passable);
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
+
+
     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @param  \Illuminate\Http\Request  $request
+     * @return mixed
+     */
+    protected function runRouteWithinStack(Route $route, Request $request)
+    {
+        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
+                                $this->container->make('middleware.disable') === true;
+ 
+        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
+ 
+        return (new Pipeline($this->container))
+                        ->send($request)
+                        ->through($middleware)
+                        ->then(function ($request) use ($route) {
+                            return $this->prepareResponse(
+                                $request, $route->run()
+                            );
+                        });
+    }
+ 
+    /**
+     * Gather the middleware for the given route with resolved class names.
+     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @return array
+     */
+    public function gatherRouteMiddleware(Route $route)
+    {
+        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
+            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
+        })->flatten();
+ 
+        return $this->sortMiddleware($middleware);
+    }
+ 
+    /**
+     * Sort the given middleware by priority.
+     *
+ + +
+ Arguments +
+
+
  1. Closure {#5174
    +  class: "Illuminate\Routing\Router"
    +  this: Router {#4093 …}
    +  parameters: {
    +    $request: {}
    +  }
    +  use: {
    +    $route: Route {#4248 …}
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
+
+
        return $route;
+    }
+ 
+    /**
+     * Return the response for the given route.
+     *
+     * @param  Route  $route
+     * @param  Request  $request
+     * @return mixed
+     */
+    protected function runRoute(Request $request, Route $route)
+    {
+        $request->setRouteResolver(function () use ($route) {
+            return $route;
+        });
+ 
+        $this->events->dispatch(new Events\RouteMatched($route, $request));
+ 
+        return $this->prepareResponse($request,
+            $this->runRouteWithinStack($route, $request)
+        );
+    }
+ 
+    /**
+     * Run the given route within a Stack "onion" instance.
+     *
+     * @param  \Illuminate\Routing\Route  $route
+     * @param  \Illuminate\Http\Request  $request
+     * @return mixed
+     */
+    protected function runRouteWithinStack(Route $route, Request $request)
+    {
+        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
+                                $this->container->make('middleware.disable') === true;
+ 
+        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
+ 
+        return (new Pipeline($this->container))
+                        ->send($request)
+                        ->through($middleware)
+ + +
+ Arguments +
+
+
  1. Route {#4248}
    +
    +
  2. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
+
+
     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
+     */
+    public function dispatch(Request $request)
+    {
+        $this->currentRequest = $request;
+ 
+        return $this->dispatchToRoute($request);
+    }
+ 
+    /**
+     * Dispatch the request to a route and return the response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return mixed
+     */
+    public function dispatchToRoute(Request $request)
+    {
+        return $this->runRoute($request, $this->findRoute($request));
+    }
+ 
+    /**
+     * Find the route matching a given request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Routing\Route
+     */
+    protected function findRoute($request)
+    {
+        $this->current = $route = $this->routes->match($request);
+ 
+        $this->container->instance(Route::class, $route);
+ 
+        return $route;
+    }
+ 
+    /**
+     * Return the response for the given route.
+     *
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Route {#4248}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Router.php
+
+
     * @return mixed
+     */
+    public function respondWithRoute($name)
+    {
+        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
+ 
+        return $this->runRoute($this->currentRequest, $route);
+    }
+ 
+    /**
+     * Dispatch the request to the application.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
+     */
+    public function dispatch(Request $request)
+    {
+        $this->currentRequest = $request;
+ 
+        return $this->dispatchToRoute($request);
+    }
+ 
+    /**
+     * Dispatch the request to a route and return the response.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return mixed
+     */
+    public function dispatchToRoute(Request $request)
+    {
+        return $this->runRoute($request, $this->findRoute($request));
+    }
+ 
+    /**
+     * Find the route matching a given request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Routing\Route
+     */
+    protected function findRoute($request)
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
+
+
     * @return void
+     */
+    public function bootstrap()
+    {
+        if (! $this->app->hasBeenBootstrapped()) {
+            $this->app->bootstrapWith($this->bootstrappers());
+        }
+    }
+ 
+    /**
+     * Get the route dispatcher callback.
+     *
+     * @return \Closure
+     */
+    protected function dispatchToRouter()
+    {
+        return function ($request) {
+            $this->app->instance('request', $request);
+ 
+            return $this->router->dispatch($request);
+        };
+    }
+ 
+    /**
+     * Call the terminate method on any terminable middleware.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Illuminate\Http\Response  $response
+     * @return void
+     */
+    public function terminate($request, $response)
+    {
+        $this->terminateMiddleware($request, $response);
+ 
+        $this->app->terminate();
+    }
+ 
+    /**
+     * Call the terminate method on any terminable middleware.
+     *
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
use Symfony\Component\Debug\Exception\FatalThrowableError;
+ 
+/**
+ * This extended pipeline catches any exceptions that occur during each slice.
+ *
+ * The exceptions are converted to HTTP responses for proper middleware handling.
+ */
+class Pipeline extends BasePipeline
+{
+    /**
+     * Get the final piece of the Closure onion.
+     *
+     * @param  \Closure  $destination
+     * @return \Closure
+     */
+    protected function prepareDestination(Closure $destination)
+    {
+        return function ($passable) use ($destination) {
+            try {
+                return $destination($passable);
+            } catch (Exception $e) {
+                return $this->handleException($passable, $e);
+            } catch (Throwable $e) {
+                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
fideloper
/
proxy
/
src
/
TrustProxies.php
+
+
    {
+        $this->config = $config;
+    }
+ 
+    /**
+     * Handle an incoming request.
+     *
+     * @param \Illuminate\Http\Request $request
+     * @param \Closure                 $next
+     *
+     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
+     *
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        $this->setTrustedProxyHeaderNames($request);
+        $this->setTrustedProxyIpAddresses($request);
+ 
+        return $next($request);
+    }
+ 
+    /**
+     * Sets the trusted proxies on the request to the value of trustedproxy.proxies
+     *
+     * @param \Illuminate\Http\Request $request
+     */
+    protected function setTrustedProxyIpAddresses($request)
+    {
+        $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
+ 
+        // We only trust specific IP addresses
+        if (is_array($trustedIps)) {
+            return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
+        }
+ 
+        // We trust any IP address that calls us, but not proxies further
+        // up the forwarding chain.
+        // TODO: Determine if this should only trust the first IP address
+        //       Currently it trusts the entire chain (array of IPs),
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#4106
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#4119 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $destination: Closure {#4125 …}
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
+
+
     * The additional attributes passed to the middleware.
+     *
+     * @var array
+     */
+    protected $attributes = [];
+ 
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next, ...$attributes)
+    {
+        $this->attributes = $attributes;
+ 
+        $this->clean($request);
+ 
+        return $next($request);
+    }
+ 
+    /**
+     * Clean the request's data.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return void
+     */
+    protected function clean($request)
+    {
+        $this->cleanParameterBag($request->query);
+ 
+        if ($request->isJson()) {
+            $this->cleanParameterBag($request->json());
+        } else {
+            $this->cleanParameterBag($request->request);
+        }
+    }
+ 
+    /**
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#4117
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#4119 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $stack: Closure {#4106 …}
    +    $pipe: "App\Http\Middleware\TrustProxies"
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
TransformsRequest.php
+
+
     * The additional attributes passed to the middleware.
+     *
+     * @var array
+     */
+    protected $attributes = [];
+ 
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next, ...$attributes)
+    {
+        $this->attributes = $attributes;
+ 
+        $this->clean($request);
+ 
+        return $next($request);
+    }
+ 
+    /**
+     * Clean the request's data.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return void
+     */
+    protected function clean($request)
+    {
+        $this->cleanParameterBag($request->query);
+ 
+        if ($request->isJson()) {
+            $this->cleanParameterBag($request->json());
+        } else {
+            $this->cleanParameterBag($request->request);
+        }
+    }
+ 
+    /**
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#4123
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#4119 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $stack: Closure {#4117 …}
    +    $pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
ValidatePostSize.php
+
+
class ValidatePostSize
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     *
+     * @throws \Illuminate\Http\Exceptions\PostTooLargeException
+     */
+    public function handle($request, Closure $next)
+    {
+        $max = $this->getPostMaxSize();
+ 
+        if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
+            throw new PostTooLargeException;
+        }
+ 
+        return $next($request);
+    }
+ 
+    /**
+     * Determine the server 'post_max_size' as bytes.
+     *
+     * @return int
+     */
+    protected function getPostMaxSize()
+    {
+        if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
+            return (int) $postMaxSize;
+        }
+ 
+        $metric = strtoupper(substr($postMaxSize, -1));
+        $postMaxSize = (int) $postMaxSize;
+ 
+        switch ($metric) {
+            case 'K':
+                return $postMaxSize * 1024;
+            case 'M':
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#4116
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#4119 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $stack: Closure {#4123 …}
    +    $pipe: "App\Http\Middleware\TrimStrings"
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Middleware
/
CheckForMaintenanceMode.php
+
+
    }
+ 
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     *
+     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
+     */
+    public function handle($request, Closure $next)
+    {
+        if ($this->app->isDownForMaintenance()) {
+            $data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
+ 
+            throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
+        }
+ 
+        return $next($request);
+    }
+}
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
                    // the appropriate method and arguments, returning the results back out.
+                    return $pipe($passable, $stack);
+                } elseif (! is_object($pipe)) {
+                    list($name, $parameters) = $this->parsePipeString($pipe);
+ 
+                    // If the pipe is a string we will parse the string and resolve the class out
+                    // of the dependency injection container. We can then build a callable and
+                    // execute the pipe function giving in the parameters that are required.
+                    $pipe = $this->getContainer()->make($name);
+ 
+                    $parameters = array_merge([$passable, $stack], $parameters);
+                } else {
+                    // If the pipe is already an object we'll just make a callable and pass it to
+                    // the pipe as-is. There is no need to do any extra parsing and formatting
+                    // since the object we're given was already a fully instantiated object.
+                    $parameters = [$passable, $stack];
+                }
+ 
+                return method_exists($pipe, $this->method)
+                                ? $pipe->{$this->method}(...$parameters)
+                                : $pipe(...$parameters);
+            };
+        };
+    }
+ 
+    /**
+     * Parse full pipe string to get name and parameters.
+     *
+     * @param  string $pipe
+     * @return array
+     */
+    protected function parsePipeString($pipe)
+    {
+        list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
+ 
+        if (is_string($parameters)) {
+            $parameters = explode(',', $parameters);
+        }
+ 
+        return [$name, $parameters];
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
  2. Closure {#5153
    +  class: "Illuminate\Routing\Pipeline"
    +  this: Pipeline {#4119 …}
    +  parameters: {
    +    $passable: {}
    +  }
    +  use: {
    +    $stack: Closure {#4116 …}
    +    $pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Pipeline.php
+
+
                return $this->handleException($passable, new FatalThrowableError($e));
+            }
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+    protected function carry()
+    {
+        return function ($stack, $pipe) {
+            return function ($passable) use ($stack, $pipe) {
+                try {
+                    $slice = parent::carry();
+ 
+                    $callable = $slice($stack, $pipe);
+ 
+                    return $callable($passable);
+                } catch (Exception $e) {
+                    return $this->handleException($passable, $e);
+                } catch (Throwable $e) {
+                    return $this->handleException($passable, new FatalThrowableError($e));
+                }
+            };
+        };
+    }
+ 
+    /**
+     * Handle the given exception.
+     *
+     * @param  mixed  $passable
+     * @param  \Exception  $e
+     * @return mixed
+     *
+     * @throws \Exception
+     */
+    protected function handleException($passable, Exception $e)
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Pipeline
/
Pipeline.php
+
+
    public function via($method)
+    {
+        $this->method = $method;
+ 
+        return $this;
+    }
+ 
+    /**
+     * Run the pipeline with a final destination callback.
+     *
+     * @param  \Closure  $destination
+     * @return mixed
+     */
+    public function then(Closure $destination)
+    {
+        $pipeline = array_reduce(
+            array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
+        );
+ 
+        return $pipeline($this->passable);
+    }
+ 
+    /**
+     * Get the final piece of the Closure onion.
+     *
+     * @param  \Closure  $destination
+     * @return \Closure
+     */
+    protected function prepareDestination(Closure $destination)
+    {
+        return function ($passable) use ($destination) {
+            return $destination($passable);
+        };
+    }
+ 
+    /**
+     * Get a Closure that represents a slice of the application onion.
+     *
+     * @return \Closure
+     */
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
+
+
    }
+ 
+    /**
+     * Send the given request through the middleware / router.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    protected function sendRequestThroughRouter($request)
+    {
+        $this->app->instance('request', $request);
+ 
+        Facade::clearResolvedInstance('request');
+ 
+        $this->bootstrap();
+ 
+        return (new Pipeline($this->app))
+                    ->send($request)
+                    ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
+                    ->then($this->dispatchToRouter());
+    }
+ 
+    /**
+     * Bootstrap the application for HTTP requests.
+     *
+     * @return void
+     */
+    public function bootstrap()
+    {
+        if (! $this->app->hasBeenBootstrapped()) {
+            $this->app->bootstrapWith($this->bootstrappers());
+        }
+    }
+ 
+    /**
+     * Get the route dispatcher callback.
+     *
+     * @return \Closure
+     */
+    protected function dispatchToRouter()
+ + +
+ Arguments +
+
+
  1. Closure {#4125
    +  class: "Illuminate\Foundation\Http\Kernel"
    +  this: Kernel {#4120 …}
    +  parameters: {
    +    $request: {}
    +  }
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
+
+
            $router->middlewareGroup($key, $middleware);
+        }
+ 
+        foreach ($this->routeMiddleware as $key => $middleware) {
+            $router->aliasMiddleware($key, $middleware);
+        }
+    }
+ 
+    /**
+     * Handle an incoming HTTP request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function handle($request)
+    {
+        try {
+            $request->enableHttpMethodParameterOverride();
+ 
+            $response = $this->sendRequestThroughRouter($request);
+        } catch (Exception $e) {
+            $this->reportException($e);
+ 
+            $response = $this->renderException($request, $e);
+        } catch (Throwable $e) {
+            $this->reportException($e = new FatalThrowableError($e));
+ 
+            $response = $this->renderException($request, $e);
+        }
+ 
+        $this->app['events']->dispatch(
+            new Events\RequestHandled($request, $response)
+        );
+ 
+        return $response;
+    }
+ 
+    /**
+     * Send the given request through the middleware / router.
+     *
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Application.php
+
+
 
+    /**
+     * Call the booting callbacks for the application.
+     *
+     * @param  array  $callbacks
+     * @return void
+     */
+    protected function fireAppCallbacks(array $callbacks)
+    {
+        foreach ($callbacks as $callback) {
+            call_user_func($callback, $this);
+        }
+    }
+ 
+    /**
+     * {@inheritdoc}
+     */
+    public function handle(SymfonyRequest $request, $type = self::MASTER_REQUEST, $catch = true)
+    {
+        return $this[HttpKernelContract::class]->handle(Request::createFromBase($request));
+    }
+ 
+    /**
+     * Determine if middleware has been disabled for the application.
+     *
+     * @return bool
+     */
+    public function shouldSkipMiddleware()
+    {
+        return $this->bound('middleware.disable') &&
+               $this->make('middleware.disable') === true;
+    }
+ 
+    /**
+     * Get the path to the cached services.php file.
+     *
+     * @return string
+     */
+    public function getCachedServicesPath()
+    {
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
Connector
/
Laravel5.php
+
+
    /**
+     * Execute a request.
+     *
+     * @param SymfonyRequest $request
+     * @return Response
+     */
+    protected function doRequest($request)
+    {
+        if (!$this->firstRequest) {
+            $this->initialize($request);
+        }
+        $this->firstRequest = false;
+ 
+        $this->applyBindings();
+        $this->applyContextualBindings();
+        $this->applyInstances();
+        $this->applyApplicationHandlers();
+ 
+        $request = Request::createFromBase($request);
+        $response = $this->kernel->handle($request);
+        $this->app->make('Illuminate\Contracts\Http\Kernel')->terminate($request, $response);
+ 
+        return $response;
+    }
+ 
+    /**
+     * Make sure files are \Illuminate\Http\UploadedFile instances with the private $test property set to true.
+     * Fixes issue https://github.com/Codeception/Codeception/pull/3417.
+     *
+     * @param array $files
+     * @return array
+     */
+    protected function filterFiles(array $files)
+    {
+        $files = parent::filterFiles($files);
+ 
+        if (! class_exists('Illuminate\Http\UploadedFile')) {
+            // The \Illuminate\Http\UploadedFile class was introduced in Laravel 5.2.15,
+            // so don't change the $files array if it does not exist.
+            return $files;
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
symfony
/
browser-kit
/
Client.php
+
+
        }
+ 
+        if (empty($server['HTTP_HOST'])) {
+            $server['HTTP_HOST'] = $this->extractHost($uri);
+        }
+ 
+        $server['HTTPS'] = 'https' == parse_url($uri, PHP_URL_SCHEME);
+ 
+        $this->internalRequest = new Request($uri, $method, $parameters, $files, $this->cookieJar->allValues($uri), $server, $content);
+ 
+        $this->request = $this->filterRequest($this->internalRequest);
+ 
+        if (true === $changeHistory) {
+            $this->history->add($this->internalRequest);
+        }
+ 
+        if ($this->insulated) {
+            $this->response = $this->doRequestInProcess($this->request);
+        } else {
+            $this->response = $this->doRequest($this->request);
+        }
+ 
+        $this->internalResponse = $this->filterResponse($this->response);
+ 
+        $this->cookieJar->updateFromResponse($this->internalResponse, $uri);
+ 
+        $status = $this->internalResponse->getStatus();
+ 
+        if ($status >= 300 && $status < 400) {
+            $this->redirect = $this->internalResponse->getHeader('Location');
+        } else {
+            $this->redirect = null;
+        }
+ 
+        if ($this->followRedirects && $this->redirect) {
+            $this->redirects[serialize($this->history->current())] = true;
+ 
+            return $this->crawler = $this->followRedirect();
+        }
+ 
+ + +
+ Arguments +
+
+
  1. Request {#5141
    +  #json: ParameterBag {#5214}
    +  #convertedFiles: null
    +  #userResolver: Closure {#5175
    +    class: "Illuminate\Auth\AuthServiceProvider"
    +    this: AuthServiceProvider {#4105 …}
    +    parameters: {
    +      $guard: {
    +        default: null
    +      }
    +    }
    +    use: {
    +      $app: Application {#3040 …}
    +    }
    +  }
    +  #routeResolver: Closure {#5165
    +    class: "Illuminate\Routing\Router"
    +    this: Router {#4093 …}
    +    use: {
    +      $route: Route {#4248 …}
    +    }
    +  }
    +  +attributes: ParameterBag {#5149}
    +  +request: ParameterBag {#5150}
    +  +query: ParameterBag {#5170}
    +  +server: ServerBag {#5147}
    +  +files: FileBag {#5145}
    +  +cookies: ParameterBag {#5130}
    +  +headers: HeaderBag {#5164}
    +  #content: "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +  #languages: null
    +  #charsets: null
    +  #encodings: null
    +  #acceptableContentTypes: array:4 [
    +    0 => "text/html"
    +    1 => "application/xhtml+xml"
    +    2 => "application/xml"
    +    3 => "*/*"
    +  ]
    +  #pathInfo: "/api/karyawaf/karyawans/1"
    +  #requestUri: "/api/karyawaf/karyawans/1"
    +  #baseUrl: ""
    +  #basePath: null
    +  #method: "PUT"
    +  #format: null
    +  #session: null
    +  #locale: null
    +  #defaultLocale: "en"
    +  -isHostValid: true
    +  -isForwardedValid: true
    +  basePath: ""
    +  format: "html"
    +}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
InnerBrowser.php
+
+
                $hostname = parse_url($uri, PHP_URL_HOST);
+                if (!$this->isInternalDomain($hostname)) {
+                    throw new ExternalUrlException(get_class($this) . " can't open external URL: " . $uri);
+                }
+            }
+ 
+            if ($method !== 'GET' && $content === null && !empty($parameters)) {
+                $content = http_build_query($parameters);
+            }
+        }
+ 
+        if (!ReflectionHelper::readPrivateProperty($this->client, 'followRedirects')) {
+            $result = $this->client->request($method, $uri, $parameters, $files, $server, $content, $changeHistory);
+            $this->debugResponse($uri);
+            return $result;
+        }
+ 
+        $maxRedirects = ReflectionHelper::readPrivateProperty($this->client, 'maxRedirects', 'Symfony\Component\BrowserKit\Client');
+        $this->client->followRedirects(false);
+        $result = $this->client->request($method, $uri, $parameters, $files, $server, $content, $changeHistory);
+        $this->debugResponse($uri);
+        return $this->redirectIfNecessary($result, $maxRedirects, 0);
+    }
+ 
+    protected function isInternalDomain($domain)
+    {
+        if ($this->internalDomains === null) {
+            $this->internalDomains = $this->getInternalDomains();
+        }
+ 
+        foreach ($this->internalDomains as $pattern) {
+            if (preg_match($pattern, $domain)) {
+                return true;
+            }
+        }
+        return false;
+    }
+ 
+    /**
+     * Opens a page with arbitrary request parameters.
+ + +
+ Arguments +
+
+
  1. "PUT"
    +
    +
  2. "http://laraland.test/api/karyawaf/karyawans/1"
    +
    +
  3. array:6 [
    +  "nama" => "Gregorio"
    +  "posisi" => "Gaming Dealer"
    +  "tempat_lahir" => "Hazelville"
    +  "tanggal_lahir" => Carbon @417291656 {#4993
    +    date: 1983-03-23 18:20:56.0 UTC (+00:00)
    +  }
    +  "rekrut" => "2013-11-05 02:11:05"
    +  "status" => "1"
    +]
    +
    +
  4. []
    +
    +
  5. array:5 [
    +  "HTTP_USER_AGENT" => "Symfony BrowserKit"
    +  "HTTP_HOST" => "laraland.test"
    +  "REQUEST_TIME" => 1532744935
    +  "REQUEST_TIME_FLOAT" => 1532744935.4527
    +  "HTTPS" => false
    +]
    +
    +
  6. "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +
    +
  7. true
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
InnerBrowser.php
+
+
     * @api
+     * @param $method
+     * @param $uri
+     * @param array $parameters
+     * @param array $files
+     * @param array $server
+     * @param null $content
+     * @return mixed|Crawler
+     * @throws ExternalUrlException
+     * @see `_loadPage`
+     */
+    public function _request(
+        $method,
+        $uri,
+        array $parameters = [],
+        array $files = [],
+        array $server = [],
+        $content = null
+    ) {
+        $this->clientRequest($method, $uri, $parameters, $files, $server, $content, true);
+        return $this->_getResponseContent();
+    }
+ 
+    /**
+     * Returns content of the last response
+     * Use it in Helpers when you want to retrieve response of request performed by another module.
+     *
+     * ```php
+     * <?php
+     * // in Helper class
+     * public function seeResponseContains($text)
+     * {
+     *    $this->assertContains($text, $this->getModule('{{MODULE_NAME}}')->_getResponseContent(), "response contains");
+     * }
+     * ?>
+     * ```
+     *
+     * @api
+     * @return string
+     * @throws ModuleException
+ + +
+ Arguments +
+
+
  1. "PUT"
    +
    +
  2. "/api/karyawaf/karyawans/1"
    +
    +
  3. array:6 [
    +  "nama" => "Gregorio"
    +  "posisi" => "Gaming Dealer"
    +  "tempat_lahir" => "Hazelville"
    +  "tanggal_lahir" => Carbon @417291656 {#4993
    +    date: 1983-03-23 18:20:56.0 UTC (+00:00)
    +  }
    +  "rekrut" => "2013-11-05 02:11:05"
    +  "status" => "1"
    +]
    +
    +
  4. []
    +
    +
  5. array:2 [
    +  "REQUEST_TIME" => 1532744935
    +  "REQUEST_TIME_FLOAT" => 1532744935.4527
    +]
    +
    +
  6. "nama=Gregorio&posisi=Gaming+Dealer&tempat_lahir=Hazelville&tanggal_lahir%5Bdate%5D=1983-03-23+18%3A20%3A56.000000&tanggal_lahir%5Btimezone_type%5D=3&tanggal_lahir%5Btimezone%5D=UTC&rekrut=2013-11-05+02%3A11%3A05&status=1"
    +
    +
  7. true
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Module
/
REST.php
+
+
 
+        $parameters = $this->encodeApplicationJson($method, $parameters);
+ 
+        if (is_array($parameters) || $method === 'GET') {
+            if (!empty($parameters) && $method === 'GET') {
+                if (strpos($url, '?') !== false) {
+                    $url .= '&';
+                } else {
+                    $url .= '?';
+                }
+                $url .= http_build_query($parameters);
+            }
+            if ($method == 'GET') {
+                $this->debugSection("Request", "$method $url");
+                $files = [];
+            } else {
+                $this->debugSection("Request", "$method $url " . json_encode($parameters));
+                $files = $this->formatFilesArray($files);
+            }
+            $this->response = (string)$this->connectionModule->_request($method, $url, $parameters, $files);
+        } else {
+            $requestData = $parameters;
+            if ($this->isBinaryData($requestData)) {
+                $requestData = $this->binaryToDebugString($requestData);
+            }
+            $this->debugSection("Request", "$method $url " . $requestData);
+            $this->response = (string)$this->connectionModule->_request($method, $url, [], $files, [], $parameters);
+        }
+        $printedResponse = $this->response;
+        if ($this->isBinaryData($printedResponse)) {
+            $printedResponse = $this->binaryToDebugString($printedResponse);
+        }
+        $this->debugSection("Response", $printedResponse);
+    }
+ 
+    /**
+     * Check if data has non-printable bytes and it is not a valid unicode string
+     *
+     * @param string $data the text or binary data string
+     * @return boolean
+ + +
+ Arguments +
+
+
  1. "PUT"
    +
    +
  2. "/api/karyawaf/karyawans/1"
    +
    +
  3. array:6 [
    +  "nama" => "Gregorio"
    +  "posisi" => "Gaming Dealer"
    +  "tempat_lahir" => "Hazelville"
    +  "tanggal_lahir" => Carbon @417291656 {#4993
    +    date: 1983-03-23 18:20:56.0 UTC (+00:00)
    +  }
    +  "rekrut" => "2013-11-05 02:11:05"
    +  "status" => "1"
    +]
    +
    +
  4. []
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Module
/
REST.php
+
+
     * @part json
+     * @part xml
+     */
+    public function sendGET($url, $params = [])
+    {
+        $this->execute('GET', $url, $params);
+    }
+ 
+    /**
+     * Sends PUT request to given uri.
+     *
+     * @param $url
+     * @param array $params
+     * @param array $files
+     * @part json
+     * @part xml
+     */
+    public function sendPUT($url, $params = [], $files = [])
+    {
+        $this->execute('PUT', $url, $params, $files);
+    }
+ 
+    /**
+     * Sends PATCH request to given uri.
+     *
+     * @param       $url
+     * @param array $params
+     * @param array $files
+     * @part json
+     * @part xml
+     */
+    public function sendPATCH($url, $params = [], $files = [])
+    {
+        $this->execute('PATCH', $url, $params, $files);
+    }
+ 
+    /**
+     * Sends DELETE request to given uri.
+     *
+     * @param $url
+ + +
+ Arguments +
+
+
  1. "PUT"
    +
    +
  2. "/api/karyawaf/karyawans/1"
    +
    +
  3. array:6 [
    +  "nama" => "Gregorio"
    +  "posisi" => "Gaming Dealer"
    +  "tempat_lahir" => "Hazelville"
    +  "tanggal_lahir" => Carbon @417291656 {#4993
    +    date: 1983-03-23 18:20:56.0 UTC (+00:00)
    +  }
    +  "rekrut" => "2013-11-05 02:11:05"
    +  "status" => "1"
    +]
    +
    +
  4. []
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Step.php
+
+
        $text = preg_replace('/([A-Z]+)([A-Z][a-z])/', '\\1 \\2', $text);
+        $text = preg_replace('/([a-z\d])([A-Z])/', '\\1 \\2', $text);
+        $text = preg_replace('~\bdont\b~', 'don\'t', $text);
+        return mb_strtolower($text, 'UTF-8');
+    }
+ 
+    public function run(ModuleContainer $container = null)
+    {
+        $this->executed = true;
+        if (!$container) {
+            return null;
+        }
+        $activeModule = $container->moduleForAction($this->action);
+ 
+        if (!is_callable([$activeModule, $this->action])) {
+            throw new \RuntimeException("Action '{$this->action}' can't be called");
+        }
+ 
+        try {
+            $res = call_user_func_array([$activeModule, $this->action], $this->arguments);
+        } catch (\Exception $e) {
+            $this->failed = true;
+            if ($this->getMetaStep()) {
+                $this->getMetaStep()->setFailed(true);
+            }
+            throw $e;
+        }
+        return $res;
+    }
+ 
+    /**
+     * If steps are combined into one method they can be reproduced as meta-step.
+     * We are using stack trace to analyze if steps were called from test, if not - they were called from meta-step.
+     *
+     * @param $step
+     * @param $stack
+     */
+    protected function addMetaStep($step, $stack)
+    {
+        if (($this->isTestFile($this->file)) || ($step['class'] == 'Codeception\Scenario')) {
+ + +
+ Arguments +
+
+
  1. "/api/karyawaf/karyawans/1"
    +
    +
  2. array:6 [
    +  "nama" => "Gregorio"
    +  "posisi" => "Gaming Dealer"
    +  "tempat_lahir" => "Hazelville"
    +  "tanggal_lahir" => Carbon @417291656 {#4993
    +    date: 1983-03-23 18:20:56.0 UTC (+00:00)
    +  }
    +  "rekrut" => "2013-11-05 02:11:05"
    +  "status" => "1"
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Step.php
+
+
        $text = preg_replace('/([A-Z]+)([A-Z][a-z])/', '\\1 \\2', $text);
+        $text = preg_replace('/([a-z\d])([A-Z])/', '\\1 \\2', $text);
+        $text = preg_replace('~\bdont\b~', 'don\'t', $text);
+        return mb_strtolower($text, 'UTF-8');
+    }
+ 
+    public function run(ModuleContainer $container = null)
+    {
+        $this->executed = true;
+        if (!$container) {
+            return null;
+        }
+        $activeModule = $container->moduleForAction($this->action);
+ 
+        if (!is_callable([$activeModule, $this->action])) {
+            throw new \RuntimeException("Action '{$this->action}' can't be called");
+        }
+ 
+        try {
+            $res = call_user_func_array([$activeModule, $this->action], $this->arguments);
+        } catch (\Exception $e) {
+            $this->failed = true;
+            if ($this->getMetaStep()) {
+                $this->getMetaStep()->setFailed(true);
+            }
+            throw $e;
+        }
+        return $res;
+    }
+ 
+    /**
+     * If steps are combined into one method they can be reproduced as meta-step.
+     * We are using stack trace to analyze if steps were called from test, if not - they were called from meta-step.
+     *
+     * @param $step
+     * @param $stack
+     */
+    protected function addMetaStep($step, $stack)
+    {
+        if (($this->isTestFile($this->file)) || ($step['class'] == 'Codeception\Scenario')) {
+ + +
+ Arguments +
+
+
  1. array:2 [
    +  0 => REST {#351}
    +  1 => "sendPUT"
    +]
    +
    +
  2. array:2 [
    +  0 => "/api/karyawaf/karyawans/1"
    +  1 => array:6 [
    +    "nama" => "Gregorio"
    +    "posisi" => "Gaming Dealer"
    +    "tempat_lahir" => "Hazelville"
    +    "tanggal_lahir" => Carbon @417291656 {#4993
    +      date: 1983-03-23 18:20:56.0 UTC (+00:00)
    +    }
    +    "rekrut" => "2013-11-05 02:11:05"
    +    "status" => "1"
    +  ]
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Scenario.php
+
+
    {
+        return $this->metadata->getGroups();
+    }
+ 
+    public function current($key)
+    {
+        return $this->metadata->getCurrent($key);
+    }
+ 
+    public function runStep(Step $step)
+    {
+        $step->saveTrace();
+        if ($this->metaStep instanceof Step\Meta) {
+            $step->setMetaStep($this->metaStep);
+        }
+        $this->steps[] = $step;
+        $result = null;
+        $this->metadata->getService('dispatcher')->dispatch(Events::STEP_BEFORE, new StepEvent($this->test, $step));
+        try {
+            $result = $step->run($this->metadata->getService('modules'));
+        } catch (ConditionalAssertionFailed $f) {
+            $result = $this->test->getTestResultObject();
+            if (is_null($result)) {
+                $this->metadata->getService('dispatcher')->dispatch(Events::STEP_AFTER, new StepEvent($this->test, $step));
+                throw $f;
+            } else {
+                $result->addFailure(clone($this->test), $f, $result->time());
+            }
+        } catch (\Exception $e) {
+            $this->metadata->getService('dispatcher')->dispatch(Events::STEP_AFTER, new StepEvent($this->test, $step));
+            throw $e;
+        }
+        $this->metadata->getService('dispatcher')->dispatch(Events::STEP_AFTER, new StepEvent($this->test, $step));
+        $step->executed = true;
+        return $result;
+    }
+ 
+    public function addStep(Step $step)
+    {
+        $this->steps[] = $step;
+ + +
+ Arguments +
+
+
  1. ModuleContainer {#228}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
Modules
/
Karyawaf
/
Tests
/
_support
/
_generated
/
FunctionalTesterActions.php
+
+
     */
+    public function sendGET($url, $params = null) {
+        return $this->getScenario()->runStep(new \Codeception\Step\Action('sendGET', func_get_args()));
+    }
+ 
+ 
+    /**
+     * [!] Method is generated. Documentation taken from corresponding module.
+     *
+     * Sends PUT request to given uri.
+     *
+     * @param $url
+     * @param array $params
+     * @param array $files
+     * @part json
+     * @part xml
+     * @see \Codeception\Module\REST::sendPUT()
+     */
+    public function sendPUT($url, $params = null, $files = null) {
+        return $this->getScenario()->runStep(new \Codeception\Step\Action('sendPUT', func_get_args()));
+    }
+ 
+ 
+    /**
+     * [!] Method is generated. Documentation taken from corresponding module.
+     *
+     * Sends PATCH request to given uri.
+     *
+     * @param       $url
+     * @param array $params
+     * @param array $files
+     * @part json
+     * @part xml
+     * @see \Codeception\Module\REST::sendPATCH()
+     */
+    public function sendPATCH($url, $params = null, $files = null) {
+        return $this->getScenario()->runStep(new \Codeception\Step\Action('sendPATCH', func_get_args()));
+    }
+ 
+ 
+ + +
+ Arguments +
+
+
  1. Action {#5075}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
Modules
/
Karyawaf
/
Tests
/
functional
/
ApiKaryawansCest.php
+
+
        $I->seeResponseContainsJson([
+            'data' => [
+                'nama' => $karyawan['nama']
+            ]
+        ]);
+    }
+ 
+    public function updateData(FunctionalTester $I)
+    {
+        Auth::user()->can('update-karyawan');
+ 
+        $karyawan = Karyawan::find(1);
+ 
+        $I->sendPUT($this->endpoint . '/' . $karyawan->id, [
+            'nama' => 'Gregorio',
+            'posisi' => $karyawan->posisi,
+            'tempat_lahir' => $karyawan->tempat_lahir,
+            'tanggal_lahir' => $karyawan->tanggal_lahir,
+            'rekrut' => $karyawan->rekrut,
+            'status' => $karyawan->status
+        ]);
+ 
+        $I->seeResponseContainsJson([
+            'data' => [
+                'nama' => 'Gregorio'
+            ]
+        ]);
+    }
+ 
+    public function deleteData(FunctionalTester $I)
+    {
+        $karyawan = Karyawan::find(1);
+ 
+        $I->sendDELETE($this->endpoint . '/' . $karyawan->id);
+ 
+        $I->seeResponseCodeIsSuccessful();
+        $I->seeResponseContains('deleted');
+    }
+}
+ 
+ + +
+ Arguments +
+
+
  1. "/api/karyawaf/karyawans/1"
    +
    +
  2. array:6 [
    +  "nama" => "Gregorio"
    +  "posisi" => "Gaming Dealer"
    +  "tempat_lahir" => "Hazelville"
    +  "tanggal_lahir" => Carbon @417291656 {#4993
    +    date: 1983-03-23 18:20:56.0 UTC (+00:00)
    +  }
    +  "rekrut" => "2013-11-05 02:11:05"
    +  "status" => "1"
    +]
    +
    +
+ +
+
+ +
+
+
+
[internal]
+
+ +
+ Arguments +
+
+
  1. FunctionalTester {#2992}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Lib
/
Di.php
+
+
            return;
+        }
+ 
+        $reflectedMethod = $reflectedObject->getMethod($injectMethodName);
+        try {
+            $args = $this->prepareArgs($reflectedMethod, $defaults);
+        } catch (\Exception $e) {
+            $msg = $e->getMessage();
+            if ($e->getPrevious()) { // injection failed because PHP code is invalid. See #3869
+                $msg .= '; '. $e->getPrevious();
+            }
+            throw new InjectionException(
+                "Failed to inject dependencies in instance of '{$reflectedObject->name}'. $msg"
+            );
+        }
+ 
+        if (!$reflectedMethod->isPublic()) {
+            $reflectedMethod->setAccessible(true);
+        }
+        $reflectedMethod->invokeArgs($object, $args);
+    }
+ 
+    /**
+     * @param \ReflectionMethod $method
+     * @param $defaults
+     * @throws InjectionException
+     * @return array
+     */
+    protected function prepareArgs(\ReflectionMethod $method, $defaults = [])
+    {
+        $args = [];
+        $parameters = $method->getParameters();
+        foreach ($parameters as $k => $parameter) {
+            $dependency = $parameter->getClass();
+            if (is_null($dependency)) {
+                if (!$parameter->isOptional()) {
+                    if (!isset($defaults[$k])) {
+                        throw new InjectionException("Parameter '$parameter->name' must have default value.");
+                    }
+                    $args[] = $defaults[$k];
+ + +
+ Arguments +
+
+
  1. ApiKaryawansCest {#322}
    +
    +
  2. array:1 [
    +  0 => FunctionalTester {#2992}
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Cest.php
+
+
 
+    protected function executeContextMethod($context, $I)
+    {
+        if (method_exists($this->testClassInstance, $context)) {
+            $this->executeBeforeMethods($context, $I);
+            $this->invoke($context, [$I, $this->scenario]);
+            $this->executeAfterMethods($context, $I);
+            return;
+        }
+        throw new \LogicException(
+            "Method $context defined in annotation but does not exist in " . get_class($this->testClassInstance)
+        );
+    }
+ 
+    protected function invoke($methodName, array $context)
+    {
+        foreach ($context as $class) {
+            $this->getMetadata()->getService('di')->set($class);
+        }
+        $this->getMetadata()->getService('di')->injectDependencies($this->testClassInstance, $methodName, $context);
+    }
+    protected function executeTestMethod($I)
+    {
+        if (!method_exists($this->testClassInstance, $this->testMethod)) {
+            throw new \Exception("Method {$this->testMethod} can't be found in tested class");
+        }
+ 
+        if ($this->getMetadata()->getCurrent('example')) {
+            $this->invoke($this->testMethod, [$I, $this->scenario, new Example($this->getMetadata()->getCurrent('example'))]);
+            return;
+        }
+        $this->invoke($this->testMethod, [$I, $this->scenario]);
+    }
+ 
+    public function toString()
+    {
+        return sprintf('%s: %s', ReflectionHelper::getClassShortName($this->getTestClass()), Message::ucfirst($this->getFeature()));
+    }
+ 
+    public function getSignature()
+ + +
+ Arguments +
+
+
  1. ApiKaryawansCest {#322}
    +
    +
  2. "updateData"
    +
    +
  3. array:2 [
    +  0 => FunctionalTester {#2992}
    +  1 => Scenario {#338}
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Cest.php
+
+
    }
+ 
+    protected function invoke($methodName, array $context)
+    {
+        foreach ($context as $class) {
+            $this->getMetadata()->getService('di')->set($class);
+        }
+        $this->getMetadata()->getService('di')->injectDependencies($this->testClassInstance, $methodName, $context);
+    }
+    protected function executeTestMethod($I)
+    {
+        if (!method_exists($this->testClassInstance, $this->testMethod)) {
+            throw new \Exception("Method {$this->testMethod} can't be found in tested class");
+        }
+ 
+        if ($this->getMetadata()->getCurrent('example')) {
+            $this->invoke($this->testMethod, [$I, $this->scenario, new Example($this->getMetadata()->getCurrent('example'))]);
+            return;
+        }
+        $this->invoke($this->testMethod, [$I, $this->scenario]);
+    }
+ 
+    public function toString()
+    {
+        return sprintf('%s: %s', ReflectionHelper::getClassShortName($this->getTestClass()), Message::ucfirst($this->getFeature()));
+    }
+ 
+    public function getSignature()
+    {
+        return get_class($this->getTestClass()) . ":" . $this->getTestMethod();
+    }
+ 
+    public function getTestClass()
+    {
+        return $this->testClassInstance;
+    }
+ 
+    public function getTestMethod()
+    {
+        return $this->testMethod;
+ + +
+ Arguments +
+
+
  1. "updateData"
    +
    +
  2. array:2 [
    +  0 => FunctionalTester {#2992}
    +  1 => Scenario {#338}
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Cest.php
+
+
        return implode("", array_slice($source, $start_line, $end_line - $start_line));
+    }
+ 
+    public function getSpecFromMethod()
+    {
+        $text = $this->testMethod;
+        $text = preg_replace('/([A-Z]+)([A-Z][a-z])/', '\\1 \\2', $text);
+        $text = preg_replace('/([a-z\d])([A-Z])/', '\\1 \\2', $text);
+        $text = strtolower($text);
+        return $text;
+    }
+ 
+    public function test()
+    {
+        $actorClass = $this->getMetadata()->getCurrent('actor');
+        $I = new $actorClass($this->getScenario());
+        try {
+            $this->executeHook($I, 'before');
+            $this->executeBeforeMethods($this->testMethod, $I);
+            $this->executeTestMethod($I);
+            $this->executeAfterMethods($this->testMethod, $I);
+            $this->executeHook($I, 'passed');
+        } catch (\Exception $e) {
+            $this->executeHook($I, 'failed');
+            // fails and errors are now handled by Codeception\PHPUnit\Listener
+            throw $e;
+        } finally {
+            $this->executeHook($I, 'after');
+        }
+    }
+ 
+    protected function executeHook($I, $hook)
+    {
+        if (is_callable([$this->testClassInstance, "_$hook"])) {
+            $this->invoke("_$hook", [$I, $this->scenario]);
+        }
+    }
+ 
+    protected function executeBeforeMethods($testMethod, $I)
+    {
+ + +
+ Arguments +
+
+
  1. FunctionalTester {#2992}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Test
/
Test.php
+
+
 
+        $status = self::STATUS_PENDING;
+        $time = 0;
+        $e = null;
+        
+        $result->startTest($this);
+ 
+        foreach ($this->hooks as $hook) {
+            if (method_exists($this, $hook.'Start')) {
+                $this->{$hook.'Start'}();
+            }
+        }
+ 
+        $failedToStart = ReflectionHelper::readPrivateProperty($result, 'lastTestFailed');
+ 
+        if (!$this->ignored && !$failedToStart) {
+ 
+            Timer::start();
+            try {
+                $this->test();
+                $status = self::STATUS_OK;
+            } catch (\PHPUnit\Framework\AssertionFailedError $e) {
+                $status = self::STATUS_FAIL;
+            } catch (\PHPUnit\Framework\Exception $e) {
+                $status = self::STATUS_ERROR;
+            } catch (\Throwable $e) {
+                $e     = new \PHPUnit\Framework\ExceptionWrapper($e);
+                $status = self::STATUS_ERROR;
+            } catch (\Exception $e) {
+                $e     = new \PHPUnit\Framework\ExceptionWrapper($e);
+                $status = self::STATUS_ERROR;
+            }
+            $time = Timer::stop();
+        }
+ 
+        foreach (array_reverse($this->hooks) as $hook) {
+            if (method_exists($this, $hook.'End')) {
+                $this->{$hook.'End'}($status, $time, $e);
+            }
+        }
+ + + +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
phpunit
/
phpunit
/
src
/
Framework
/
TestSuite.php
+
+
 
+            $this->tearDown();
+            $result->endTestSuite($this);
+ 
+            return $result;
+        }
+ 
+        foreach ($this as $test) {
+            if ($result->shouldStop()) {
+                break;
+            }
+ 
+            if ($test instanceof TestCase || $test instanceof self) {
+                $test->setBeStrictAboutChangesToGlobalState($this->beStrictAboutChangesToGlobalState);
+                $test->setBackupGlobals($this->backupGlobals);
+                $test->setBackupStaticAttributes($this->backupStaticAttributes);
+                $test->setRunTestInSeparateProcess($this->runTestInSeparateProcess);
+            }
+ 
+            $test->run($result);
+        }
+ 
+        foreach ($hookMethods['afterClass'] as $afterClassMethod) {
+            if ($this->testCase === true && \class_exists($this->name, false) && \method_exists($this->name, $afterClassMethod)) {
+                \call_user_func([$this->name, $afterClassMethod]);
+            }
+        }
+ 
+        $this->tearDown();
+ 
+        $result->endTestSuite($this);
+ 
+        return $result;
+    }
+ 
+    /**
+     * @param bool $runTestInSeparateProcess
+     *
+     * @throws Exception
+     */
+ + +
+ Arguments +
+
+
  1. TestResult {#170}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
phpunit-wrapper
/
src
/
Runner.php
+
+
            $result->beStrictAboutOutputDuringTests((bool)$arguments['disallow_test_output']);
+        }
+ 
+        if (empty(self::$persistentListeners)) {
+            $this->applyReporters($result, $arguments);
+        }
+ 
+        if (class_exists('\Symfony\Bridge\PhpUnit\SymfonyTestsListener')) {
+            $arguments['listeners'] = isset($arguments['listeners']) ? $arguments['listeners'] : [];
+            $arguments['listeners'][] = new \Symfony\Bridge\PhpUnit\SymfonyTestsListener();
+        }
+ 
+        $arguments['listeners'][] = $this->printer;
+ 
+        // clean up listeners between suites
+        foreach ($arguments['listeners'] as $listener) {
+            $result->addListener($listener);
+        }
+ 
+        $suite->run($result);
+        unset($suite);
+ 
+        foreach ($arguments['listeners'] as $listener) {
+            $result->removeListener($listener);
+        }
+ 
+        return $result;
+    }
+ 
+    /**
+     * @param \PHPUnit\Framework\TestResult $result
+     * @param array $arguments
+     *
+     * @return array
+     */
+    protected function applyReporters(\PHPUnit\Framework\TestResult $result, array $arguments)
+    {
+        foreach ($this->defaultListeners as $listener => $value) {
+            if (!isset($arguments[$listener])) {
+                $arguments[$listener] = $value;
+ + +
+ Arguments +
+
+
  1. TestResult {#170}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
SuiteManager.php
+
+
            $name = $this->settings['namespace'] . ".$name";
+        }
+        $suite->setName($name);
+        if (isset($this->settings['backup_globals'])) {
+            $suite->setBackupGlobals((bool) $this->settings['backup_globals']);
+        }
+ 
+        if (isset($this->settings['be_strict_about_changes_to_global_state']) && method_exists($suite, 'setbeStrictAboutChangesToGlobalState')) {
+            $suite->setbeStrictAboutChangesToGlobalState((bool)$this->settings['be_strict_about_changes_to_global_state']);
+        }
+        $suite->setModules($this->moduleContainer->all());
+        return $suite;
+    }
+ 
+ 
+    public function run(PHPUnit\Runner $runner, \PHPUnit\Framework\TestResult $result, $options)
+    {
+        $runner->prepareSuite($this->suite, $options);
+        $this->dispatcher->dispatch(Events::SUITE_BEFORE, new Event\SuiteEvent($this->suite, $result, $this->settings));
+        $runner->doEnhancedRun($this->suite, $result, $options);
+        $this->dispatcher->dispatch(Events::SUITE_AFTER, new Event\SuiteEvent($this->suite, $result, $this->settings));
+    }
+ 
+    /**
+     * @return \Codeception\Suite
+     */
+    public function getSuite()
+    {
+        return $this->suite;
+    }
+ 
+    /**
+     * @return ModuleContainer
+     */
+    public function getModuleContainer()
+    {
+        return $this->moduleContainer;
+    }
+ 
+    protected function getActor()
+ + +
+ Arguments +
+
+
  1. Suite {#295}
    +
    +
  2. TestResult {#170}
    +
    +
  3. array:72 [
    +  "silent" => false
    +  "debug" => false
    +  "steps" => false
    +  "html" => false
    +  "xml" => false
    +  "json" => false
    +  "tap" => false
    +  "report" => false
    +  "colors" => true
    +  "coverage" => false
    +  "coverage-xml" => false
    +  "coverage-html" => false
    +  "coverage-text" => false
    +  "coverage-crap4j" => false
    +  "coverage-phpunit" => false
    +  "groups" => []
    +  "excludeGroups" => []
    +  "filter" => false
    +  "env" => null
    +  "fail-fast" => false
    +  "ansi" => true
    +  "verbosity" => 32
    +  "interactive" => true
    +  "no-rebuild" => false
    +  "quiet" => false
    +  "bootstrap" => false
    +  "strict_xml" => false
    +  "lint" => true
    +  "backup_globals" => true
    +  "log_incomplete_skipped" => false
    +  "report_useless_tests" => false
    +  "disallow_test_output" => false
    +  "be_strict_about_changes_to_global_state" => false
    +  "listeners" => array:1 [
    +    0 => UI {#221}
    +  ]
    +  "addUncoveredFilesFromWhitelist" => true
    +  "backupGlobals" => null
    +  "backupStaticAttributes" => null
    +  "beStrictAboutChangesToGlobalState" => null
    +  "beStrictAboutResourceUsageDuringSmallTests" => false
    +  "cacheTokens" => false
    +  "columns" => 80
    +  "convertDeprecationsToExceptions" => true
    +  "convertErrorsToExceptions" => true
    +  "convertNoticesToExceptions" => true
    +  "convertWarningsToExceptions" => true
    +  "crap4jThreshold" => 30
    +  "disallowTestOutput" => false
    +  "disallowTodoAnnotatedTests" => false
    +  "enforceTimeLimit" => false
    +  "failOnRisky" => false
    +  "failOnWarning" => false
    +  "processIsolation" => false
    +  "processUncoveredFilesFromWhitelist" => false
    +  "registerMockObjectsFromTestArgumentsRecursively" => false
    +  "repeat" => false
    +  "reportHighLowerBound" => 90
    +  "reportLowUpperBound" => 50
    +  "reportUselessTests" => true
    +  "reverseList" => false
    +  "stopOnError" => false
    +  "stopOnFailure" => false
    +  "stopOnIncomplete" => false
    +  "stopOnRisky" => false
    +  "stopOnSkipped" => false
    +  "stopOnWarning" => false
    +  "strictCoverage" => false
    +  "testdoxExcludeGroups" => []
    +  "testdoxGroups" => []
    +  "timeoutForLargeTests" => 60
    +  "timeoutForMediumTests" => 10
    +  "timeoutForSmallTests" => 1
    +  "verbose" => false
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Codecept.php
+
+
                    $config['current_environment'] = implode(',', $currentEnvironment);
+                }
+            }
+            if (empty($config)) {
+                continue;
+            }
+            $suiteToRun = $suite;
+            if (!empty($envList)) {
+                $suiteToRun .= ' (' . implode(', ', $envArray) . ')';
+            }
+            $this->runSuite($config, $suiteToRun, $test);
+        }
+    }
+ 
+    public function runSuite($settings, $suite, $test = null)
+    {
+        $suiteManager = new SuiteManager($this->dispatcher, $suite, $settings);
+        $suiteManager->initialize();
+        $suiteManager->loadTests($test);
+        $suiteManager->run($this->runner, $this->result, $this->options);
+        return $this->result;
+    }
+ 
+    public static function versionString()
+    {
+        return 'Codeception PHP Testing Framework v' . self::VERSION;
+    }
+ 
+    public function printResult()
+    {
+        $result = $this->getResult();
+        $result->flushListeners();
+ 
+        $printer = $this->runner->getPrinter();
+        $printer->printResult($result);
+ 
+        $this->dispatcher->dispatch(Events::RESULT_PRINT_AFTER, new Event\PrintResultEvent($result, $printer));
+    }
+ 
+    /**
+ + +
+ Arguments +
+
+
  1. Runner {#222}
    +
    +
  2. TestResult {#170}
    +
    +
  3. array:72 [
    +  "silent" => false
    +  "debug" => false
    +  "steps" => false
    +  "html" => false
    +  "xml" => false
    +  "json" => false
    +  "tap" => false
    +  "report" => false
    +  "colors" => true
    +  "coverage" => false
    +  "coverage-xml" => false
    +  "coverage-html" => false
    +  "coverage-text" => false
    +  "coverage-crap4j" => false
    +  "coverage-phpunit" => false
    +  "groups" => []
    +  "excludeGroups" => []
    +  "filter" => false
    +  "env" => null
    +  "fail-fast" => false
    +  "ansi" => true
    +  "verbosity" => 32
    +  "interactive" => true
    +  "no-rebuild" => false
    +  "quiet" => false
    +  "bootstrap" => false
    +  "strict_xml" => false
    +  "lint" => true
    +  "backup_globals" => true
    +  "log_incomplete_skipped" => false
    +  "report_useless_tests" => false
    +  "disallow_test_output" => false
    +  "be_strict_about_changes_to_global_state" => false
    +  "listeners" => []
    +  "addUncoveredFilesFromWhitelist" => true
    +  "backupGlobals" => null
    +  "backupStaticAttributes" => null
    +  "beStrictAboutChangesToGlobalState" => null
    +  "beStrictAboutResourceUsageDuringSmallTests" => false
    +  "cacheTokens" => false
    +  "columns" => 80
    +  "convertDeprecationsToExceptions" => true
    +  "convertErrorsToExceptions" => true
    +  "convertNoticesToExceptions" => true
    +  "convertWarningsToExceptions" => true
    +  "crap4jThreshold" => 30
    +  "disallowTestOutput" => false
    +  "disallowTodoAnnotatedTests" => false
    +  "enforceTimeLimit" => false
    +  "failOnRisky" => false
    +  "failOnWarning" => false
    +  "processIsolation" => false
    +  "processUncoveredFilesFromWhitelist" => false
    +  "registerMockObjectsFromTestArgumentsRecursively" => false
    +  "repeat" => false
    +  "reportHighLowerBound" => 90
    +  "reportLowUpperBound" => 50
    +  "reportUselessTests" => true
    +  "reverseList" => false
    +  "stopOnError" => false
    +  "stopOnFailure" => false
    +  "stopOnIncomplete" => false
    +  "stopOnRisky" => false
    +  "stopOnSkipped" => false
    +  "stopOnWarning" => false
    +  "strictCoverage" => false
    +  "testdoxExcludeGroups" => []
    +  "testdoxGroups" => []
    +  "timeoutForLargeTests" => 60
    +  "timeoutForMediumTests" => 10
    +  "timeoutForSmallTests" => 1
    +  "verbose" => false
    +]
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Codecept.php
+
+
        $this->dispatcher->addSubscriber($this->extensionLoader);
+        $this->extensionLoader->registerGlobalExtensions();
+    }
+ 
+    public function run($suite, $test = null, array $config = null)
+    {
+        ini_set(
+            'memory_limit',
+            isset($this->config['settings']['memory_limit']) ? $this->config['settings']['memory_limit'] : '1024M'
+        );
+ 
+        $config = $config ?: Configuration::config();
+ 
+        $settings = Configuration::suiteSettings($suite, $config);
+ 
+        $selectedEnvironments = $this->options['env'];
+        $environments = Configuration::suiteEnvironments($suite);
+ 
+        if (!$selectedEnvironments or empty($environments)) {
+            $this->runSuite($settings, $suite, $test);
+            return;
+        }
+ 
+        foreach (array_unique($selectedEnvironments) as $envList) {
+            $envArray = explode(',', $envList);
+            $config = [];
+            foreach ($envArray as $env) {
+                if (isset($environments[$env])) {
+                    $currentEnvironment = isset($config['current_environment']) ? [$config['current_environment']] : [];
+                    $config = Configuration::mergeConfigs($config, $environments[$env]);
+                    $currentEnvironment[] = $config['current_environment'];
+                    $config['current_environment'] = implode(',', $currentEnvironment);
+                }
+            }
+            if (empty($config)) {
+                continue;
+            }
+            $suiteToRun = $suite;
+            if (!empty($envList)) {
+                $suiteToRun .= ' (' . implode(', ', $envArray) . ')';
+ + +
+ Arguments +
+
+
  1. array:22 [
    +  "actor" => "FunctionalTester"
    +  "modules" => array:3 [
    +    "enabled" => array:3 [
    +      0 => array:1 [
    +        "Laravel5" => array:3 [
    +          "environment_file" => ".env.testing"
    +          "packages" => "Modules/Karyawaf"
    +          "cleanup" => true
    +        ]
    +      ]
    +      1 => array:1 [
    +        "REST" => array:1 [
    +          "depends" => "Laravel5"
    +        ]
    +      ]
    +      2 => "\Helper\Functional"
    +    ]
    +    "config" => []
    +    "depends" => []
    +  ]
    +  "colors" => true
    +  "bootstrap" => false
    +  "strict_xml" => false
    +  "lint" => true
    +  "backup_globals" => true
    +  "log_incomplete_skipped" => false
    +  "report_useless_tests" => false
    +  "disallow_test_output" => false
    +  "be_strict_about_changes_to_global_state" => false
    +  "coverage" => []
    +  "namespace" => ""
    +  "groups" => array:1 [
    +    "failed" => "Tests/_output/failed"
    +  ]
    +  "gherkin" => []
    +  "extensions" => array:3 [
    +    "enabled" => array:1 [
    +      0 => "Codeception\Extension\RunFailed"
    +    ]
    +    "config" => []
    +    "commands" => []
    +  ]
    +  "class_name" => null
    +  "path" => "/home/gregorio/Documents/codes/laraland/Modules/Karyawaf/Tests/functional/"
    +  "extends" => null
    +  "formats" => []
    +  "shuffle" => false
    +  "error_level" => "E_ALL & ~E_STRICT & ~E_DEPRECATED"
    +]
    +
    +
  2. "functional"
    +
    +
  3. null
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Command
/
Run.php
+
+
            throw new \RuntimeException(
+                "Can't include into runner suite without a namespace;\n"
+                . "Please add `namespace` section into included codeception.yml file"
+            );
+        }
+ 
+        return $config['namespace'];
+    }
+ 
+    protected function runSuites($suites, $skippedSuites = [])
+    {
+        $executed = 0;
+        foreach ($suites as $suite) {
+            if (in_array($suite, $skippedSuites)) {
+                continue;
+            }
+            if (!in_array($suite, Configuration::suites())) {
+                continue;
+            }
+            $this->codecept->run($suite);
+            $executed++;
+        }
+ 
+        return $executed;
+    }
+ 
+    protected function matchTestFromFilename($filename, $testsPath)
+    {
+        $testsPath = str_replace(['//', '\/', '\\'], '/', $testsPath);
+        $filename = str_replace(['//', '\/', '\\'], '/', $filename);
+        $res = preg_match("~^$testsPath/(.*?)(?>/(.*))?$~", $filename, $matches);
+ 
+        if (!$res) {
+            throw new \InvalidArgumentException("Test file can't be matched");
+        }
+        if (!isset($matches[2])) {
+            $matches[2] = null;
+        }
+ 
+        return $matches;
+ + +
+ Arguments +
+
+
  1. "functional"
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Command
/
Run.php
+
+
                    list(, $suite, $test) = $result;
+                }
+            }
+        }
+ 
+        if ($test) {
+            $filter = $this->matchFilteredTestName($test);
+            $userOptions['filter'] = $filter;
+        }
+ 
+        $this->codecept = new Codecept($userOptions);
+ 
+        if ($suite and $test) {
+            $this->codecept->run($suite, $test, $config);
+        }
+ 
+        // Run all tests of given suite or all suites
+        if (!$test) {
+            $suites = $suite ? explode(',', $suite) : Configuration::suites();
+            $this->executed = $this->runSuites($suites, $this->options['skip']);
+ 
+            if (!empty($config['include']) and !$suite) {
+                $current_dir = Configuration::projectDir();
+                $suites += $config['include'];
+                $this->runIncludedSuites($config['include'], $current_dir);
+            }
+ 
+            if ($this->executed === 0) {
+                throw new \RuntimeException(
+                    sprintf("Suite '%s' could not be found", implode(', ', $suites))
+                );
+            }
+        }
+ 
+        $this->codecept->printResult();
+ 
+        if (!$input->getOption('no-exit')) {
+            if (!$this->codecept->getResult()->wasSuccessful()) {
+                exit(1);
+            }
+ + +
+ Arguments +
+
+
  1. array:1 [
    +  0 => "functional"
    +]
    +
    +
  2. []
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
symfony
/
console
/
Command
/
Command.php
+
+
            }
+        }
+ 
+        if ($input->isInteractive()) {
+            $this->interact($input, $output);
+        }
+ 
+        // The command name argument is often omitted when a command is executed directly with its run() method.
+        // It would fail the validation if we didn't make sure the command argument is present,
+        // since it's required by the application.
+        if ($input->hasArgument('command') && null === $input->getArgument('command')) {
+            $input->setArgument('command', $this->getName());
+        }
+ 
+        $input->validate();
+ 
+        if ($this->code) {
+            $statusCode = call_user_func($this->code, $input, $output);
+        } else {
+            $statusCode = $this->execute($input, $output);
+        }
+ 
+        return is_numeric($statusCode) ? (int) $statusCode : 0;
+    }
+ 
+    /**
+     * Sets the code to execute when running this command.
+     *
+     * If this method is used, it overrides the code defined
+     * in the execute() method.
+     *
+     * @param callable $code A callable(InputInterface $input, OutputInterface $output)
+     *
+     * @return $this
+     *
+     * @throws InvalidArgumentException
+     *
+     * @see execute()
+     */
+    public function setCode(callable $code)
+ + +
+ Arguments +
+
+
  1. ArgvInput {#151}
    +
    +
  2. ConsoleOutput {#134}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
symfony
/
console
/
Application.php
+
+
    }
+ 
+    /**
+     * Runs the current command.
+     *
+     * If an event dispatcher has been attached to the application,
+     * events are also dispatched during the life-cycle of the command.
+     *
+     * @return int 0 if everything went fine, or an error code
+     */
+    protected function doRunCommand(Command $command, InputInterface $input, OutputInterface $output)
+    {
+        foreach ($command->getHelperSet() as $helper) {
+            if ($helper instanceof InputAwareInterface) {
+                $helper->setInput($input);
+            }
+        }
+ 
+        if (null === $this->dispatcher) {
+            return $command->run($input, $output);
+        }
+ 
+        // bind before the console.command event, so the listeners have access to input options/arguments
+        try {
+            $command->mergeApplicationDefinition();
+            $input->bind($command->getDefinition());
+        } catch (ExceptionInterface $e) {
+            // ignore invalid options/arguments for now, to allow the event listeners to customize the InputDefinition
+        }
+ 
+        $event = new ConsoleCommandEvent($command, $input, $output);
+        $e = null;
+ 
+        try {
+            $this->dispatcher->dispatch(ConsoleEvents::COMMAND, $event);
+ 
+            if ($event->commandShouldRun()) {
+                $exitCode = $command->run($input, $output);
+            } else {
+                $exitCode = ConsoleCommandEvent::RETURN_CODE_DISABLED;
+ + +
+ Arguments +
+
+
  1. ArgvInput {#151}
    +
    +
  2. ConsoleOutput {#134}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
symfony
/
console
/
Application.php
+
+
            $command = $this->find($name);
+        } catch (\Exception $e) {
+        } catch (\Throwable $e) {
+        }
+        if (null !== $e) {
+            if (null !== $this->dispatcher) {
+                $event = new ConsoleErrorEvent($input, $output, $e);
+                $this->dispatcher->dispatch(ConsoleEvents::ERROR, $event);
+                $e = $event->getError();
+ 
+                if (0 === $event->getExitCode()) {
+                    return 0;
+                }
+            }
+ 
+            throw $e;
+        }
+ 
+        $this->runningCommand = $command;
+        $exitCode = $this->doRunCommand($command, $input, $output);
+        $this->runningCommand = null;
+ 
+        return $exitCode;
+    }
+ 
+    public function setHelperSet(HelperSet $helperSet)
+    {
+        $this->helperSet = $helperSet;
+    }
+ 
+    /**
+     * Get the helper set associated with the command.
+     *
+     * @return HelperSet The HelperSet instance associated with this command
+     */
+    public function getHelperSet()
+    {
+        if (!$this->helperSet) {
+            $this->helperSet = $this->getDefaultHelperSet();
+        }
+ + +
+ Arguments +
+
+
  1. Run {#22}
    +
    +
  2. ArgvInput {#151}
    +
    +
  3. ConsoleOutput {#134}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
symfony
/
console
/
Application.php
+
+
                $this->renderException($e, $output);
+            }
+        };
+        if ($phpHandler = set_exception_handler($renderException)) {
+            restore_exception_handler();
+            if (!is_array($phpHandler) || !$phpHandler[0] instanceof ErrorHandler) {
+                $debugHandler = true;
+            } elseif ($debugHandler = $phpHandler[0]->setExceptionHandler($renderException)) {
+                $phpHandler[0]->setExceptionHandler($debugHandler);
+            }
+        }
+ 
+        if (null !== $this->dispatcher && $this->dispatcher->hasListeners(ConsoleEvents::EXCEPTION)) {
+            @trigger_error(sprintf('The "ConsoleEvents::EXCEPTION" event is deprecated since Symfony 3.3 and will be removed in 4.0. Listen to the "ConsoleEvents::ERROR" event instead.'), E_USER_DEPRECATED);
+        }
+ 
+        $this->configureIO($input, $output);
+ 
+        try {
+            $exitCode = $this->doRun($input, $output);
+        } catch (\Exception $e) {
+            if (!$this->catchExceptions) {
+                throw $e;
+            }
+ 
+            $renderException($e);
+ 
+            $exitCode = $e->getCode();
+            if (is_numeric($exitCode)) {
+                $exitCode = (int) $exitCode;
+                if (0 === $exitCode) {
+                    $exitCode = 1;
+                }
+            } else {
+                $exitCode = 1;
+            }
+        } finally {
+            // if the exception handler changed, keep it
+            // otherwise, unregister $renderException
+            if (!$phpHandler) {
+ + +
+ Arguments +
+
+
  1. ArgvInput {#151}
    +
    +
  2. ConsoleOutput {#134}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
src
/
Codeception
/
Application.php
+
+
        return $commandClass::getCommandName();
+    }
+ 
+    /**
+     * To cache Class ArgvInput
+     *
+     * @inheritDoc
+     */
+    public function run(InputInterface $input = null, OutputInterface $output = null)
+    {
+        if ($input === null) {
+            $input = $this->getCoreArguments();
+        }
+ 
+        if (!ini_get('register_argc_argv') && empty($_SERVER['argv'])) {
+            //register_argc_argv is always off on HHVM, but it has no effect
+            throw new ConfigurationException('register_argc_argv must be set to On for running Codeception');
+        }
+ 
+        return parent::run($input, $output);
+    }
+ 
+    /**
+     * Add global a --config option.
+     *
+     * @return InputDefinition
+     */
+    protected function getDefaultInputDefinition()
+    {
+        $inputDefinition = parent::getDefaultInputDefinition();
+        $inputDefinition->addOption(
+            new InputOption('config', 'c', InputOption::VALUE_OPTIONAL, 'Use custom path for config')
+        );
+        return $inputDefinition;
+    }
+ 
+    /**
+     * Search for --config Option and if found will be loaded
+     *
+     * example:
+ + +
+ Arguments +
+
+
  1. ArgvInput {#151}
    +
    +
  2. ConsoleOutput {#134}
    +
    +
+ +
+
+ +
+
+
+
/
home
/
gregorio
/
Documents
/
codes
/
laraland
/
vendor
/
codeception
/
codeception
/
codecept
+
+
$app->add(new Codeception\Command\Clean('clean'));
+$app->add(new Codeception\Command\GenerateGroup('generate:groupobject'));
+$app->add(new Codeception\Command\GeneratePageObject('generate:pageobject'));
+$app->add(new Codeception\Command\GenerateStepObject('generate:stepobject'));
+$app->add(new Codeception\Command\GenerateEnvironment('generate:environment'));
+$app->add(new Codeception\Command\GenerateFeature('generate:feature'));
+$app->add(new Codeception\Command\GherkinSnippets('gherkin:snippets'));
+$app->add(new Codeception\Command\GherkinSteps('gherkin:steps'));
+$app->add(new Codeception\Command\DryRun('dry-run'));
+$app->add(new Codeception\Command\ConfigValidate('config:validate'));
+ 
+// Suggests package
+if (class_exists('Stecman\Component\Symfony\Console\BashCompletion\CompletionCommand')) {
+    $app->add(new Codeception\Command\Completion());
+} else {
+    $app->add(new Codeception\Command\CompletionFallback());
+}
+ 
+$app->registerCustomCommands();
+$app->run();
+ 
+ + + +
+
+ +
+
+
+

Environment & details:

+ +
+
+ + empty +
+
+ + empty +
+
+ + empty +
+
+ + empty +
+
+ + empty +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
LANG
"en_US.UTF-8"
+
+
LESS
"-F -g -i -M -R -S -w -X -z-4"
+
+
DISPLAY
":0"
+
+
OLDPWD
"/home/gregorio"
+
+
INVOCATION_ID
"0a5aa167da604be2acc343c14c76b187"
+
+
EDITOR
"vim"
+
+
GPG_TTY
"/dev/pts/0"
+
+
MOZ_PLUGIN_PATH
"/usr/lib/mozilla/plugins"
+
+
XDG_VTNR
"1"
+
+
GIT_EDITOR
"/home/gregorio/.bin/git_editor"
+
+
SSH_AUTH_SOCK
"/run/user/1000/gnupg/S.gpg-agent.ssh"
+
+
XDG_SESSION_ID
"c1"
+
+
USER
"gregorio"
+
+
PAGER
"less"
+
+
LSCOLORS
"Gxfxcxdxbxegedabagacad"
+
+
PWD
"/home/gregorio/Documents/codes/laraland"
+
+
HOME
"/home/gregorio"
+
+
JOURNAL_STREAM
"9:15868"
+
+
GTK_MODULES
"canberra-gtk-module"
+
+
MAIL
"/var/spool/mail/gregorio"
+
+
VISUAL
"vim"
+
+
WINDOWPATH
"1"
+
+
SHELL
"/bin/zsh"
+
+
TERM
"rxvt-256color"
+
+
SHLVL
"3"
+
+
XDG_SEAT
"seat0"
+
+
LOGNAME
"gregorio"
+
+
DBUS_SESSION_BUS_ADDRESS
"unix:path=/run/user/1000/bus"
+
+
XDG_RUNTIME_DIR
"/run/user/1000"
+
+
XAUTHORITY
"/home/gregorio/.Xauthority"
+
+
PATH
"/home/gregorio/etc/joshd-dotfiles/bin.symlink:/home/gregorio/.bin/diff-highlight:/home/gregorio/etc/joshd-dotfiles/bin.symlink:/home/gregorio/.bin/diff-highlight:/home/gregorio/.local/bin:/home/gregorio/.npm-packages/bin:/home/gregorio/.npm-packages/bin:/home/gregorio/.config/composer/vendor/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/gregorio/.npm-packages/bin:/home/gregorio/.fzf/bin:/home/gregorio/.scripts"
+
+
WINDOWID
"10485770"
+
+
COLORFGBG
"default;default"
+
+
COLORTERM
"rxvt"
+
+
_
"/usr/bin/php"
+
+
PHP_SELF
"vendor/bin/codecept"
+
+
SCRIPT_NAME
"vendor/bin/codecept"
+
+
SCRIPT_FILENAME
"vendor/bin/codecept"
+
+
PATH_TRANSLATED
"vendor/bin/codecept"
+
+
DOCUMENT_ROOT
""
+
+
REQUEST_TIME_FLOAT
1532744935.1033
+
+
REQUEST_TIME
1532744935
+
+
argv
array:5 [
+  0 => "vendor/bin/codecept"
+  1 => "run"
+  2 => "functional"
+  3 => "-c"
+  4 => "Modules/Karyawaf"
+]
+
+
argc
5
+
+
SHELL_VERBOSITY
0
+
+
APP_ENV
"testing"
+
+
APP_KEY
"base64:0qzWgXyeH+Eje5Ta3NEh/pZnyJeJo2GW/gCKK+0FVkU="
+
+
APP_DEBUG
"true"
+
+
DB_CONNECTION
"sqlite"
+
+
DB_HOST
"sqlite"
+
+
DB_DATABASE
":memory:"
+
+
DB_USERNAME
""
+
+
DB_PASSWORD
""
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue
SHELL_VERBOSITY
0
+
+
APP_ENV
"testing"
+
+
APP_KEY
"base64:0qzWgXyeH+Eje5Ta3NEh/pZnyJeJo2GW/gCKK+0FVkU="
+
+
APP_DEBUG
"true"
+
+
DB_CONNECTION
"sqlite"
+
+
DB_HOST
"sqlite"
+
+
DB_DATABASE
":memory:"
+
+
DB_USERNAME
""
+
+
DB_PASSWORD
""
+
+
+
+
+ +
+ +
+ 0. Whoops\Handler\PrettyPageHandler
+
+ +
+
+
+
+ + + + + + + diff --git a/Modules/Karyawaf/Tests/_support/AcceptanceTester.php b/Modules/Karyawaf/Tests/_support/AcceptanceTester.php new file mode 100644 index 0000000..4c7dcbb --- /dev/null +++ b/Modules/Karyawaf/Tests/_support/AcceptanceTester.php @@ -0,0 +1,26 @@ +getScenario()->runStep(new \Codeception\Step\Action('setHeader', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Authenticates user for HTTP_AUTH + * + * @param $username + * @param $password + * @see \Codeception\Module\PhpBrowser::amHttpAuthenticated() + */ + public function amHttpAuthenticated($username, $password) { + return $this->getScenario()->runStep(new \Codeception\Step\Condition('amHttpAuthenticated', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Open web page at the given absolute URL and sets its hostname as the base host. + * + * ``` php + * amOnUrl('http://codeception.com'); + * $I->amOnPage('/quickstart'); // moves to http://codeception.com/quickstart + * ?> + * ``` + * @see \Codeception\Module\PhpBrowser::amOnUrl() + */ + public function amOnUrl($url) { + return $this->getScenario()->runStep(new \Codeception\Step\Condition('amOnUrl', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Changes the subdomain for the 'url' configuration parameter. + * Does not open a page; use `amOnPage` for that. + * + * ``` php + * amOnSubdomain('user'); + * $I->amOnPage('/'); + * // moves to http://user.mysite.com/ + * ?> + * ``` + * + * @param $subdomain + * + * @return mixed + * @see \Codeception\Module\PhpBrowser::amOnSubdomain() + */ + public function amOnSubdomain($subdomain) { + return $this->getScenario()->runStep(new \Codeception\Step\Condition('amOnSubdomain', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Low-level API method. + * If Codeception commands are not enough, use [Guzzle HTTP Client](http://guzzlephp.org/) methods directly + * + * Example: + * + * ``` php + * executeInGuzzle(function (\GuzzleHttp\Client $client) { + * $client->get('/get', ['query' => ['foo' => 'bar']]); + * }); + * ?> + * ``` + * + * It is not recommended to use this command on a regular basis. + * If Codeception lacks important Guzzle Client methods, implement them and submit patches. + * + * @param callable $function + * @see \Codeception\Module\PhpBrowser::executeInGuzzle() + */ + public function executeInGuzzle($function) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('executeInGuzzle', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Sets the HTTP header to the passed value - which is used on + * subsequent HTTP requests through PhpBrowser. + * + * Example: + * ```php + * haveHttpHeader('X-Requested-With', 'Codeception'); + * $I->amOnPage('test-headers.php'); + * ?> + * ``` + * + * To use special chars in Header Key use HTML Character Entities: + * Example: + * Header with underscore - 'Client_Id' + * should be represented as - 'Client_Id' or 'Client_Id' + * + * ```php + * haveHttpHeader('Client_Id', 'Codeception'); + * ?> + * ``` + * + * @param string $name the name of the request header + * @param string $value the value to set it to for subsequent + * requests + * @see \Codeception\Lib\InnerBrowser::haveHttpHeader() + */ + public function haveHttpHeader($name, $value) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('haveHttpHeader', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Deletes the header with the passed name. Subsequent requests + * will not have the deleted header in its request. + * + * Example: + * ```php + * haveHttpHeader('X-Requested-With', 'Codeception'); + * $I->amOnPage('test-headers.php'); + * // ... + * $I->deleteHeader('X-Requested-With'); + * $I->amOnPage('some-other-page.php'); + * ?> + * ``` + * + * @param string $name the name of the header to delete. + * @see \Codeception\Lib\InnerBrowser::deleteHeader() + */ + public function deleteHeader($name) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('deleteHeader', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Opens the page for the given relative URI. + * + * ``` php + * amOnPage('/'); + * // opens /register page + * $I->amOnPage('/register'); + * ``` + * + * @param string $page + * @see \Codeception\Lib\InnerBrowser::amOnPage() + */ + public function amOnPage($page) { + return $this->getScenario()->runStep(new \Codeception\Step\Condition('amOnPage', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Perform a click on a link or a button, given by a locator. + * If a fuzzy locator is given, the page will be searched for a button, link, or image matching the locator string. + * For buttons, the "value" attribute, "name" attribute, and inner text are searched. + * For links, the link text is searched. + * For images, the "alt" attribute and inner text of any parent links are searched. + * + * The second parameter is a context (CSS or XPath locator) to narrow the search. + * + * Note that if the locator matches a button of type `submit`, the form will be submitted. + * + * ``` php + * click('Logout'); + * // button of form + * $I->click('Submit'); + * // CSS button + * $I->click('#form input[type=submit]'); + * // XPath + * $I->click('//form/*[@type=submit]'); + * // link in context + * $I->click('Logout', '#nav'); + * // using strict locator + * $I->click(['link' => 'Login']); + * ?> + * ``` + * + * @param $link + * @param $context + * @see \Codeception\Lib\InnerBrowser::click() + */ + public function click($link, $context = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('click', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page contains the given string (case insensitive). + * + * You can specify a specific HTML element (via CSS or XPath) as the second + * parameter to only search within that element. + * + * ``` php + * see('Logout'); // I can suppose user is logged in + * $I->see('Sign Up', 'h1'); // I can suppose it's a signup page + * $I->see('Sign Up', '//body/h1'); // with XPath + * $I->see('Sign Up', ['css' => 'body h1']); // with strict CSS locator + * ``` + * + * Note that the search is done after stripping all HTML tags from the body, + * so `$I->see('strong')` will return true for strings like: + * + * - `

I am Stronger than thou

` + * - `` + * + * But will *not* be true for strings like: + * + * - `Home` + * - `
Home` + * - `` + * + * For checking the raw source code, use `seeInSource()`. + * + * @param string $text + * @param string $selector optional + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::see() + */ + public function canSee($text, $selector = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('see', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page contains the given string (case insensitive). + * + * You can specify a specific HTML element (via CSS or XPath) as the second + * parameter to only search within that element. + * + * ``` php + * see('Logout'); // I can suppose user is logged in + * $I->see('Sign Up', 'h1'); // I can suppose it's a signup page + * $I->see('Sign Up', '//body/h1'); // with XPath + * $I->see('Sign Up', ['css' => 'body h1']); // with strict CSS locator + * ``` + * + * Note that the search is done after stripping all HTML tags from the body, + * so `$I->see('strong')` will return true for strings like: + * + * - `

I am Stronger than thou

` + * - `` + * + * But will *not* be true for strings like: + * + * - `Home` + * - `
Home` + * - `` + * + * For checking the raw source code, use `seeInSource()`. + * + * @param string $text + * @param string $selector optional + * @see \Codeception\Lib\InnerBrowser::see() + */ + public function see($text, $selector = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('see', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page doesn't contain the text specified (case insensitive). + * Give a locator as the second parameter to match a specific region. + * + * ```php + * dontSee('Login'); // I can suppose user is already logged in + * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page + * $I->dontSee('Sign Up','//body/h1'); // with XPath + * $I->dontSee('Sign Up', ['css' => 'body h1']); // with strict CSS locator + * ``` + * + * Note that the search is done after stripping all HTML tags from the body, + * so `$I->dontSee('strong')` will fail on strings like: + * + * - `

I am Stronger than thou

` + * - `` + * + * But will ignore strings like: + * + * - `Home` + * - `
Home` + * - `` + * + * For checking the raw source code, use `seeInSource()`. + * + * @param string $text + * @param string $selector optional + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSee() + */ + public function cantSee($text, $selector = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSee', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page doesn't contain the text specified (case insensitive). + * Give a locator as the second parameter to match a specific region. + * + * ```php + * dontSee('Login'); // I can suppose user is already logged in + * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page + * $I->dontSee('Sign Up','//body/h1'); // with XPath + * $I->dontSee('Sign Up', ['css' => 'body h1']); // with strict CSS locator + * ``` + * + * Note that the search is done after stripping all HTML tags from the body, + * so `$I->dontSee('strong')` will fail on strings like: + * + * - `

I am Stronger than thou

` + * - `` + * + * But will ignore strings like: + * + * - `Home` + * - `
Home` + * - `` + * + * For checking the raw source code, use `seeInSource()`. + * + * @param string $text + * @param string $selector optional + * @see \Codeception\Lib\InnerBrowser::dontSee() + */ + public function dontSee($text, $selector = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSee', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page contains the given string in its + * raw source code. + * + * ``` php + * seeInSource('

Green eggs & ham

'); + * ``` + * + * @param $raw + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeInSource() + */ + public function canSeeInSource($raw) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInSource', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page contains the given string in its + * raw source code. + * + * ``` php + * seeInSource('

Green eggs & ham

'); + * ``` + * + * @param $raw + * @see \Codeception\Lib\InnerBrowser::seeInSource() + */ + public function seeInSource($raw) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInSource', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page contains the given string in its + * raw source code. + * + * ```php + * dontSeeInSource('

Green eggs & ham

'); + * ``` + * + * @param $raw + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeInSource() + */ + public function cantSeeInSource($raw) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInSource', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current page contains the given string in its + * raw source code. + * + * ```php + * dontSeeInSource('

Green eggs & ham

'); + * ``` + * + * @param $raw + * @see \Codeception\Lib\InnerBrowser::dontSeeInSource() + */ + public function dontSeeInSource($raw) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInSource', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that there's a link with the specified text. + * Give a full URL as the second parameter to match links with that exact URL. + * + * ``` php + * seeLink('Logout'); // matches Logout + * $I->seeLink('Logout','/logout'); // matches Logout + * ?> + * ``` + * + * @param string $text + * @param string $url optional + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeLink() + */ + public function canSeeLink($text, $url = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeLink', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that there's a link with the specified text. + * Give a full URL as the second parameter to match links with that exact URL. + * + * ``` php + * seeLink('Logout'); // matches Logout + * $I->seeLink('Logout','/logout'); // matches Logout + * ?> + * ``` + * + * @param string $text + * @param string $url optional + * @see \Codeception\Lib\InnerBrowser::seeLink() + */ + public function seeLink($text, $url = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeLink', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the page doesn't contain a link with the given string. + * If the second parameter is given, only links with a matching "href" attribute will be checked. + * + * ``` php + * dontSeeLink('Logout'); // I suppose user is not logged in + * $I->dontSeeLink('Checkout now', '/store/cart.php'); + * ?> + * ``` + * + * @param string $text + * @param string $url optional + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeLink() + */ + public function cantSeeLink($text, $url = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeLink', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the page doesn't contain a link with the given string. + * If the second parameter is given, only links with a matching "href" attribute will be checked. + * + * ``` php + * dontSeeLink('Logout'); // I suppose user is not logged in + * $I->dontSeeLink('Checkout now', '/store/cart.php'); + * ?> + * ``` + * + * @param string $text + * @param string $url optional + * @see \Codeception\Lib\InnerBrowser::dontSeeLink() + */ + public function dontSeeLink($text, $url = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeLink', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that current URI contains the given string. + * + * ``` php + * seeInCurrentUrl('home'); + * // to match: /users/1 + * $I->seeInCurrentUrl('/users/'); + * ?> + * ``` + * + * @param string $uri + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeInCurrentUrl() + */ + public function canSeeInCurrentUrl($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInCurrentUrl', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that current URI contains the given string. + * + * ``` php + * seeInCurrentUrl('home'); + * // to match: /users/1 + * $I->seeInCurrentUrl('/users/'); + * ?> + * ``` + * + * @param string $uri + * @see \Codeception\Lib\InnerBrowser::seeInCurrentUrl() + */ + public function seeInCurrentUrl($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInCurrentUrl', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URI doesn't contain the given string. + * + * ``` php + * dontSeeInCurrentUrl('/users/'); + * ?> + * ``` + * + * @param string $uri + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeInCurrentUrl() + */ + public function cantSeeInCurrentUrl($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInCurrentUrl', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URI doesn't contain the given string. + * + * ``` php + * dontSeeInCurrentUrl('/users/'); + * ?> + * ``` + * + * @param string $uri + * @see \Codeception\Lib\InnerBrowser::dontSeeInCurrentUrl() + */ + public function dontSeeInCurrentUrl($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInCurrentUrl', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URL is equal to the given string. + * Unlike `seeInCurrentUrl`, this only matches the full URL. + * + * ``` php + * seeCurrentUrlEquals('/'); + * ?> + * ``` + * + * @param string $uri + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlEquals() + */ + public function canSeeCurrentUrlEquals($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlEquals', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URL is equal to the given string. + * Unlike `seeInCurrentUrl`, this only matches the full URL. + * + * ``` php + * seeCurrentUrlEquals('/'); + * ?> + * ``` + * + * @param string $uri + * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlEquals() + */ + public function seeCurrentUrlEquals($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCurrentUrlEquals', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URL doesn't equal the given string. + * Unlike `dontSeeInCurrentUrl`, this only matches the full URL. + * + * ``` php + * dontSeeCurrentUrlEquals('/'); + * ?> + * ``` + * + * @param string $uri + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlEquals() + */ + public function cantSeeCurrentUrlEquals($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlEquals', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URL doesn't equal the given string. + * Unlike `dontSeeInCurrentUrl`, this only matches the full URL. + * + * ``` php + * dontSeeCurrentUrlEquals('/'); + * ?> + * ``` + * + * @param string $uri + * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlEquals() + */ + public function dontSeeCurrentUrlEquals($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlEquals', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URL matches the given regular expression. + * + * ``` php + * seeCurrentUrlMatches('~$/users/(\d+)~'); + * ?> + * ``` + * + * @param string $uri + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlMatches() + */ + public function canSeeCurrentUrlMatches($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlMatches', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the current URL matches the given regular expression. + * + * ``` php + * seeCurrentUrlMatches('~$/users/(\d+)~'); + * ?> + * ``` + * + * @param string $uri + * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlMatches() + */ + public function seeCurrentUrlMatches($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCurrentUrlMatches', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that current url doesn't match the given regular expression. + * + * ``` php + * dontSeeCurrentUrlMatches('~$/users/(\d+)~'); + * ?> + * ``` + * + * @param string $uri + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlMatches() + */ + public function cantSeeCurrentUrlMatches($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlMatches', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that current url doesn't match the given regular expression. + * + * ``` php + * dontSeeCurrentUrlMatches('~$/users/(\d+)~'); + * ?> + * ``` + * + * @param string $uri + * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlMatches() + */ + public function dontSeeCurrentUrlMatches($uri) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlMatches', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Executes the given regular expression against the current URI and returns the first capturing group. + * If no parameters are provided, the full URI is returned. + * + * ``` php + * grabFromCurrentUrl('~$/user/(\d+)/~'); + * $uri = $I->grabFromCurrentUrl(); + * ?> + * ``` + * + * @param string $uri optional + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::grabFromCurrentUrl() + */ + public function grabFromCurrentUrl($uri = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabFromCurrentUrl', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the specified checkbox is checked. + * + * ``` php + * seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form. + * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]'); + * ?> + * ``` + * + * @param $checkbox + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeCheckboxIsChecked() + */ + public function canSeeCheckboxIsChecked($checkbox) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCheckboxIsChecked', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the specified checkbox is checked. + * + * ``` php + * seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form. + * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]'); + * ?> + * ``` + * + * @param $checkbox + * @see \Codeception\Lib\InnerBrowser::seeCheckboxIsChecked() + */ + public function seeCheckboxIsChecked($checkbox) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCheckboxIsChecked', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Check that the specified checkbox is unchecked. + * + * ``` php + * dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form. + * ?> + * ``` + * + * @param $checkbox + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeCheckboxIsChecked() + */ + public function cantSeeCheckboxIsChecked($checkbox) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCheckboxIsChecked', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Check that the specified checkbox is unchecked. + * + * ``` php + * dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms + * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form. + * ?> + * ``` + * + * @param $checkbox + * @see \Codeception\Lib\InnerBrowser::dontSeeCheckboxIsChecked() + */ + public function dontSeeCheckboxIsChecked($checkbox) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCheckboxIsChecked', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given input field or textarea *equals* (i.e. not just contains) the given value. + * Fields are matched by label text, the "name" attribute, CSS, or XPath. + * + * ``` php + * seeInField('Body','Type your comment here'); + * $I->seeInField('form textarea[name=body]','Type your comment here'); + * $I->seeInField('form input[type=hidden]','hidden_value'); + * $I->seeInField('#searchform input','Search'); + * $I->seeInField('//form/*[@name=search]','Search'); + * $I->seeInField(['name' => 'search'], 'Search'); + * ?> + * ``` + * + * @param $field + * @param $value + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeInField() + */ + public function canSeeInField($field, $value) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInField', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given input field or textarea *equals* (i.e. not just contains) the given value. + * Fields are matched by label text, the "name" attribute, CSS, or XPath. + * + * ``` php + * seeInField('Body','Type your comment here'); + * $I->seeInField('form textarea[name=body]','Type your comment here'); + * $I->seeInField('form input[type=hidden]','hidden_value'); + * $I->seeInField('#searchform input','Search'); + * $I->seeInField('//form/*[@name=search]','Search'); + * $I->seeInField(['name' => 'search'], 'Search'); + * ?> + * ``` + * + * @param $field + * @param $value + * @see \Codeception\Lib\InnerBrowser::seeInField() + */ + public function seeInField($field, $value) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInField', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that an input field or textarea doesn't contain the given value. + * For fuzzy locators, the field is matched by label text, CSS and XPath. + * + * ``` php + * dontSeeInField('Body','Type your comment here'); + * $I->dontSeeInField('form textarea[name=body]','Type your comment here'); + * $I->dontSeeInField('form input[type=hidden]','hidden_value'); + * $I->dontSeeInField('#searchform input','Search'); + * $I->dontSeeInField('//form/*[@name=search]','Search'); + * $I->dontSeeInField(['name' => 'search'], 'Search'); + * ?> + * ``` + * + * @param $field + * @param $value + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeInField() + */ + public function cantSeeInField($field, $value) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInField', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that an input field or textarea doesn't contain the given value. + * For fuzzy locators, the field is matched by label text, CSS and XPath. + * + * ``` php + * dontSeeInField('Body','Type your comment here'); + * $I->dontSeeInField('form textarea[name=body]','Type your comment here'); + * $I->dontSeeInField('form input[type=hidden]','hidden_value'); + * $I->dontSeeInField('#searchform input','Search'); + * $I->dontSeeInField('//form/*[@name=search]','Search'); + * $I->dontSeeInField(['name' => 'search'], 'Search'); + * ?> + * ``` + * + * @param $field + * @param $value + * @see \Codeception\Lib\InnerBrowser::dontSeeInField() + */ + public function dontSeeInField($field, $value) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInField', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if the array of form parameters (name => value) are set on the form matched with the + * passed selector. + * + * ``` php + * seeInFormFields('form[name=myform]', [ + * 'input1' => 'value', + * 'input2' => 'other value', + * ]); + * ?> + * ``` + * + * For multi-select elements, or to check values of multiple elements with the same name, an + * array may be passed: + * + * ``` php + * seeInFormFields('.form-class', [ + * 'multiselect' => [ + * 'value1', + * 'value2', + * ], + * 'checkbox[]' => [ + * 'a checked value', + * 'another checked value', + * ], + * ]); + * ?> + * ``` + * + * Additionally, checkbox values can be checked with a boolean. + * + * ``` php + * seeInFormFields('#form-id', [ + * 'checkbox1' => true, // passes if checked + * 'checkbox2' => false, // passes if unchecked + * ]); + * ?> + * ``` + * + * Pair this with submitForm for quick testing magic. + * + * ``` php + * 'value', + * 'field2' => 'another value', + * 'checkbox1' => true, + * // ... + * ]; + * $I->submitForm('//form[@id=my-form]', $form, 'submitButton'); + * // $I->amOnPage('/path/to/form-page') may be needed + * $I->seeInFormFields('//form[@id=my-form]', $form); + * ?> + * ``` + * + * @param $formSelector + * @param $params + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeInFormFields() + */ + public function canSeeInFormFields($formSelector, $params) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInFormFields', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if the array of form parameters (name => value) are set on the form matched with the + * passed selector. + * + * ``` php + * seeInFormFields('form[name=myform]', [ + * 'input1' => 'value', + * 'input2' => 'other value', + * ]); + * ?> + * ``` + * + * For multi-select elements, or to check values of multiple elements with the same name, an + * array may be passed: + * + * ``` php + * seeInFormFields('.form-class', [ + * 'multiselect' => [ + * 'value1', + * 'value2', + * ], + * 'checkbox[]' => [ + * 'a checked value', + * 'another checked value', + * ], + * ]); + * ?> + * ``` + * + * Additionally, checkbox values can be checked with a boolean. + * + * ``` php + * seeInFormFields('#form-id', [ + * 'checkbox1' => true, // passes if checked + * 'checkbox2' => false, // passes if unchecked + * ]); + * ?> + * ``` + * + * Pair this with submitForm for quick testing magic. + * + * ``` php + * 'value', + * 'field2' => 'another value', + * 'checkbox1' => true, + * // ... + * ]; + * $I->submitForm('//form[@id=my-form]', $form, 'submitButton'); + * // $I->amOnPage('/path/to/form-page') may be needed + * $I->seeInFormFields('//form[@id=my-form]', $form); + * ?> + * ``` + * + * @param $formSelector + * @param $params + * @see \Codeception\Lib\InnerBrowser::seeInFormFields() + */ + public function seeInFormFields($formSelector, $params) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInFormFields', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if the array of form parameters (name => value) are not set on the form matched with + * the passed selector. + * + * ``` php + * dontSeeInFormFields('form[name=myform]', [ + * 'input1' => 'non-existent value', + * 'input2' => 'other non-existent value', + * ]); + * ?> + * ``` + * + * To check that an element hasn't been assigned any one of many values, an array can be passed + * as the value: + * + * ``` php + * dontSeeInFormFields('.form-class', [ + * 'fieldName' => [ + * 'This value shouldn\'t be set', + * 'And this value shouldn\'t be set', + * ], + * ]); + * ?> + * ``` + * + * Additionally, checkbox values can be checked with a boolean. + * + * ``` php + * dontSeeInFormFields('#form-id', [ + * 'checkbox1' => true, // fails if checked + * 'checkbox2' => false, // fails if unchecked + * ]); + * ?> + * ``` + * + * @param $formSelector + * @param $params + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeInFormFields() + */ + public function cantSeeInFormFields($formSelector, $params) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInFormFields', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if the array of form parameters (name => value) are not set on the form matched with + * the passed selector. + * + * ``` php + * dontSeeInFormFields('form[name=myform]', [ + * 'input1' => 'non-existent value', + * 'input2' => 'other non-existent value', + * ]); + * ?> + * ``` + * + * To check that an element hasn't been assigned any one of many values, an array can be passed + * as the value: + * + * ``` php + * dontSeeInFormFields('.form-class', [ + * 'fieldName' => [ + * 'This value shouldn\'t be set', + * 'And this value shouldn\'t be set', + * ], + * ]); + * ?> + * ``` + * + * Additionally, checkbox values can be checked with a boolean. + * + * ``` php + * dontSeeInFormFields('#form-id', [ + * 'checkbox1' => true, // fails if checked + * 'checkbox2' => false, // fails if unchecked + * ]); + * ?> + * ``` + * + * @param $formSelector + * @param $params + * @see \Codeception\Lib\InnerBrowser::dontSeeInFormFields() + */ + public function dontSeeInFormFields($formSelector, $params) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInFormFields', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Submits the given form on the page, with the given form + * values. Pass the form field's values as an array in the second + * parameter. + * + * Although this function can be used as a short-hand version of + * `fillField()`, `selectOption()`, `click()` etc. it has some important + * differences: + * + * * Only field *names* may be used, not CSS/XPath selectors nor field labels + * * If a field is sent to this function that does *not* exist on the page, + * it will silently be added to the HTTP request. This is helpful for testing + * some types of forms, but be aware that you will *not* get an exception + * like you would if you called `fillField()` or `selectOption()` with + * a missing field. + * + * Fields that are not provided will be filled by their values from the page, + * or from any previous calls to `fillField()`, `selectOption()` etc. + * You don't need to click the 'Submit' button afterwards. + * This command itself triggers the request to form's action. + * + * You can optionally specify which button's value to include + * in the request with the last parameter (as an alternative to + * explicitly setting its value in the second parameter), as + * button values are not otherwise included in the request. + * + * Examples: + * + * ``` php + * submitForm('#login', [ + * 'login' => 'davert', + * 'password' => '123456' + * ]); + * // or + * $I->submitForm('#login', [ + * 'login' => 'davert', + * 'password' => '123456' + * ], 'submitButtonName'); + * + * ``` + * + * For example, given this sample "Sign Up" form: + * + * ``` html + *
+ * Login: + *
+ * Password: + *
+ * Do you agree to our terms? + *
+ * Select pricing plan: + * + * + *
+ * ``` + * + * You could write the following to submit it: + * + * ``` php + * submitForm( + * '#userForm', + * [ + * 'user' => [ + * 'login' => 'Davert', + * 'password' => '123456', + * 'agree' => true + * ] + * ], + * 'submitButton' + * ); + * ``` + * Note that "2" will be the submitted value for the "plan" field, as it is + * the selected option. + * + * You can also emulate a JavaScript submission by not specifying any + * buttons in the third parameter to submitForm. + * + * ```php + * submitForm( + * '#userForm', + * [ + * 'user' => [ + * 'login' => 'Davert', + * 'password' => '123456', + * 'agree' => true + * ] + * ] + * ); + * ``` + * + * This function works well when paired with `seeInFormFields()` + * for quickly testing CRUD interfaces and form validation logic. + * + * ``` php + * 'value', + * 'field2' => 'another value', + * 'checkbox1' => true, + * // ... + * ]; + * $I->submitForm('#my-form', $form, 'submitButton'); + * // $I->amOnPage('/path/to/form-page') may be needed + * $I->seeInFormFields('#my-form', $form); + * ``` + * + * Parameter values can be set to arrays for multiple input fields + * of the same name, or multi-select combo boxes. For checkboxes, + * you can use either the string value or boolean `true`/`false` which will + * be replaced by the checkbox's value in the DOM. + * + * ``` php + * submitForm('#my-form', [ + * 'field1' => 'value', + * 'checkbox' => [ + * 'value of first checkbox', + * 'value of second checkbox', + * ], + * 'otherCheckboxes' => [ + * true, + * false, + * false + * ], + * 'multiselect' => [ + * 'first option value', + * 'second option value' + * ] + * ]); + * ``` + * + * Mixing string and boolean values for a checkbox's value is not supported + * and may produce unexpected results. + * + * Field names ending in `[]` must be passed without the trailing square + * bracket characters, and must contain an array for its value. This allows + * submitting multiple values with the same name, consider: + * + * ```php + * submitForm('#my-form', [ + * 'field[]' => 'value', + * 'field[]' => 'another value', // 'field[]' is already a defined key + * ]); + * ``` + * + * The solution is to pass an array value: + * + * ```php + * submitForm('#my-form', [ + * 'field' => [ + * 'value', + * 'another value', + * ] + * ]); + * ``` + * + * @param $selector + * @param $params + * @param $button + * @see \Codeception\Lib\InnerBrowser::submitForm() + */ + public function submitForm($selector, $params, $button = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('submitForm', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Fills a text field or textarea with the given string. + * + * ``` php + * fillField("//input[@type='text']", "Hello World!"); + * $I->fillField(['name' => 'email'], 'jon@mail.com'); + * ?> + * ``` + * + * @param $field + * @param $value + * @see \Codeception\Lib\InnerBrowser::fillField() + */ + public function fillField($field, $value) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('fillField', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Selects an option in a select tag or in radio button group. + * + * ``` php + * selectOption('form select[name=account]', 'Premium'); + * $I->selectOption('form input[name=payment]', 'Monthly'); + * $I->selectOption('//form/select[@name=account]', 'Monthly'); + * ?> + * ``` + * + * Provide an array for the second argument to select multiple options: + * + * ``` php + * selectOption('Which OS do you use?', array('Windows','Linux')); + * ?> + * ``` + * + * Or provide an associative array for the second argument to specifically define which selection method should be used: + * + * ``` php + * selectOption('Which OS do you use?', array('text' => 'Windows')); // Only search by text 'Windows' + * $I->selectOption('Which OS do you use?', array('value' => 'windows')); // Only search by value 'windows' + * ?> + * ``` + * + * @param $select + * @param $option + * @see \Codeception\Lib\InnerBrowser::selectOption() + */ + public function selectOption($select, $option) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('selectOption', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Ticks a checkbox. For radio buttons, use the `selectOption` method instead. + * + * ``` php + * checkOption('#agree'); + * ?> + * ``` + * + * @param $option + * @see \Codeception\Lib\InnerBrowser::checkOption() + */ + public function checkOption($option) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('checkOption', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Unticks a checkbox. + * + * ``` php + * uncheckOption('#notify'); + * ?> + * ``` + * + * @param $option + * @see \Codeception\Lib\InnerBrowser::uncheckOption() + */ + public function uncheckOption($option) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('uncheckOption', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Attaches a file relative to the Codeception `_data` directory to the given file upload field. + * + * ``` php + * attachFile('input[@type="file"]', 'prices.xls'); + * ?> + * ``` + * + * @param $field + * @param $filename + * @see \Codeception\Lib\InnerBrowser::attachFile() + */ + public function attachFile($field, $filename) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('attachFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * If your page triggers an ajax request, you can perform it manually. + * This action sends a GET ajax request with specified params. + * + * See ->sendAjaxPostRequest for examples. + * + * @param $uri + * @param $params + * @see \Codeception\Lib\InnerBrowser::sendAjaxGetRequest() + */ + public function sendAjaxGetRequest($uri, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('sendAjaxGetRequest', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * If your page triggers an ajax request, you can perform it manually. + * This action sends a POST ajax request with specified params. + * Additional params can be passed as array. + * + * Example: + * + * Imagine that by clicking checkbox you trigger ajax request which updates user settings. + * We emulate that click by running this ajax request manually. + * + * ``` php + * sendAjaxPostRequest('/updateSettings', array('notifications' => true)); // POST + * $I->sendAjaxGetRequest('/updateSettings', array('notifications' => true)); // GET + * + * ``` + * + * @param $uri + * @param $params + * @see \Codeception\Lib\InnerBrowser::sendAjaxPostRequest() + */ + public function sendAjaxPostRequest($uri, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('sendAjaxPostRequest', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * If your page triggers an ajax request, you can perform it manually. + * This action sends an ajax request with specified method and params. + * + * Example: + * + * You need to perform an ajax request specifying the HTTP method. + * + * ``` php + * sendAjaxRequest('PUT', '/posts/7', array('title' => 'new title')); + * + * ``` + * + * @param $method + * @param $uri + * @param $params + * @see \Codeception\Lib\InnerBrowser::sendAjaxRequest() + */ + public function sendAjaxRequest($method, $uri, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('sendAjaxRequest', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Finds and returns the text contents of the given element. + * If a fuzzy locator is used, the element is found using CSS, XPath, + * and by matching the full page source by regular expression. + * + * ``` php + * grabTextFrom('h1'); + * $heading = $I->grabTextFrom('descendant-or-self::h1'); + * $value = $I->grabTextFrom('~ + * ``` + * + * @param $cssOrXPathOrRegex + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::grabTextFrom() + */ + public function grabTextFrom($cssOrXPathOrRegex) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabTextFrom', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Grabs the value of the given attribute value from the given element. + * Fails if element is not found. + * + * ``` php + * grabAttributeFrom('#tooltip', 'title'); + * ?> + * ``` + * + * + * @param $cssOrXpath + * @param $attribute + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::grabAttributeFrom() + */ + public function grabAttributeFrom($cssOrXpath, $attribute) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabAttributeFrom', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Grabs either the text content, or attribute values, of nodes + * matched by $cssOrXpath and returns them as an array. + * + * ```html + * First + * Second + * Third + * ``` + * + * ```php + * grabMultiple('a'); + * + * // would return ['#first', '#second', '#third'] + * $aLinks = $I->grabMultiple('a', 'href'); + * ?> + * ``` + * + * @param $cssOrXpath + * @param $attribute + * @return string[] + * @see \Codeception\Lib\InnerBrowser::grabMultiple() + */ + public function grabMultiple($cssOrXpath, $attribute = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabMultiple', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * @param $field + * + * @return array|mixed|null|string + * @see \Codeception\Lib\InnerBrowser::grabValueFrom() + */ + public function grabValueFrom($field) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabValueFrom', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Sets a cookie with the given name and value. + * You can set additional cookie params like `domain`, `path`, `expires`, `secure` in array passed as last argument. + * + * ``` php + * setCookie('PHPSESSID', 'el4ukv0kqbvoirg7nkp4dncpk3'); + * ?> + * ``` + * + * @param $name + * @param $val + * @param array $params + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::setCookie() + */ + public function setCookie($name, $val, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('setCookie', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Grabs a cookie value. + * You can set additional cookie params like `domain`, `path` in array passed as last argument. + * + * @param $cookie + * + * @param array $params + * @return mixed + * @see \Codeception\Lib\InnerBrowser::grabCookie() + */ + public function grabCookie($cookie, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabCookie', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Grabs current page source code. + * + * @throws ModuleException if no page was opened. + * + * @return string Current page source code. + * @see \Codeception\Lib\InnerBrowser::grabPageSource() + */ + public function grabPageSource() { + return $this->getScenario()->runStep(new \Codeception\Step\Action('grabPageSource', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that a cookie with the given name is set. + * You can set additional cookie params like `domain`, `path` as array passed in last argument. + * + * ``` php + * seeCookie('PHPSESSID'); + * ?> + * ``` + * + * @param $cookie + * @param array $params + * @return mixed + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeCookie() + */ + public function canSeeCookie($cookie, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeCookie', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that a cookie with the given name is set. + * You can set additional cookie params like `domain`, `path` as array passed in last argument. + * + * ``` php + * seeCookie('PHPSESSID'); + * ?> + * ``` + * + * @param $cookie + * @param array $params + * @return mixed + * @see \Codeception\Lib\InnerBrowser::seeCookie() + */ + public function seeCookie($cookie, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeCookie', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that there isn't a cookie with the given name. + * You can set additional cookie params like `domain`, `path` as array passed in last argument. + * + * @param $cookie + * + * @param array $params + * @return mixed + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeCookie() + */ + public function cantSeeCookie($cookie, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCookie', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that there isn't a cookie with the given name. + * You can set additional cookie params like `domain`, `path` as array passed in last argument. + * + * @param $cookie + * + * @param array $params + * @return mixed + * @see \Codeception\Lib\InnerBrowser::dontSeeCookie() + */ + public function dontSeeCookie($cookie, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeCookie', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Unsets cookie with the given name. + * You can set additional cookie params like `domain`, `path` in array passed as last argument. + * + * @param $cookie + * + * @param array $params + * @return mixed + * @see \Codeception\Lib\InnerBrowser::resetCookie() + */ + public function resetCookie($name, $params = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Action('resetCookie', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given element exists on the page and is visible. + * You can also specify expected attributes of this element. + * + * ``` php + * seeElement('.error'); + * $I->seeElement('//form/input[1]'); + * $I->seeElement('input', ['name' => 'login']); + * $I->seeElement('input', ['value' => '123456']); + * + * // strict locator in first arg, attributes in second + * $I->seeElement(['css' => 'form input'], ['name' => 'login']); + * ?> + * ``` + * + * @param $selector + * @param array $attributes + * @return + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeElement() + */ + public function canSeeElement($selector, $attributes = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeElement', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given element exists on the page and is visible. + * You can also specify expected attributes of this element. + * + * ``` php + * seeElement('.error'); + * $I->seeElement('//form/input[1]'); + * $I->seeElement('input', ['name' => 'login']); + * $I->seeElement('input', ['value' => '123456']); + * + * // strict locator in first arg, attributes in second + * $I->seeElement(['css' => 'form input'], ['name' => 'login']); + * ?> + * ``` + * + * @param $selector + * @param array $attributes + * @return + * @see \Codeception\Lib\InnerBrowser::seeElement() + */ + public function seeElement($selector, $attributes = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeElement', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given element is invisible or not present on the page. + * You can also specify expected attributes of this element. + * + * ``` php + * dontSeeElement('.error'); + * $I->dontSeeElement('//form/input[1]'); + * $I->dontSeeElement('input', ['name' => 'login']); + * $I->dontSeeElement('input', ['value' => '123456']); + * ?> + * ``` + * + * @param $selector + * @param array $attributes + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeElement() + */ + public function cantSeeElement($selector, $attributes = null) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeElement', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given element is invisible or not present on the page. + * You can also specify expected attributes of this element. + * + * ``` php + * dontSeeElement('.error'); + * $I->dontSeeElement('//form/input[1]'); + * $I->dontSeeElement('input', ['name' => 'login']); + * $I->dontSeeElement('input', ['value' => '123456']); + * ?> + * ``` + * + * @param $selector + * @param array $attributes + * @see \Codeception\Lib\InnerBrowser::dontSeeElement() + */ + public function dontSeeElement($selector, $attributes = null) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeElement', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that there are a certain number of elements matched by the given locator on the page. + * + * ``` php + * seeNumberOfElements('tr', 10); + * $I->seeNumberOfElements('tr', [0,10]); // between 0 and 10 elements + * ?> + * ``` + * @param $selector + * @param mixed $expected int or int[] + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeNumberOfElements() + */ + public function canSeeNumberOfElements($selector, $expected) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeNumberOfElements', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that there are a certain number of elements matched by the given locator on the page. + * + * ``` php + * seeNumberOfElements('tr', 10); + * $I->seeNumberOfElements('tr', [0,10]); // between 0 and 10 elements + * ?> + * ``` + * @param $selector + * @param mixed $expected int or int[] + * @see \Codeception\Lib\InnerBrowser::seeNumberOfElements() + */ + public function seeNumberOfElements($selector, $expected) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeNumberOfElements', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given option is selected. + * + * ``` php + * seeOptionIsSelected('#form input[name=payment]', 'Visa'); + * ?> + * ``` + * + * @param $selector + * @param $optionText + * + * @return mixed + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected() + */ + public function canSeeOptionIsSelected($selector, $optionText) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeOptionIsSelected', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given option is selected. + * + * ``` php + * seeOptionIsSelected('#form input[name=payment]', 'Visa'); + * ?> + * ``` + * + * @param $selector + * @param $optionText + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected() + */ + public function seeOptionIsSelected($selector, $optionText) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeOptionIsSelected', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given option is not selected. + * + * ``` php + * dontSeeOptionIsSelected('#form input[name=payment]', 'Visa'); + * ?> + * ``` + * + * @param $selector + * @param $optionText + * + * @return mixed + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected() + */ + public function cantSeeOptionIsSelected($selector, $optionText) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeOptionIsSelected', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the given option is not selected. + * + * ``` php + * dontSeeOptionIsSelected('#form input[name=payment]', 'Visa'); + * ?> + * ``` + * + * @param $selector + * @param $optionText + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected() + */ + public function dontSeeOptionIsSelected($selector, $optionText) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeOptionIsSelected', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Asserts that current page has 404 response status code. + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seePageNotFound() + */ + public function canSeePageNotFound() { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seePageNotFound', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Asserts that current page has 404 response status code. + * @see \Codeception\Lib\InnerBrowser::seePageNotFound() + */ + public function seePageNotFound() { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seePageNotFound', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that response code is equal to value provided. + * + * ```php + * seeResponseCodeIs(200); + * + * // recommended \Codeception\Util\HttpCode + * $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK); + * ``` + * + * @param $code + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIs() + */ + public function canSeeResponseCodeIs($code) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIs', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that response code is equal to value provided. + * + * ```php + * seeResponseCodeIs(200); + * + * // recommended \Codeception\Util\HttpCode + * $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK); + * ``` + * + * @param $code + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIs() + */ + public function seeResponseCodeIs($code) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseCodeIs', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that response code is between a certain range. Between actually means [from <= CODE <= to] + * + * @param $from + * @param $to + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsBetween() + */ + public function canSeeResponseCodeIsBetween($from, $to) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIsBetween', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that response code is between a certain range. Between actually means [from <= CODE <= to] + * + * @param $from + * @param $to + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsBetween() + */ + public function seeResponseCodeIsBetween($from, $to) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseCodeIsBetween', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that response code is equal to value provided. + * + * ```php + * dontSeeResponseCodeIs(200); + * + * // recommended \Codeception\Util\HttpCode + * $I->dontSeeResponseCodeIs(\Codeception\Util\HttpCode::OK); + * ``` + * @param $code + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeResponseCodeIs() + */ + public function cantSeeResponseCodeIs($code) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeResponseCodeIs', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that response code is equal to value provided. + * + * ```php + * dontSeeResponseCodeIs(200); + * + * // recommended \Codeception\Util\HttpCode + * $I->dontSeeResponseCodeIs(\Codeception\Util\HttpCode::OK); + * ``` + * @param $code + * @see \Codeception\Lib\InnerBrowser::dontSeeResponseCodeIs() + */ + public function dontSeeResponseCodeIs($code) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeResponseCodeIs', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code 2xx + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsSuccessful() + */ + public function canSeeResponseCodeIsSuccessful() { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIsSuccessful', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code 2xx + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsSuccessful() + */ + public function seeResponseCodeIsSuccessful() { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseCodeIsSuccessful', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code 3xx + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsRedirection() + */ + public function canSeeResponseCodeIsRedirection() { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIsRedirection', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code 3xx + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsRedirection() + */ + public function seeResponseCodeIsRedirection() { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseCodeIsRedirection', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code is 4xx + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsClientError() + */ + public function canSeeResponseCodeIsClientError() { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIsClientError', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code is 4xx + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsClientError() + */ + public function seeResponseCodeIsClientError() { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseCodeIsClientError', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code is 5xx + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsServerError() + */ + public function canSeeResponseCodeIsServerError() { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIsServerError', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the response code is 5xx + * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIsServerError() + */ + public function seeResponseCodeIsServerError() { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeResponseCodeIsServerError', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the page title contains the given string. + * + * ``` php + * seeInTitle('Blog - Post #1'); + * ?> + * ``` + * + * @param $title + * + * @return mixed + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::seeInTitle() + */ + public function canSeeInTitle($title) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('seeInTitle', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the page title contains the given string. + * + * ``` php + * seeInTitle('Blog - Post #1'); + * ?> + * ``` + * + * @param $title + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::seeInTitle() + */ + public function seeInTitle($title) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('seeInTitle', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the page title does not contain the given string. + * + * @param $title + * + * @return mixed + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Lib\InnerBrowser::dontSeeInTitle() + */ + public function cantSeeInTitle($title) { + return $this->getScenario()->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInTitle', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks that the page title does not contain the given string. + * + * @param $title + * + * @return mixed + * @see \Codeception\Lib\InnerBrowser::dontSeeInTitle() + */ + public function dontSeeInTitle($title) { + return $this->getScenario()->runStep(new \Codeception\Step\Assertion('dontSeeInTitle', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Switch to iframe or frame on the page. + * + * Example: + * ``` html + *