using System;
using System.Collections.Generic;
using System.Text;
using COSXML.Network;
using System.IO;
/**
* Copyright (c) 2018 Tencent Cloud. All rights reserved.
* 11/2/2018 1:05:46 PM
* bradyxiao
*/
namespace COSXML.Model
{
/**
* this class for cos result.
*
*/
public abstract class CosResult
{
///
/// http code
///
public int httpCode;
///
/// http message
///
public string httpMessage;
///
/// http response headers
///
public Dictionary> responseHeaders;
///
/// exchange infor between request and result
///
///
internal virtual void ExternInfo(CosRequest cosRequest) { }
///
/// parse status line and headers
///
///
internal virtual void InternalParseResponseHeaders() { }
///
/// parse response body, such as download files.
///
/// input stream
/// body mime type
/// body length
internal virtual void ParseResponseBody(Stream inputStream, string contentType, long contentLength) { }
///
/// get result message
///
///
public virtual string GetResultInfo()
{
StringBuilder resultBuilder = new StringBuilder();
resultBuilder.Append(httpCode).Append(" ").Append(httpMessage).Append("\n");
if (responseHeaders != null)
{
foreach(KeyValuePair> element in responseHeaders)
{
resultBuilder.Append(element.Key).Append(": ").Append(element.Value[0]).Append("\n");
}
}
return resultBuilder.ToString();
}
}
}