get('/user', function (Request $request) { return $request->user(); }); Route::get('/checkin/card', function (Request $request, MetadataResolver $resolver, Formatter $formatter) { $request->validate([ 'url:required|url' ]); $url = $formatter->normalizeUrl($request->input('url')); $metadata = App\Metadata::find($url); if ($metadata == null || ($metadata->expires_at !== null && $metadata->expires_at < now())) { $resolved = $resolver->resolve($url); $metadata = App\Metadata::updateOrCreate(['url' => $url], [ 'title' => $resolved->title, 'description' => $resolved->description, 'image' => $resolved->image, 'expires_at' => $resolved->expires_at ]); } $response = response()->json($metadata); if (!config('app.debug')) { $response = $response->setCache(['public' => true, 'max_age' => 86400]); } return $response; });