Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions openapi-sdk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7364,7 +7364,6 @@ paths:
seo:
title: 'Update Template | REST API | Dropbox Sign for Developers'
description: 'The Dropbox Sign API easily allows you to build custom integrations. To find out how to update properties of an existing template, click here.'
x-hideOn: doc
'/template/update_files/{template_id}':
post:
tags:
Expand Down Expand Up @@ -9372,7 +9371,6 @@ components:
type: boolean
default: false
deprecated: true
x-hideOn: doc
is_eid:
description: |-
Send with a value of `true` if you wish to enable
Expand Down Expand Up @@ -9474,7 +9472,6 @@ components:
type: boolean
default: false
deprecated: true
x-hideOn: doc
is_eid:
description: |-
Send with a value of `true` if you wish to enable
Expand Down
1 change: 0 additions & 1 deletion openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12571,7 +12571,6 @@ components:
- form_view
type: object
x-internal-class: true
x-hideOn: sdk
TeamResponse:
description: 'Contains information about your team and its members'
properties:
Expand Down
16 changes: 16 additions & 0 deletions sdks/ruby/lib/dropbox-sign/api_client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,22 @@ def build_request(http_method, path, opts = {})
end
end

# Workaround for the Typhoeus/libcurl multipart PUT bug.
# libcurl only builds a multipart body via CURLOPT_HTTPPOST/CURLOPT_MIMEPOST,
# which is engaged for POST requests. For PUT it falls back to CURLOPT_UPLOAD
# and silently drops form fields, so the request is sent without a
# `Content-Type: multipart/form-data; boundary=...` header or body.
# We send the request as POST so the multipart body is encoded correctly,
# then use CURLOPT_CUSTOMREQUEST (exposed by Ethon as :customrequest) to
# restore PUT as the on-the-wire HTTP verb.
# See: https://github.com/typhoeus/typhoeus/issues/389
content_type_header = header_params['Content-Type'] || header_params['content-type']
if http_method == :put && content_type_header.is_a?(String) &&
content_type_header.start_with?('multipart/form-data')
req_opts[:method] = :post
req_opts[:customrequest] = 'PUT'
end

Typhoeus::Request.new(url, req_opts)
end

Expand Down
16 changes: 16 additions & 0 deletions sdks/ruby/templates/api_client_typhoeus_partial.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,22 @@
end
end

# Workaround for the Typhoeus/libcurl multipart PUT bug.
# libcurl only builds a multipart body via CURLOPT_HTTPPOST/CURLOPT_MIMEPOST,
# which is engaged for POST requests. For PUT it falls back to CURLOPT_UPLOAD
# and silently drops form fields, so the request is sent without a
# `Content-Type: multipart/form-data; boundary=...` header or body.
# We send the request as POST so the multipart body is encoded correctly,
# then use CURLOPT_CUSTOMREQUEST (exposed by Ethon as :customrequest) to
# restore PUT as the on-the-wire HTTP verb.
# See: https://github.com/typhoeus/typhoeus/issues/389
content_type_header = header_params['Content-Type'] || header_params['content-type']
if http_method == :put && content_type_header.is_a?(String) &&
content_type_header.start_with?('multipart/form-data')
req_opts[:method] = :post
req_opts[:customrequest] = 'PUT'
end

Typhoeus::Request.new(url, req_opts)
end

Expand Down
1 change: 1 addition & 0 deletions src/Hello/OpenApi/RawFile.php
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ private function recurse(array $data, string $surface_id): TranslationResult
unset($data[$k]);
$empty_by_hiding = empty($data);
} else {
unset($v[self::HIDE_ON]);
$result = $this->recurse($v, $surface_id);
if ($result->isAllHidden()) {
unset($data[$k]);
Expand Down
Loading