Skip to content

Commit

Permalink
add SearchTicker azure function
Browse files Browse the repository at this point in the history
  • Loading branch information
rrelyea committed Jun 20, 2023
1 parent 01bc478 commit 8131e16
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
2 changes: 1 addition & 1 deletion api/GetQuotes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
log.LogInformation("GetQuotes processed a request.");

string ticker = req.Query["ticker"];
string apikey = req.Query["apikey"];
Expand Down
42 changes: 42 additions & 0 deletions api/SearchTicker.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.Net.Http;

namespace api
{
public static class SearchTicker
{
[FunctionName("SearchTicker")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("SearchTicker processed a request.");

string ticker = req.Query["ticker"];
string apikey = req.Query["apikey"];

string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
ticker = ticker ?? data?.ticker;
apikey = apikey ?? data?.apikey;

string url = $"https://eodhistoricaldata.com/api/search/{ticker}?api_token={apikey}";
var httpClient = new HttpClient();
try {
var quoteDataJson = await httpClient.GetStringAsync(url);
return new OkObjectResult(quoteDataJson);
}
catch (Exception ex) {
return new BadRequestObjectResult(ex.GetType().Name + ": " + ex.Message);
}
}
}
}

0 comments on commit 8131e16

Please sign in to comment.