21 lines
512 B
PHP
21 lines
512 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Cache;
|
|
use App\Services\BookInformation\GoogleBooks;
|
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
|
|
|
class LookupController {
|
|
public function lookup($isbn) {
|
|
if (!preg_match('/^(\d+)$/', $isbn)) {
|
|
throw new HttpException(400);
|
|
}
|
|
|
|
return Cache::remember('isbn_' . $isbn, 1440, function() use ($isbn) {
|
|
$google_books = new GoogleBooks();
|
|
|
|
return $google_books->lookup($isbn);
|
|
});
|
|
}
|
|
} |