@@ -88,9 +88,10 @@ json='
8888# Step 2. Assemble the multipart body
8989CRLF=" \r\n"
9090boundary=" multipartboundary_multipartboundary"
91- hyphens=" --"
91+ # it is not easy to printf hyphens. See https://unix.stackexchange.com/q/22764/149244
92+ hyphens_cmd=' printf "--" --'
9293
93- printf " ${hyphens} " > $request_data
94+ eval hyphens_cmd > $request_data
9495printf " ${boundary} " >> $request_data
9596printf " ${CRLF} Content-Type: application/json" >> $request_data
9697printf " ${CRLF} Content-Disposition: form-data" >> $request_data
@@ -100,29 +101,39 @@ printf "${CRLF}${json}" >> $request_data
100101# Next add the documents. Each document has its own mime type,
101102# filename, and documentId. The filename and documentId must match
102103# the document's info in the JSON.
103- printf " ${CRLF}${hyphens}${boundary} " >> $request_data
104+ printf " ${CRLF} " >> $request_data
105+ eval hyphens_cmd >> $request_data
106+ printf " ${boundary} " >> $request_data
104107printf " ${CRLF} Content-Type: text/html" >> $request_data
105108printf " ${CRLF} Content-Disposition: file; filename=\" Order acknowledgement\" ;documentid=1" >> $request_data
106109printf " ${CRLF} " >> $request_data
107110printf " ${CRLF} " >> $request_data
108111cat " $doc1_path " >> $request_data
109112
110- printf " ${CRLF}${hyphens}${boundary} " >> $request_data
113+ printf " ${CRLF} " >> $request_data
114+ eval hyphens_cmd >> $request_data
115+ printf " ${boundary} " >> $request_data
111116printf " ${CRLF} Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" >> $request_data
112117printf " ${CRLF} Content-Disposition: file; filename=\" Battle Plan\" ;documentid=2" >> $request_data
113118printf " ${CRLF} " >> $request_data
114119printf " ${CRLF} " >> $request_data
115120cat " $doc2_path " >> $request_data
116121
117- printf " ${CRLF}${hyphens}${boundary} " >> $request_data
122+ printf " ${CRLF} " >> $request_data
123+ eval hyphens_cmd >> $request_data
124+ printf " ${boundary} " >> $request_data
118125printf " ${CRLF} Content-Type: application/pdf" >> $request_data
119126printf " ${CRLF} Content-Disposition: file; filename=\" Lorem Ipsum\" ;documentid=3" >> $request_data
120127printf " ${CRLF} " >> $request_data
121128printf " ${CRLF} " >> $request_data
122129cat " $doc3_path " >> $request_data
123130
124131# Add closing boundary
125- printf " ${CRLF}${hyphens}${boundary}${hyphens}${CRLF} >> $request_data
132+ printf " ${CRLF} " >> $request_data
133+ eval hyphens_cmd >> $request_data
134+ printf " ${boundary} " >> $request_data
135+ eval hyphens_cmd >> $request_data
136+ printf " ${CRLF} " >> $request_data
126137
127138curl --header " Authorization: Bearer {ACCESS_TOKEN}" \
128139 --header " Content-Type: multipart/form-data; boundary=${boundary} " \
0 commit comments