0

Изменения для уточнения возможности кэширования ответов yad.

* Добавлены raw-функции, которые возвращают и http-заголовки ответа
yad-а тоже
* Уточнения в README.md и TODO
* Мелкие косметические исправления.
This commit is contained in:
eleksir
2021-08-28 13:19:31 +03:00
parent e655c11e0b
commit cd4a0f5cb4
11 changed files with 172 additions and 28 deletions

39
TODO
View File

@@ -1,19 +1,26 @@
* Реализовать проверку кэша на тухлость (Yandex.Диск зачем-то регулярно
обновляет ссылки, период обновления я пока не выявил). Делать по приходу
клиента.
* Из вышележащего следует, что можно пред-генерировать практически всё. Ибо
оно зависит целиком и полностью от полного списка, который нам выдаёт yad и
по факту является статическим контентом. То есть вполне можно полностью
пред-генерировать все страницы и все редиректы. И по-хорошему так и надо
делать.
* Не аплодить файлы, которые уже есть в диске (проверка по длине + md5 или sha).
* Реализовать проверку кэша на тухлость (Yandex.Диск зачем-то регулярно обновляет ссылки, период обновления я пока не
выявил). Делать по приходу клиента. In fact, придётся делать запрос в yad на каждый redirect. Т.к. у yad выставлен
заголовок Сache-Сontrol в значение no-cache, иными словами время жизни ссылки на файл не регламентировано. То есть от
идеи построения file index и вписывания в него ссылок прямо на yad придётся отказаться и на каждый запрос на файл
генерировать 302, делая подзапрос в yad.
* Не аплодить файлы, которые уже есть в диске (проверка по длине + md5 или sha). (Утилита yad_upload_dir.pl)
* Нужна утилита, которая синкает файлы из локального каталога в каталог на yad, удаляя в целевом каталоге всё лишнее.
* Исправить листинг каталогов, чтобы без слеша был 301-й редирект.
* Исправить листинг файлов, чтобы по ссылке на файл отображался локальный урл,
а при переходе на него происходил 302-й редирект.
* Добавить режим *настоящего* проксирования, а не редиректа. До кучи. Но это
опционально, факультативно, так редиректы работают нормально сами по себе.
* Исправить листинг файлов, чтобы по ссылке на файл отображался локальный урл, а при переходе на него происходил 302-й
редирект в yad.
* Добавить режим *настоящего* проксирования, а не редиректа. До кучи. Но это опционально, факультативно, так редиректы
работают нормально сами по себе.
* Добавить проверки corner-case-ов.
* Описать утилиты.
* Организовать многопоточную загрузку файлов на Yandex.Disk, вероятно, через
AnyEvent::HTTP, т.к. у него есть встроенное огранчение на количество
подключений к одному серверу, либо через CORO::LWP.
* Организовать многопоточную загрузку файлов на Yandex.Disk, вероятно, через AnyEvent::HTTP, т.к. у него есть встроенное
огранчение на количество подключений к одному серверу, либо через CORO::LWP.
* Хранить данные об oauth на в data/cache, а в data/oauth