in certified-connectors/DocuSign/script.csx [342:433]
private async Task UpdateRequest()
{
await this.UpdateApiEndpoint().ConfigureAwait(false);
if ("SendDraftEnvelope".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
this.Context.Request.Content = new StringContent("{ \"status\": \"sent\" }", Encoding.UTF8, "application/json");
}
if ("CreateHookEnvelope".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
await this.TransformRequestJsonBody(this.CreateHookEnvelopeBodyTransformation).ConfigureAwait(false);
}
if ("CreateBlankEnvelope".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
await this.TransformRequestJsonBody(this.CreateBlankEnvelopeBodyTransformation).ConfigureAwait(false);
}
if ("CreateEnvelopeFromTemplate".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
await this.TransformRequestJsonBody(this.CreateEnvelopeFromTemplateBodyTransformation).ConfigureAwait(false);
}
if ("AddRecipientToEnvelope".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
await this.TransformRequestJsonBody(this.AddRecipientToEnvelopeBodyTransformation).ConfigureAwait(false);
}
if ("RemoveRecipientFromEnvelope".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
var newBody = new JObject();
var query = HttpUtility.ParseQueryString(this.Context.Request.RequestUri.Query);
newBody["signers"] = new JArray
{
new JObject
{
["recipientId"] = Uri.UnescapeDataString(query.Get("RemoveRecipientFromEnvelopeRecipientId")).Replace("+", " "),
},
};
this.Context.Request.Content = CreateJsonContent(newBody.ToString());
}
if ("OnEnvelopeStatusChanges".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
var uriBuilder = new UriBuilder(this.Context.Request.RequestUri);
var query = HttpUtility.ParseQueryString(this.Context.Request.RequestUri.Query);
uriBuilder.Path = uriBuilder.Path.Replace("/trigger/accounts/", "/accounts/");
var filterValue = query.Get("triggerState");
if (string.IsNullOrEmpty(filterValue))
{
// initial trigger state to get existing items
filterValue = DateTimeOffset.UtcNow.AddDays(-1).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
}
else
{
// remove triggerState
query.Remove("triggerState");
}
query["from_date"] = filterValue;
uriBuilder.Query = query.ToString();
this.Context.Request.RequestUri = uriBuilder.Uri;
}
if ("GetDynamicSigners".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
var uriBuilder = new UriBuilder(this.Context.Request.RequestUri);
uriBuilder.Path = uriBuilder.Path.Replace("/signers/accounts/", "/accounts/");
this.Context.Request.RequestUri = uriBuilder.Uri;
}
if ("GetLoginAccounts".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
var uriBuilder = new UriBuilder(this.Context.Request.RequestUri);
var query = HttpUtility.ParseQueryString(this.Context.Request.RequestUri.Query);
query["include_account_id_guid"] = "true";
uriBuilder.Query = query.ToString();
this.Context.Request.RequestUri = uriBuilder.Uri;
}
// update Accept Header
this.Context.Request.Headers.Accept.Clear();
var acceptHeaderValue = "application/json";
if ("GetDocuments".Equals(this.Context.OperationId, StringComparison.OrdinalIgnoreCase))
{
acceptHeaderValue = "application/pdf";
}
this.Context.Request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(acceptHeaderValue));
}