public async Task <bool> Disconnect([FromBody] string connectionString) { if (PeerConnectionString.TryCreate(connectionString, out var conn)) { return(await _connectionHandler.DisconnectPeer(conn.EndPoint)); } throw new HttpRequestException($"Invalid connection string {connectionString}"); }
public static NodeInfo ToNodeInfo(this PeerConnectionString connectionString) { var str = connectionString.EndPoint.ToEndpointString(); // trim protocol part var index = str.IndexOf("://", StringComparison.InvariantCulture); if (index != -1) { str = str[(index + 2)..];
public async Task <bool> Connect( //[ModelBinder(BinderType = typeof(PeerConnectionStringModelBinders))] [FromBody] string connectionString) { if (PeerConnectionString.TryCreate(connectionString, out var conn)) { var isNewPeer = await _connectionHandler.NewOutbound(conn.EndPoint, conn.NodeId); return(isNewPeer); } throw new HttpRequestException($"Invalid connection string {connectionString}"); }
public Task BindModelAsync(ModelBindingContext bindingContext) { if (bindingContext == null) { throw new ArgumentNullException(nameof(bindingContext)); } var val = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); var key = val.FirstValue as string; if (key is null) { return(Task.CompletedTask); } if (PeerConnectionString.TryCreate(key, out var result)) { bindingContext.Result = ModelBindingResult.Success(result); } return(Task.CompletedTask); }
public Task DisconnectAsync(PeerConnectionString connectionString) { return(RequestAsync <object>("/v1/peer/disconnect", HttpMethod.Delete, connectionString.ToString())); }
public Task <bool> ConnectAsync(PeerConnectionString connectionString) { return(RequestAsync <bool>("/v1/peer/connect", HttpMethod.Post, connectionString.ToString())); }