У меня есть консольное приложение на основе HttpListener.Он использует пользовательские заголовки для определения функции, которую пытается выполнить консольный клиент (который основан на HttpWebRequest и отлично работает).
Мой друг пытается создать клиент для этого приложения, используя другую платформу, котораятребует, чтобы при использовании пользовательских заголовков он сначала отправлял запрос OPTIONS на сервер.
Не вдаваясь в религиозные дебаты о том, почему я использую IIS или не использую IIS, или какой пакет клиента использует мой друг и т. Д., Есть ли у кого-нибудь понимание того, как правильно реагировать на запрос параметров?Я не могу найти ссылку, которая поможет с этим.Из того, что я собираю, мне нужно ответить, что я разрешаю OPTIONS, GET, PUT и каким-то образом список пользовательских заголовков, которые я приму.
Больше контекста (03.11.11)
Я знаю, что HttpListener разрешит запрос OPTIONS - моя задача состоит в том, как отформатировать и обработать ответ, чтобы показать, что я разрешаю OPTIONS, GET, PUT, а затем список пользовательских заголовков, которые я принимаю, используя HttpListenerResponse.
Мой код для типичного ответа выглядит следующим образом:
try
{
// set the status code
HttpListenerResponse response = context.Response;
response.StatusCode = status;
// build the HTML output
string output_string;
if (obj is string)
{
output_string = obj.ToString();
}
else
{
output_string = ia_serialize_xml<T>(obj);
}
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(output_string);
response.ContentLength64 = buffer.Length;
Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
output.Close();
}
catch (Exception e)
{
ia_exception("ia_sendresponse", "General exception sending response " + status, e);
return;
}
Я не могу понять, как это сделатьто же самое с ответом на запрос ОПЦИИ согласно вышеупомянутому.(пожалуйста, не обращайте внимания на методы "ia_ *", хотя они должны быть достаточно понятны)