public Task <ServerResponse> New(Action <PolicyTarget> policy, Action <PolicyCharacteristics> characteristics, Action <VirtualHostTarget> virtualHost, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.RequestCanceled(LogInfo); var characteristicsImpl = new PolicyCharacteristicsImpl(); characteristics(characteristicsImpl); var policyTargetImpl = new PolicyTargetImpl(); policy(policyTargetImpl); var virtualHostTargetImpl = new VirtualHostTargetImpl(); virtualHost(virtualHostTargetImpl); LogInfo( string.Format("Sent request to RabbitMQ server to create a new policy '{0}' on virtual host '{1}'.", policyTargetImpl.Target, virtualHostTargetImpl.Target)); string url = string.Format("api/policies/{0}/{1}", virtualHostTargetImpl.Target.SanitizeVirtualHostName(), policyTargetImpl.Target); return(base.Put(url, characteristicsImpl, cancellationToken).Response <ServerResponse>(cancellationToken)); }
public Task<ServerResponse> New(string policy, Action<VirtualHostTarget> target, Action<PolicyCharacteristics> characteristics, CancellationToken cancellationToken = new CancellationToken()) { cancellationToken.RequestCanceled(LogInfo); var characteristicsImpl = new PolicyCharacteristicsImpl(); characteristics(characteristicsImpl); var targetImpl = new VirtualHostTargetImpl(); target(targetImpl); LogInfo( string.Format("Sent request to RabbitMQ server to create a new policy '{0}' on virtual host '{1}'.", policy, targetImpl.VirtualHost)); string url = string.Format("api/policies/{0}/{1}", targetImpl.VirtualHost.SanitizeVirtualHostName(), policy); return base.Put(url, characteristicsImpl, cancellationToken).Response<ServerResponse>(cancellationToken); }