Я определенно бьюсь головой о подписанные запросы Oauth, поэтому не уверен, что это мой код, DotNetOpenAuth или Bitbucket.
Я пытаюсь добавить новый ключ развертывания согласно
https://confluence.atlassian.com/display/BITBUCKET/deploy-keys+Resource
Я получаю WebException
поговорку
The request was aborted: The connection was closed unexpectedly.
Правильно ли я размещаю сообщения с DotNetOpenAuth? Я не могу найти хорошие образцы?
Мой код выглядит следующим образом:
var payload = new Dictionary<string, string>
{
{"accountname", username},
{"key", Uri.EscapeDataString(key.PublicKey)}
};
var dataUrl = @"https://api.bitbucket.org/1.0/repositories/{0}/{1}/deploy-keys";
var url = string.Format(dataUrl, username, projectName);
var endpoint = new MessageReceivingEndpoint(url, HttpDeliveryMethods.PostRequest);
var request = _consumer.PrepareAuthorizedRequest(endpoint, authToken, payload);
var payloadItems = from kvp in payload
select kvp.Key + "=" + kvp.Value;
var data = Encoding.UTF8.GetBytes(string.Join("&", payloadItems));
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
string responseString;
using (var response = request.GetResponse())
{
using (var responseStream = new StreamReader(response.GetResponseStream()))
{
responseString = responseStream.ReadToEnd();
}
}
У меня такое чувство, что мне просто нужен хороший образец сообщения формы с использованием DotNetOpenAuth, поэтому извиняюсь, если кажется, что я ленив; мой гугл фу просто не приносит дивидендов.