1111
1212namespace OpenTelekomCloud . API . Signing . Core
1313{
14+ /// <summary>
15+ /// HttpRequest represents a HTTP request to be signed
16+ /// </summary>
1417 public class HttpRequest
1518 {
1619 public string method ;
@@ -21,6 +24,14 @@ public class HttpRequest
2124 public string body = "" ;
2225 public string canonicalRequest ;
2326 public string stringToSign ;
27+
28+ /// <summary>
29+ /// Initialize HttpRequest
30+ /// </summary>
31+ /// <param name="method"></param>
32+ /// <param name="url"></param>
33+ /// <param name="headers"></param>
34+ /// <param name="body"></param>
2435 public HttpRequest ( string method = "GET" , Uri url = null , WebHeaderCollection headers = null , string body = null )
2536 {
2637 if ( method != null )
@@ -64,6 +75,10 @@ public HttpRequest(string method = "GET", Uri url = null, WebHeaderCollection he
6475 }
6576 }
6677 }
78+
79+ /// <summary>
80+ /// Signer signs HTTP requests with OTC API Signature
81+ /// </summary>
6782 public partial class Signer
6883 {
6984 const string BasicDateFormat = "yyyyMMddTHHmmssZ" ;
@@ -92,17 +107,30 @@ public string AppSecret
92107 get => secret ;
93108 set => secret = value ;
94109 }
110+ /// <summary>
111+ /// AccessKey or SecurityAccessKey
112+ /// </summary>
95113 public string Key
96114 {
97115 get => key ;
98116 set => key = value ;
99117 }
118+ /// <summary>
119+ /// SecretKey or SecuritySecretKey
120+ /// </summary>
100121 public string Secret
101122 {
102123 get => secret ;
103124 set => secret = value ;
104125 }
105126
127+ /// <summary>
128+ /// <para>
129+ /// Security Token for temporary credentials
130+ /// </para>
131+ /// If set it will be added to signed requests
132+ /// as header "X-Security-Token"
133+ /// </summary>
106134 public string SecurityToken
107135 {
108136 get => securityToken ;
@@ -118,15 +146,22 @@ byte[] hmacsha256(byte[] keyByte, string message)
118146 }
119147 }
120148
121- // Build a CanonicalRequest from a regular request string
122- //
123- // CanonicalRequest =
124- // HTTPRequestMethod + '\n' +
125- // CanonicalURI + '\n' +
126- // CanonicalQueryString + '\n' +
127- // CanonicalHeaders + '\n' +
128- // SignedHeaders + '\n' +
129- // HexEncode(Hash(RequestPayload))
149+ /// <summary>
150+ /// Build a CanonicalRequest from a regular request string
151+ ///
152+ /// <para>
153+ /// CanonicalRequest =
154+ /// HTTPRequestMethod + '\n' + <br/>
155+ /// CanonicalURI + '\n' + <br/>
156+ /// CanonicalQueryString + '\n' +<br/>
157+ /// CanonicalHeaders + '\n' +<br/>
158+ /// SignedHeaders + '\n' + <br/>
159+ /// HexEncode(Hash(RequestPayload))<br/>
160+ /// </para>
161+ /// </summary>
162+ /// <param name="r"></param>
163+ /// <param name="signedHeaders"></param>
164+ /// <returns></returns>
130165 string CanonicalRequest ( HttpRequest r , List < string > signedHeaders )
131166 {
132167 string hexencode ;
0 commit comments