public static async Task <HttpResponseMessage> Run(HttpRequestMessage req, string shortCode) { var service = new ShortenerService(); string longUrl = await service.GetLongUrlAsync(shortCode); if (string.IsNullOrEmpty(longUrl)) { return(req.CreateResponse(HttpStatusCode.NotFound)); } // analytics string clientIp = GetClientIpAddress(req); await service.LogView(shortCode, longUrl, req.Headers.UserAgent.ToString(), clientIp); var response = req.CreateResponse(HttpStatusCode.Redirect); response.Headers.Add("Location", longUrl); return(response); }