public async Task InvokeAsync(HttpContext context, RequestDelegate next) { var agentContext = await agentProvider.GetContextAsync(); var provisioningRecord = await provisioningService.GetProvisioningAsync(agentContext.Wallet); var connectionId = provisioningRecord.GetTag(MediatorProvisioningService.EdgeInvitationTagName); if (connectionId == null) { throw new Exception("This agent hasn't been provisioned as mediator agent"); } var inviation = await connectionService.GetAsync(agentContext, connectionId); var agentConfiguration = new AgentPublicConfiguration { ServiceEndpoint = provisioningRecord.Endpoint.Uri, RoutingKey = provisioningRecord.Endpoint.Verkey, Invitation = inviation.GetTag(MediatorProvisioningService.InvitationTagName) .ToObject <ConnectionInvitationMessage>() }; context.Response.ContentType = "application/json"; context.Response.StatusCode = (int)HttpStatusCode.OK; await context.Response.WriteAsync(agentConfiguration.ToJson()); }
public async Task <AgentPublicConfiguration> GetConfigurationAsync() { var agentContext = await agentProvider.GetContextAsync(); var provisioningRecord = await provisioningService.GetProvisioningAsync(agentContext.Wallet); var connectionId = provisioningRecord.GetTag(MediatorProvisioningService.EdgeInvitationTagName); if (connectionId == null) { throw new Exception("This agent hasn't been provisioned as mediator agent"); } var inviation = await connectionService.GetAsync(agentContext, connectionId); var agentConfiguration = new AgentPublicConfiguration { ServiceEndpoint = provisioningRecord.Endpoint.Uri, RoutingKey = provisioningRecord.Endpoint.Verkey.First(), Invitation = inviation.GetTag(MediatorProvisioningService.InvitationTagName) .ToObject <ConnectionInvitationMessage>() }; return(agentConfiguration); }