2012-06-18 2 views
1

Я пытаюсь сделать запрос REST экземпляру Neo4j, размещенному через heroku. Сервер настроен с использованием базовой проверки подлинности.Перенаправление и аутентификация RestSharp 401

Это гиперссылка я была предоставлена ​​из Heroku (уведомления лидирующего слэша): http://username:[email protected]:123/db/data/

Я использую RestSharp для подключения к данному экземпляру. Однако RestSharp удалит конечную косую черту. Code. В результате URL становится: http://username:[email protected]:123/db/data

Это приводит к HTTP 301 к (уведомления слэш): http://username:[email protected]:123/db/data/

Проблема заключается в том, что разрешения заголовка не сохраняется через перенаправляет MSDN. Результатом этой перенаправления является HTTP 401.

Есть ли очевидные способы обойти это? Я попытался следующие:

  • Обеспечить 2 слешей /db/data// так RestSharp удален только один слэш, но оставляет один остается. Это не работает, так как другие запросы имеют недопустимые форматы: /db/data//query/stuff
  • Используйте класс CredentialCache. Это работает, но приводит к двум запросам за действие (один для запроса 401, еще один для ответа)
  • IAuthenticationModlue - Найдена минимальная информация об этом в MSDN, но после попытки пользовательского класса это все равно приведет к проблеме с двойным перерывом отмечено ранее.
  • Измените первоначальный запрос на отдых как new RestRequest("/", Method.GET); вместо new RestRequest("", Method.GET); - единственная проблема заключается в том, что я не хочу изменять проект с открытым исходным кодом, который находится между моим приложением и RestSharp для моих конкретных потребностей. RestSharp удаляет все окончание слэши

ответ

0

Пита в группе Google:

Один, несколько раздражает, обходной путь для запроса «корневого ресурса» является использовать: новый RestRequest («/») , конечные пробелы предотвратят RestSharp от обрезки косой черты, но будут игнорироваться (наиболее) серверами.

https://groups.google.com/forum/?fromgroups#!topic/restsharp/8mBmaXksmsg

+0

Примечание: Это не работает с параметрами строки запроса, он получает повернутым в '/% 20 ', нарушающего?. – kamranicus