public static string GetAllStreams() { /* * /config-media-live/v1/live/{domainName}/stream * /config-media-live/v1/live/{domainName}/stream/{streamID} */ var accessToken = ConfigurationManager.AppSettings["akamaiAccessToken"]; var clientToken = ConfigurationManager.AppSettings["akamaiClientToken"]; var secret = ConfigurationManager.AppSettings["akamaiSecret"]; var signer = new EdgeGridV1Signer(); var credential = new ClientCredential(clientToken, accessToken, secret); var uri = new Uri(ConfigurationManager.AppSettings["akamaiBaseUrl"]); var request = WebRequest.Create(uri); signer.Sign(request, credential); using (var result = signer.Execute(request, credential)) { using (result) { using (var reader = new StreamReader(result)) { return(reader.ReadToEnd()); } } } }
static void Main(string[] args) { string host = ""; string clientToken = ""; string accessToken = ""; string clientSecret = ""; try { // Form the request ServicePointManager.Expect100Continue = false; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host + "/ccu/v2/queues/default"); request.Method = "POST"; string postData = string.Empty; byte[] byteArray = Encoding.Default.GetBytes(postData); request.ContentType = "application/json"; request.ContentLength = byteArray.Length; // Sign the request using (Stream bodyStream = new MemoryStream(byteArray)) { EdgeGridV1Signer signer = new EdgeGridV1Signer(); ClientCredential credential = new ClientCredential(clientToken, accessToken, clientSecret); signer.Sign(request, credential, bodyStream); } // Write the payload using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); } // Get the response using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode != HttpStatusCode.OK && response.StatusCode != HttpStatusCode.Created) { Trace.TraceError("Error flushing Akamai cache {0} {1}", response.StatusDescription, postData); } else { Trace.TraceInformation("Successfully flushed " + postData); } response.Close(); } } catch (Exception ex) { Trace.TraceError(ex.Message); } }
public void SignTest() { string clientToken = "clientToken"; string accessToken = "accessToken"; string secret = "secret-shh"; ClientCredential credential = new ClientCredential(clientToken, accessToken, secret); //DateTime timestamp = new DateTime(1918, 11, 11, 11, 00, 00, DateTimeKind.Utc); EdgeGridV1Signer signer = new EdgeGridV1Signer(); Uri uri = new Uri("http://www.example.com/"); HttpWebRequestTest request = new HttpWebRequestTest(uri); signer.Sign(request, credential); Assert.AreEqual(request.Headers.Count, 1); Assert.IsNotNull(request.Headers.Get("Authorization")); Assert.IsTrue(Regex.IsMatch(request.Headers.Get("Authorization"), @"EG1-HMAC-SHA256 client_token=clientToken;access_token=accessToken;timestamp=\d{8}T\d\d:\d\d:\d\d\+0000;nonce=[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12};signature=[A-Za-z0-9/+]{43}=")); }
static void execute(string httpMethod, string apiurl, List <string> headers, string clientToken, string accessToken, string secret, string data, string uploadfile, string outputfile, int?maxBodySize, string contentType, bool verbose = false) { if (apiurl == null || clientToken == null || accessToken == null || secret == null) { help(); return; } EdgeGridV1Signer signer = new EdgeGridV1Signer(null, maxBodySize); ClientCredential credential = new ClientCredential(clientToken, accessToken, secret); Stream uploadStream = null; if (uploadfile != null) { uploadStream = new FileInfo(uploadfile).OpenRead(); } else if (data != null) { uploadStream = new MemoryStream(data.ToByteArray()); } var uri = new Uri(apiurl); var request = WebRequest.Create(uri); foreach (string header in headers) { request.Headers.Add(header); } request.Method = httpMethod; Stream output = Console.OpenStandardOutput(); if (outputfile != null) { output = new FileInfo(outputfile).OpenWrite(); } if (verbose) { signer.Sign(request, credential, uploadStream); Console.WriteLine("Authorization: {0}", request.Headers.Get("Authorization")); Console.WriteLine(); } using (var result = signer.Execute(request, credential, uploadStream)) { using (output) { using (result) { byte[] buffer = new byte[1024 * 1024]; int bytesRead = 0; while ((bytesRead = result.Read(buffer, 0, buffer.Length)) != 0) { output.Write(buffer, 0, bytesRead); } } } } }