Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Download notify модуль
- To: nginx-ru@xxxxxxxxx
- Subject: Download notify модуль
- From: "Grigory A. Mozhaev" <zcrendel@xxxxxxxxx>
- Date: Mon, 21 Feb 2011 13:03:49 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:subject:date:user-agent:mime-version :content-type:content-transfer-encoding:content-disposition :message-id; bh=76pXh7OU7HjC2Tzdfic7EEwda5JbTZTpR/sBIwyQJkc=; b=BbFpS+sfpdRpHaDStenR9j+ei52CEhx5JK5TUbNFovpG5AA5bRd4c6Gspw2TuWLrua lyrM0wj+DSDyn1lfl8FM2hez6FmXjR3TNLvHBLBIucimGYRk5pQoiVu1fAdQNrqB5FAD cM+eJIHzhEKeJb1PWkr5P5JOY1Qktx41/D99Y=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:mime-version:content-type :content-transfer-encoding:content-disposition:message-id; b=WVYp2tA9vseIbfIS9IT7qBjXpg1vXqdKoCdQmQdZaLtoolohQNcRi1iIwqPOPE9nVj FWSR4dcEn2prscrqYw5896qdevwt8Hy+eI+nvBKBlIqM8QS/lu2C+0E0B3Br69HsQAZw DqFLWJaEC+/Mar4BFfeNXZ8xEv2gICmb0Lk4M=
Добрый день!
Пытаюсь написать модуль под nginx решающий задачу отслеживания при скачивании
файлов с сервера (download).
Таким образом, что для файлов определенного локейшена можно определить
директиву 'download_notify':
location ~* /secret_files {
download_notify http://127.0.0.1:3000/notify;
}
Скрипт notify должен дергаться только в том случае, когда файл полностью
скачан. Передаваемые параметры:
URL загруженного файла, успех или ошибка при загрузке, скорость загрузки
(средняя), ip адрес.
Хотя я новичек в разработке модулей для nginx, по сути - это мой первый модуль,
но имею большой стаж разработки на Си.
Итоговый модуль будет размещен в свободном доступе так как подобный функционал
востребован (судя по форумам и
вопросам), но не реализован.
Как я понимаю, этот модуль должен быть "фильтром". Нужно, фильтруя http ответы:
1. Отловить начало скачивание конкретного файла.
2. Отлавливать скачивание каждой отдельной части этого файла и таким образом
вычисляя среднюю скорость скачивания.
3. Завершение скачивания с успехом тогда, когда размер переданного контента
равен размеру передаваемого. Хотя тут
непонятно, как узнать, что произошла ошибка при скачивании.
Поделитесь вашим опытом. Куда стоит копать? Какие модули для примера смотреть?
Какие структуры данных использовать?
С уважением,
Можаев Григорий
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|