public AuthInfo RefreshToken(string refreshToken)
{
var _webRequest = CreateRq();
try
{
using (var _str = _webRequest.GetRequestStream())
using (var _sw = new StreamWriter(_str))
{
_sw.Write("grant_type={0}&refresh_token={1}", "refresh_token", refreshToken);
_sw.Flush();
}
var _webResponse = _webRequest.GetResponse();
using (var _stream = _webResponse.GetResponseStream())
using (var _sr = new StreamReader(_stream))
{
var _readToEnd = _sr.ReadToEnd();
var _res = SimpleJson.DeserializeObject<TokenInfo>(_readToEnd);
return new AuthInfo { Success = true, Token = _res };
}
}
catch (WebException _ex)
{
if (_ex.Response != null)
{
using (Stream _rs = _ex.Response.GetResponseStream())
using (var _sr = new StreamReader(_rs))
{
string _readToEnd = _sr.ReadToEnd();
return new AuthInfo
{
Success = false,
ErrorMessage =
"Error while refreshing token, HTTP:" + _ex.Status + ":" + _readToEnd
};
}
}
return new AuthInfo {Success = false, ErrorMessage = "Error while refreshing token, HTTP:" + _ex.Status};
}
}