Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 eurekalog - сброс дампов по http  [new]
PPA
Member

Откуда: Караганда -> Липецк
Сообщений: 794
Все привет.
Вопрос к тем, кто использует eurekalog

https://www.eurekalog.com/features_delphi.php

В фичах заявляется возможность передачи дампов падения по http

Type: HTTP upload (custom script)

Не понятно что должно стоять на стороне сервера...
если есть пример рабочий - поделитесь?

--
~PPA() {} //
14 май 18, 11:55    [21407637]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
GunSmoker
Member

Откуда:
Сообщений: 3071
Когда ничего уже не помогает - самое время открыть справку.
14 май 18, 12:41    [21407782]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 1906
GunSmoker
Когда ничего уже не помогает - самое время открыть справку.
+
Ну ты загнул! Кто ж сейчас справку читает, особенно из рунета? Только хардкор!
14 май 18, 17:39    [21408966]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
PPA
Member

Откуда: Караганда -> Липецк
Сообщений: 794
GunSmoker,

Спасибо помогло, php у нас запрещен политикой ИТ-безопасности.
сделал маленький аналог на Go
https://github.com/pavel-pimenov/eurekalog-crash-server

Вдруг кому понадобится...
18 май 18, 12:58    [21420093]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
Anohin
Member

Откуда:
Сообщений: 1498
white_nigger
GunSmoker
Когда ничего уже не помогает - самое время открыть справку.
+
Ну ты загнул! Кто ж сейчас справку читает, особенно из рунета? Только хардкор!

Прочитать документацию - это все равно, что сдаться:)
18 май 18, 13:01    [21420109]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1369
PPA,

вот это в конце зачем?
go func() {
		time.Sleep(time.Millisecond * 1000)
}()
20 май 18, 14:10    [21423604]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
Softologic
Member

Откуда: Санкт-Петербург
Сообщений: 115
Anohin
Прочитать документацию - это все равно, что сдаться:)

ВОИСТИНУ :)
20 май 18, 14:34    [21423658]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
PPA
Member

Откуда: Караганда -> Липецк
Сообщений: 794
GunSmoker,

Как разработчик эврики подскажите как обойти еще одну проблему
Администраторы настаивают на https
Но если на клиенте не установлен корневой сертификат, то данные по https не отправляются!

В crashrpt была подобная ошибка - решалась фиксом с SECURITY_FLAG_IGNORE_UNKNOWN_CA в коде
там все игноры на предмет сертификатов передаются в InternetSetOption
у вас в коде это сделано немного не так.

Получается если приложение запускается на глючном компе - оно не может отправить дамп падения.
вот еще подобная жалоба на crashrpt
https://code.google.com/archive/p/crashrpt/issues/151

К сообщению приложен файл. Размер - 95Kb
30 май 18, 12:11    [21453303]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
PPA
Member

Откуда: Караганда -> Липецк
Сообщений: 794
Дегтярев Евгений,

Чтобы спать бесконечно. можно сделать по другому? я в go начинающий.
30 май 18, 12:14    [21453321]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1369
PPA,

Первое - анонимная функция с time.Sleep(), запускаемая в отдельной горутине, засыпает на 1с, далее она завершается, это не про спасть бесконечно.

Второе - при завершении главной горутины (выход из main) процесс завершается а вместе с ним и все запущенные горутины. sleep всяко до конца не доработает, а, вероятнее всего, горутина зашедулится, но даже не успеет запустится.

а работает это все потому что вызов http.ListenAndServe() блокирующий
т.ч. последние 3 строчки в main в корзину

еще пять копеек
- http.ListenAndServe возвращает ошибку, по хорошему, если она не nill, на нее нужно реагировать, иначе если порт занят и сервис не смог забиндиться и завершится - ты не узнаешь почему.
- uploadHandler: если метод не POST ты логируешь ошибку но никак не говоришь клиенту об ошибке, получается что клиент и в том и в другом случае получает HTTP 200 с пустым телом ответа, неплохо бы вернуть какую-нибудь ошибку, 404 или 405, например.
30 май 18, 13:29    [21453714]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
PPA
Member

Откуда: Караганда -> Липецк
Сообщений: 794
Поправка.
Подобрал какой флаг чинит пересылку дампов по https в моем случае
не хватало флага SECURITY_FLAG_IGNORE_REVOCATION

Добавил константу - ее почему-то не было
SECURITY_FLAG_IGNORE_REVOCATION = $00000080;


и добавил ее тут:
dwFlags := (dwFlags or SECURITY_FLAG_IGNORE_UNKNOWN_CA
or SECURITY_FLAG_IGNORE_REVOCATION);
InternetSetOption(hRequest, INTERNET_OPTION_SECURITY_FLAGS, @dwFlags, SizeOf(dwFlags));
30 май 18, 13:32    [21453728]     Ответить | Цитировать Сообщить модератору
 Re: eurekalog - сброс дампов по http  [new]
PPA
Member

Откуда: Караганда -> Липецк
Сообщений: 794
Дегтярев Евгений
PPA,
- uploadHandler: если метод не POST ты логируешь ошибку но никак не говоришь клиенту об ошибке, получается что клиент и в том и в другом случае получает HTTP 200 с пустым телом ответа, неплохо бы вернуть какую-нибудь ошибку, 404 или 405, например.


Спасибо за замечания. sleep выкинул.
EurekaLog шлет именно POST и все другие посылки игнорирую, а зачем им сообщать 404?
пусть клиенты думают, что все хорошо (у меня интарнет сеть и роботов-поисковиков в ней нет -
у сервера единственный клиент EurekaLog)
но вообще для красоты с кодом ответа вечером попробую.
30 май 18, 13:47    [21453822]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить