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(); } } }