LINUX.ORG.RU

NanoHTTPD Code 400

 , , ,


0

1

Использую NanoHTTPD для тестов в Spring для замены внешнего сервиса. Собственно вся его работа заключается в том чтоб отдавать один и тот же файл ответа на любой запрос (json с типовым ответом реального сервера).

И вот собственно в этом месте ловлю крайне странную проблему - на каждый 4-ый (вообще может меняться, иногда третий, иногда пятый) запрос NanoHTTPD отвечает 400, при том что в его конфигурации понятие Bad Request должно отсутствовать от слова вообще. И что еще веселее - это происходит на 6 запросах, которые в момент обращения к NanoHTTPD абсолютно идентичны и идут в произвольном порядке (авторизация на контроллере проверяется разными способами, Nano тут вообще ни каким боком). Остальные 5 запросов пролетают нормально.

Видел что это добро народ часто юзает на ведроидах и тоже периодически ловил такой косяк (решения так и не нашел), потому добавляю ведроид в теги на всякий. Кто-нибудь сталкивался?

Конфигурация NanoHTTPD:

public Response serve (IHTTPSession session) {
 Resource res = new ClassPathResource("MockResponse.json");
 try {
  return newChunkedResponse(Status.OK, "application/json", res.getInputStream());
 } catch (IOException ex) {
  ex.printStackTrace();
  return newFixedLengthResponse(Status.INTERNAL_ERROR, "", "");
 }
}

p.s. эксепшн не вываливается. все запросы кроме одного всегда проходят ок. один рандомный запрос всегда падает.

p.p.s. ну или насоветуйте что еще можно юзать. суть - во время integration теста должен подниматься на определенном порту тупой как пробка http-сервер, который будет гордо отсылать содержимое указанного файла на любой запрос (get/post, uri - пофиг). желательно что-то максимально легкое и тупое.

Эх, ладно, «долой изврат» сказал капитан и откопал стюардессу. Перешел на Jetty.

★★★★★

Последнее исправление: upcFrost (всего исправлений: 2)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.