==== What is the problem?
Exporting some ebooks fails, showing the user the error: `No page information found in response`.
Reproducing this locally, here is the stack trace:
```
Symfony\Component\HttpKernel\Exception\HttpException:
No page information found in response
at src/Util/Api.php:219
at App\Util\Api->parseGetPageResponse(array('batchcomplete' => '', 'warnings' => array('main' => array('*' => 'Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application.'), 'revisions' => array('*' => 'The parameter "rvparse" has been deprecated.')), 'query' => array('normalized' => array(array('from' => 'q:Фёдор_Михайлович_Достоевский', 'to' => 'q:Фёдор Михайлович Достоевский')), 'interwiki' => array(array('title' => 'q:Фёдор Михайлович Достоевский', 'iw' => 'q')))))
(src/Util/Api.php:204)
at App\Util\Api->App\Util\{closure}(array('batchcomplete' => '', 'warnings' => array('main' => array('*' => 'Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application.'), 'revisions' => array('*' => 'The parameter "rvparse" has been deprecated.')), 'query' => array('normalized' => array(array('from' => 'q:Фёдор_Михайлович_Достоевский', 'to' => 'q:Фёдор Михайлович Достоевский')), 'interwiki' => array(array('title' => 'q:Фёдор Михайлович Достоевский', 'iw' => 'q')))))
(vendor/guzzlehttp/promises/src/Promise.php:204)
at GuzzleHttp\Promise\Promise::callHandler(1, array('batchcomplete' => '', 'warnings' => array('main' => array('*' => 'Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application.'), 'revisions' => array('*' => 'The parameter "rvparse" has been deprecated.')), 'query' => array('normalized' => array(array('from' => 'q:Фёдор_Михайлович_Достоевский', 'to' => 'q:Фёдор Михайлович Достоевский')), 'interwiki' => array(array('title' => 'q:Фёдор Михайлович Достоевский', 'iw' => 'q')))), null)
(vendor/guzzlehttp/promises/src/Promise.php:153)
at GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()
(vendor/guzzlehttp/promises/src/TaskQueue.php:48)
at GuzzleHttp\Promise\TaskQueue->run()
(vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php:118)
at GuzzleHttp\Handler\CurlMultiHandler->tick()
(vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php:145)
at GuzzleHttp\Handler\CurlMultiHandler->execute(true)
(vendor/guzzlehttp/promises/src/Promise.php:248)
at GuzzleHttp\Promise\Promise->invokeWaitFn()
(vendor/guzzlehttp/promises/src/Promise.php:224)
at GuzzleHttp\Promise\Promise->waitIfPending()
(vendor/guzzlehttp/promises/src/Promise.php:269)
at GuzzleHttp\Promise\Promise->invokeWaitList()
(vendor/guzzlehttp/promises/src/Promise.php:226)
at GuzzleHttp\Promise\Promise->waitIfPending()
(vendor/guzzlehttp/promises/src/Promise.php:62)
at GuzzleHttp\Promise\Promise->wait()
(src/BookProvider.php:204)
at App\BookProvider->getPages(array(object(Page), object(Page)))
(src/BookProvider.php:125)
at App\BookProvider->getMetadata('Фёдор_Михайлович_Достоевский', false, object(DOMDocument))
(src/BookProvider.php:48)
at App\BookProvider->get('Фёдор_Михайлович_Достоевский')
(src/BookCreator.php:51)
at App\BookCreator->create('Фёдор_Михайлович_Достоевский')
(src/Controller/ExportController.php:92)
at App\Controller\ExportController->export(object(Request), object(CreationLog), object(Api), object(FontProvider))
(src/Controller/ExportController.php:63)
at App\Controller\ExportController->home(object(Request), object(CreationLog), object(Api), object(Logger), object(FontProvider))
(vendor/symfony/http-kernel/HttpKernel.php:157)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:79)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:196)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(public/index.php:35)
```
The response to the API request `getPageAsync()` makes appears to me to be the same as:
https://ru.wikisource.org/w/api.php?action=query&format=json&prop=revisions&rvprop=content&titles=q:%D0%A4%D1%91%D0%B4%D0%BE%D1%80_%D0%9C%D0%B8%D1%85%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B8%D1%87_%D0%94%D0%BE%D1%81%D1%82%D0%BE%D0%B5%D0%B2%D1%81%D0%BA%D0%B8%D0%B9&rvparse=true
which does not seem like the correct request to me.
==== Ebooks to reproduce problem
- https://wsexport-test.wmflabs.org/tool/book.php?format=epub&lang=ru&page=%D0%A4%D1%91%D0%B4%D0%BE%D1%80_%D0%9C%D0%B8%D1%85%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B8%D1%87_%D0%94%D0%BE%D1%81%D1%82%D0%BE%D0%B5%D0%B2%D1%81%D0%BA%D0%B8%D0%B9
- https://wsexport-test.wmflabs.org/tool/book.php?format=epub&lang=la&page=Pagina_prima