# Re: /x/file
vit01 (mira, 1) → Andrew Lobanov – 10:14:05 2016-05-03
AL> Вероятность того, что authkey будет хотя бы напоминать имя ркального файла болтается где-то в районе нуля. У нас и коллизии в msgid могут запросто возникнуть, но с исчезающе малой вероятностью. Потому я считаю, что простой проверки по поинтлисту достаточно, чтобы определить что это пользователь передал.
Дело здесь не в самих ошибках в коде и коллизиях. Суть в костылях, которые надо нагромождать в исходниках, чтобы заставить это работать. Причём на разных нодах они могут приводить к разному поведению, и это очень неудобно.
vit01>> Вот почесал репу и придумал вариант, который устроит нас обоих. Можно разделить /x/file на 2 схемы: одна для списка, другая для скачивания.
AL> Сделал в таверне такой вариант. Попробовал его и с GET и с POST запросами. Понравилось. Пока из всего, что мы надумали, этот вариант мне нравится более всего.
Насчёт POST прошу уточнить, т.к. это важно. Мы делаем примерно такой вариант?
vit01 (mira, 1) → Andrew Lobanov – 10:14:05 2016-05-03
AL> Вероятность того, что authkey будет хотя бы напоминать имя ркального файла болтается где-то в районе нуля. У нас и коллизии в msgid могут запросто возникнуть, но с исчезающе малой вероятностью. Потому я считаю, что простой проверки по поинтлисту достаточно, чтобы определить что это пользователь передал.
Дело здесь не в самих ошибках в коде и коллизиях. Суть в костылях, которые надо нагромождать в исходниках, чтобы заставить это работать. Причём на разных нодах они могут приводить к разному поведению, и это очень неудобно.
vit01>> Вот почесал репу и придумал вариант, который устроит нас обоих. Можно разделить /x/file на 2 схемы: одна для списка, другая для скачивания.
AL> Сделал в таверне такой вариант. Попробовал его и с GET и с POST запросами. Понравилось. Пока из всего, что мы надумали, этот вариант мне нравится более всего.
Насчёт POST прошу уточнить, т.к. это важно. Мы делаем примерно такой вариант?
POST /x/filelist
# публичный список
POST /x/filelist pauth=string
# приватный + публичный список, либо только публичный, если неверно
POST /x/file pauth=string, filename=string2
# содержимое файла, если pauth верный или filename публичный
# ошибка, если файла не существует
# ошибка, если файл приватный и pauth неверный
POST /x/file filename=string
# содержимое файла, если публичный
# в ином случае ошибка