open Microsoft.Azure.WebJobs open Microsoft.Azure.WebJobs.Extensions.Http open Microsoft.AspNetCore.Http open Microsoft.AspNetCore.Mvc module RM = WebSharper.Core.Remoting [] let runRpc( [] request : HttpRequest ) = async { let wsServer = RM.Server.Create WebSharper.Web.Shared.Metadata WebSharper.Web.Shared.Json let! body = request.ReadAsStringAsync() |> Async.AwaitTask let wsReq = { RM.Request.Body = body RM.Request.Headers = ParseO.tryParseWith request.Headers.TryGetValue >> Option.bind Seq.tryHead } let! wsResp = wsServer.HandleRequest wsReq return ContentResult(Content = wsResp.Content, ContentType = wsResp.ContentType) } |> Async.StartAsTask