You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Are you requesting support for a new curl flag? If so, what is the flag and the equivalent Go code?
# (curl –X POST https://ssomesite.com/convert \
-F “media[file_data]=@/tmp/Example.wav;type=audio/x-wav” \
-F “account_did=5555555555” \
-F “api_key=a28f48da8da33402daef356abc567abfedc” \
-F “media[external_id]=123456789” \
-F “media[sender_id]=444-555-6666” \
-F “media[sender_name]=Mark Smith” \
-F “media[receiver_id]=333-555-1212” \
-F “media[receiver_name]=James Jones” \
-F “media[external_id]=4aef5432” \
-F “media[external_data]=Free-form text relative to your use case.”
// (no idea
I am looking at trying to make a complex request (like the above), and with the curl request (see above), code it up using the Go's net/http package.
Now, my main concern is that I am relatively new to the net/http package. It looks and feels pretty powerful, so I suspect this could be done. Your little curl-to-go program, and the example code have fired the imagination. I think I might be able to supply a -F option to code, but I need a nudge in the right direction.
If you were to code up (in go) the conversion, how would you (from a high-level perspective) do it? A little point in the right direction can get me started pretty quickly.
The curl above results in this sequence: (trace from curl):
== Info: About to connect() to eps-4voice.nuancemobility.net port 443 (#0)
== Info: Trying 8.39.192.14... == Info: connected
== Info: Connected to eps-4voice.nuancemobility.net (8.39.192.14) port 443 (#0)
== Info: Initializing NSS with certpath: sql:/etc/pki/nssdb
== Info: warning: ignoring value of ssl.verifyhost
== Info: skipping SSL peer certificate verification
== Info: NSS: client certificate not found (nickname not specified)
== Info: SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
== Info: Server certificate:
== Info: subject: CN=*.nuancemobility.net,OU=BOS,O=Nuance Communications Inc.,L=Burlington,ST=Massachusetts,C=US
== Info: start date: Jul 10 00:00:00 2020 GMT
== Info: expire date: Jul 11 12:00:00 2022 GMT
== Info: common name: *.nuancemobility.net
== Info: issuer: CN=DigiCert Global CA G2,O=DigiCert Inc,C=US
=> Send header, 344 bytes (0x158)
0000: POST /conversions/4voice-us-voicemail HTTP/1.1
0030: User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7
0070: NSS/3.44 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
00a0: Host: eps-4voice.nuancemobility.net
00c5: Accept: /
00d2: Content-Length: 202234
00ea: Expect: 100-continue
0100: Content-Type: multipart/form-data; boundary=--------------------
0140: --------744dab5b632c
0156:
<= Recv header, 23 bytes (0x17)
0000: HTTP/1.1 100 Continue
=> Send data, 187 bytes (0xbb)
0000: ------------------------------744dab5b632c
002c: Content-Disposition: form-data; name="media[file_data]"; filenam
006c: e="Example.wav"
009e: Content-Type: audio/x-wav
00b9:
=> Send data, 16383 bytes (0x3fff)
0000: RIFF$...WAVEfmt ........@....>......data.............. .........
0040: ............. .......(.........................................
0080: ................................................................
00c0: ................................................................
0100: ......0............. ............. .......0.....................
... (15 16k blocks of info snipped out...)
1080: ....D...............T...................t.............$.........
10c0: ............|$|.|,|&..............D.....D.<.............D...D.d.
1100: ..............<.......$.4...............
=> Send data, 1043 bytes (0x413)
0000:
0002: ------------------------------744dab5b632c
002e: Content-Disposition: form-data; name="account_did"
0062:
0064: 5555555555
0070: ------------------------------744dab5b632c
009c: Content-Disposition: form-data; name="api_key"
00cc:
00ce: a28f48da8da33402daef356abc567abfedc
00f8: ------------------------------744dab5b632c
0124: Content-Disposition: form-data; name="media[sender_id]"
015d:
015f: 444-555-6666
0164: ------------------------------744dab5b632c
0190: Content-Disposition: form-data; name="media[sender_name]"
01cb:
01cd: Mark Smith
01dc: ------------------------------744dab5b632c
0208: Content-Disposition: form-data; name="media[receiver_id]"
0243:
0245: 333-555-1212
025b: ------------------------------744dab5b632c
0287: Content-Disposition: form-data; name="media[receiver_name]"
02c4:
02c6: James Jones
02d9: ------------------------------744dab5b632c
0305: Content-Disposition: form-data; name="media[external_id]"
0340:
0342: 4aef5432
0362: ------------------------------744dab5b632c
038e: Content-Disposition: form-data; name="media[external_data]"
03cb:
03cd: Free-form text relative to your use case.
03e5: ------------------------------744dab5b632c--
Got any words of wisdom?
The text was updated successfully, but these errors were encountered:
You'll probably want to become familiar with how multipart uploads work, if you aren't already, and then there's a great package in the standard library that makes it pretty easy: https://golang.org/pkg/mime/multipart/
Are you requesting support for a new curl flag? If so, what is the flag and the equivalent Go code?
// (no idea
I am looking at trying to make a complex request (like the above), and with the curl request (see above), code it up using the Go's net/http package.
Now, my main concern is that I am relatively new to the net/http package. It looks and feels pretty powerful, so I suspect this could be done. Your little curl-to-go program, and the example code have fired the imagination. I think I might be able to supply a -F option to code, but I need a nudge in the right direction.
If you were to code up (in go) the conversion, how would you (from a high-level perspective) do it? A little point in the right direction can get me started pretty quickly.
The curl above results in this sequence: (trace from curl):
== Info: About to connect() to eps-4voice.nuancemobility.net port 443 (#0)
== Info: Trying 8.39.192.14... == Info: connected
== Info: Connected to eps-4voice.nuancemobility.net (8.39.192.14) port 443 (#0)
== Info: Initializing NSS with certpath: sql:/etc/pki/nssdb
== Info: warning: ignoring value of ssl.verifyhost
== Info: skipping SSL peer certificate verification
== Info: NSS: client certificate not found (nickname not specified)
== Info: SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
== Info: Server certificate:
== Info: subject: CN=*.nuancemobility.net,OU=BOS,O=Nuance Communications Inc.,L=Burlington,ST=Massachusetts,C=US
== Info: start date: Jul 10 00:00:00 2020 GMT
== Info: expire date: Jul 11 12:00:00 2022 GMT
== Info: common name: *.nuancemobility.net
== Info: issuer: CN=DigiCert Global CA G2,O=DigiCert Inc,C=US
=> Send header, 344 bytes (0x158)
0000: POST /conversions/4voice-us-voicemail HTTP/1.1
0030: User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7
0070: NSS/3.44 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
00a0: Host: eps-4voice.nuancemobility.net
00c5: Accept: /
00d2: Content-Length: 202234
00ea: Expect: 100-continue
0100: Content-Type: multipart/form-data; boundary=--------------------
0140: --------744dab5b632c
0156:
<= Recv header, 23 bytes (0x17)
0000: HTTP/1.1 100 Continue
=> Send data, 187 bytes (0xbb)
0000: ------------------------------744dab5b632c
002c: Content-Disposition: form-data; name="media[file_data]"; filenam
006c: e="Example.wav"
009e: Content-Type: audio/x-wav
00b9:
=> Send data, 16383 bytes (0x3fff)
0000: RIFF$...WAVEfmt ........@....>......data.............. .........
0040: ............. .......(.........................................
0080: ................................................................
00c0: ................................................................
0100: ......0............. ............. .......0.....................
... (15 16k blocks of info snipped out...)
1080: ....D...............T...................t.............$.........
10c0: ............|$|.|,|&..............D.....D.<.............D...D.d.
1100: ..............<.......$.4...............
=> Send data, 1043 bytes (0x413)
0000:
0002: ------------------------------744dab5b632c
002e: Content-Disposition: form-data; name="account_did"
0062:
0064: 5555555555
0070: ------------------------------744dab5b632c
009c: Content-Disposition: form-data; name="api_key"
00cc:
00ce: a28f48da8da33402daef356abc567abfedc
00f8: ------------------------------744dab5b632c
0124: Content-Disposition: form-data; name="media[sender_id]"
015d:
015f: 444-555-6666
0164: ------------------------------744dab5b632c
0190: Content-Disposition: form-data; name="media[sender_name]"
01cb:
01cd: Mark Smith
01dc: ------------------------------744dab5b632c
0208: Content-Disposition: form-data; name="media[receiver_id]"
0243:
0245: 333-555-1212
025b: ------------------------------744dab5b632c
0287: Content-Disposition: form-data; name="media[receiver_name]"
02c4:
02c6: James Jones
02d9: ------------------------------744dab5b632c
0305: Content-Disposition: form-data; name="media[external_id]"
0340:
0342: 4aef5432
0362: ------------------------------744dab5b632c
038e: Content-Disposition: form-data; name="media[external_data]"
03cb:
03cd: Free-form text relative to your use case.
03e5: ------------------------------744dab5b632c--
Got any words of wisdom?
The text was updated successfully, but these errors were encountered: