Re: [PATCH] http PUT requests

Alexander Malysh <[email protected]> Fri, 12 Jul 2019 15:00:54 +0200
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
--Apple-Mail=_5D02D44B-7F18-479D-BAEC-24108F46989B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi,

> Am 11.07.2019 um 14:24 schrieb Lamasuta, Franck, Vodafone Automotive =
<[email protected]>:
>=20
> I thought again about it=E2=80=A6
> I guess you are concerned because the body of all POST or PUT requests =
would be parsed.
> Of course this is bad!   J

exactly...

> I think we have to check the value of the Content-Type header.
> =20
> This is what we get from Micro Ocean:
> Content-Type: application/x-www-form-urlencoded
>=20
> Would it be ok to test this header before calling parse_cgivars() to =
parse the body?
> Do you have another idea?

This should work.

Thanks,
Alex

> =20
> Regards,
> Franck
> =20
> =20
> From: devel <[email protected]> On Behalf Of Lamasuta, Franck, =
Vodafone Automotive
> Sent: jeudi 11 juillet 2019 12:06
> To: Alexander Malysh <[email protected]>
> Cc: [email protected]
> Subject: RE: [PATCH] http PUT requests
> =20
> Hi Alexander,
> =20
> This is what http_accept_request() logs (with my patch) when Micro =
Ocean submits a DLR:
> =20
> 2019-07-10 13:21:05 [5746] [7] DEBUG: HTTP: Got PUT request with =
url=3D'/MOcean-Kannel/DLR' and =
body=3D'mocean-from=3D33123456789&mocean-to=3DMocean&mocean-dlr-status=3D1=
&mocean-msgid=3D0710212043806340&mocean-error-code=3D0'
> =20
> As you can see, the query variables are in the body of the request. I =
think this is usual for a PUT (and for a POST).
> To avoid code duplication, it seemed logical to slightly modify =
parse_cgivars() to parse the body.
> How would you manage this?
> =20
> Regards,
> Franck
> =20
> =20
> From: Alexander Malysh <[email protected] =
<mailto:[email protected]>> On Behalf Of Alexander Malysh
> Sent: mardi 9 juillet 2019 08:42
> To: Lamasuta, Franck, Vodafone Automotive =
<[email protected] <mailto:[email protected]>>
> Cc: [email protected] <mailto:[email protected]>
> Subject: Re: [PATCH] http PUT requests
> =20
> Hi,
> =20
> sorry for delay. Patch would be ok if not this part where you parse =
body for post and put request
> as cgi vars. this is wrong. Please fix it and resubmit.
> =20
> Thanks,
> Alexander Malysh
> =20
> =20
>=20
> Am 28.06.2019 um 10:58 schrieb Lamasuta, Franck, Vodafone Automotive =
<[email protected] <mailto:[email protected]>>:
> =20
> Hi list,
> =20
> Here is a patch to allow inbound http PUT requests in generic http =
connector.
> It is required to implement Micro Ocean=E2=80=99s API for Delivery =
Reports: https://www.moceanapi.com/docs/#delivery-report =
<https://www.moceanapi.com/docs/#delivery-report>
> =20
> Regards,
> Franck
> <http_put.patch>
> =20


--Apple-Mail=_5D02D44B-7F18-479D-BAEC-24108F46989B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" =
class=3D"">Hi,<br class=3D""><div><br class=3D""><blockquote type=3D"cite"=
 class=3D""><div class=3D"">Am 11.07.2019 um 14:24 schrieb Lamasuta, =
Franck, Vodafone Automotive &lt;<a =
href=3D"mailto:[email protected]" =
class=3D"">[email protected]</a>&gt;:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"WordSection1" style=3D"page: WordSection1; caret-color: rgb(0, =
0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">I thought again about =
it=E2=80=A6<o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm =
0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">I guess you are =
concerned because the body of all POST or PUT requests would be =
parsed.<o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Of course this is =
bad!&nbsp;&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span><span =
style=3D"font-size: 11pt; font-family: Wingdings; color: rgb(31, 73, =
125);" class=3D"">J</span></div></div></div></blockquote><div><br =
class=3D""></div><div>exactly...</div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D"WordSection1" =
style=3D"page: WordSection1; caret-color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;"><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; =
font-family: &quot;Times New Roman&quot;, serif;" class=3D""><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif; color: =
rgb(31, 73, 125);" class=3D""><o:p class=3D""></o:p></span></div><div =
style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: =
&quot;Times New Roman&quot;, serif;" class=3D""><span style=3D"font-size: =
11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" =
class=3D"">I think we have to check the value of the Content-Type =
header.<o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">This is what we get =
from Micro Ocean:<o:p class=3D""></o:p></span></div><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D""><span lang=3D"FR" style=3D"font-size: =
11pt; font-family: Calibri, sans-serif; color: rgb(0, 112, 192);" =
class=3D"">Content-Type: application/x-www-form-urlencoded<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span lang=3D"FR" style=3D"font-size: 11pt; font-family: =
Calibri, sans-serif; color: rgb(31, 73, 125);" class=3D""><br =
class=3D""></span><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Would it be ok to test =
this header before calling parse_cgivars() to parse the body?<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Do you have another =
idea?</span></div></div></div></blockquote><div><br =
class=3D""></div><div>This should work.</div><div><br =
class=3D""></div><div>Thanks,</div><div>Alex</div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"WordSection1" style=3D"page: WordSection1; caret-color: rgb(0, =
0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Regards,<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Franck<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><o:p class=3D"">&nbsp;</o:p></div><div class=3D""><div =
style=3D"border-style: solid none none; border-top-width: 1pt; =
border-top-color: rgb(225, 225, 225); padding: 3pt 0cm 0cm;" =
class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; =
font-family: &quot;Times New Roman&quot;, serif;" class=3D""><b =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif;" class=3D"">From:</span></b><span style=3D"font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D""><span =
class=3D"Apple-converted-space">&nbsp;</span>devel &lt;<a =
href=3D"mailto:[email protected]" =
class=3D"">[email protected]</a>&gt;<span =
class=3D"Apple-converted-space">&nbsp;</span><b class=3D"">On Behalf =
Of<span class=3D"Apple-converted-space">&nbsp;</span></b>Lamasuta, =
Franck, Vodafone Automotive<br class=3D""><b class=3D"">Sent:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>jeudi 11 juillet 2019 =
12:06<br class=3D""><b class=3D"">To:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Alexander Malysh &lt;<a =
href=3D"mailto:[email protected]" =
class=3D"">[email protected]</a>&gt;<br class=3D""><b =
class=3D"">Cc:</b><span class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"mailto:[email protected]" class=3D"">[email protected]</a><br =
class=3D""><b class=3D"">Subject:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>RE: [PATCH] http PUT =
requests<o:p class=3D""></o:p></span></div></div></div><div =
style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: =
&quot;Times New Roman&quot;, serif;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Hi Alexander,<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">This is what =
http_accept_request() logs (with my patch) when Micro Ocean submits a =
DLR:<o:p class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: =
&quot;Courier New&quot;; color: rgb(0, 112, 192);" class=3D"">2019-07-10 =
13:21:05 [5746] [7] DEBUG: HTTP: Got PUT request with =
url=3D'/MOcean-Kannel/DLR' and =
body=3D'mocean-from=3D33123456789&amp;mocean-to=3DMocean&amp;mocean-dlr-st=
atus=3D1&amp;mocean-msgid=3D0710212043806340&amp;mocean-error-code=3D0'<o:=
p class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">As you can see, the =
query variables are in the<span =
class=3D"Apple-converted-space">&nbsp;</span><b class=3D"">body</b><span =
class=3D"Apple-converted-space">&nbsp;</span>of the request. I think =
this is usual for a PUT (and for a POST).<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">To avoid code =
duplication, it seemed logical to slightly modify parse_cgivars() to =
parse the body.<br class=3D"">How would you manage this?<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Regards,<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D"">Franck<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif; color: rgb(31, 73, 125);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D""><o:p class=3D"">&nbsp;</o:p></div><div class=3D""><div =
style=3D"border-style: solid none none; border-top-width: 1pt; =
border-top-color: rgb(225, 225, 225); padding: 3pt 0cm 0cm;" =
class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; =
font-family: &quot;Times New Roman&quot;, serif;" class=3D""><b =
class=3D""><span style=3D"font-size: 11pt; font-family: Calibri, =
sans-serif;" class=3D"">From:</span></b><span style=3D"font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D""><span =
class=3D"Apple-converted-space">&nbsp;</span>Alexander Malysh &lt;<a =
href=3D"mailto:[email protected]" style=3D"color: purple; =
text-decoration: underline;" class=3D"">[email protected]</a>&gt;<span =
class=3D"Apple-converted-space">&nbsp;</span><b class=3D"">On Behalf =
Of<span class=3D"Apple-converted-space">&nbsp;</span></b>Alexander =
Malysh<br class=3D""><b class=3D"">Sent:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>mardi 9 juillet 2019 =
08:42<br class=3D""><b class=3D"">To:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Lamasuta, Franck, Vodafone =
Automotive &lt;<a href=3D"mailto:[email protected]" =
style=3D"color: purple; text-decoration: underline;" =
class=3D"">[email protected]</a>&gt;<br class=3D""><b =
class=3D"">Cc:</b><span class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"mailto:[email protected]" style=3D"color: purple; =
text-decoration: underline;" class=3D"">[email protected]</a><br =
class=3D""><b class=3D"">Subject:</b><span =
class=3D"Apple-converted-space">&nbsp;</span>Re: [PATCH] http PUT =
requests<o:p class=3D""></o:p></span></div></div></div><div =
style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: =
&quot;Times New Roman&quot;, serif;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D"">Hi,<o:p class=3D""></o:p></div><div class=3D""><div =
style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: =
&quot;Times New Roman&quot;, serif;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></div></div><div class=3D""><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D"">sorry for delay. Patch would be ok if =
not this part where you parse body for post and put request<o:p =
class=3D""></o:p></div></div><div class=3D""><div style=3D"margin: 0cm =
0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D"">as cgi vars. this is wrong. Please fix it and =
resubmit.<o:p class=3D""></o:p></div></div><div class=3D""><div =
style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: =
&quot;Times New Roman&quot;, serif;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></div></div><div class=3D""><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D"">Thanks,<o:p =
class=3D""></o:p></div></div><div class=3D""><div style=3D"margin: 0cm =
0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D"">Alexander Malysh<o:p class=3D""></o:p></div></div><div =
class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; =
font-family: &quot;Times New Roman&quot;, serif;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></div><div class=3D""><p class=3D"MsoNormal" =
style=3D"margin: 0cm 0cm 12pt; font-size: 12pt; font-family: &quot;Times =
New Roman&quot;, serif;"><o:p class=3D"">&nbsp;</o:p></p><blockquote =
style=3D"margin-top: 5pt; margin-bottom: 5pt;" class=3D""><div =
class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; =
font-family: &quot;Times New Roman&quot;, serif;" class=3D"">Am =
28.06.2019 um 10:58 schrieb Lamasuta, Franck, Vodafone Automotive &lt;<a =
href=3D"mailto:[email protected]" style=3D"color: purple; =
text-decoration: underline;" =
class=3D"">[email protected]</a>&gt;:<o:p =
class=3D""></o:p></div></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 12pt; font-family: &quot;Times New Roman&quot;, serif;" =
class=3D""><o:p class=3D"">&nbsp;</o:p></div><div class=3D""><div =
class=3D""><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; =
font-family: &quot;Times New Roman&quot;, serif;" class=3D""><span =
lang=3D"FR" style=3D"font-size: 11pt; font-family: Calibri, sans-serif;" =
class=3D"">Hi list,</span><span style=3D"font-size: 11pt; font-family: =
Calibri, sans-serif;" class=3D""><o:p =
class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D""><span lang=3D"FR" style=3D"font-size: =
11pt; font-family: Calibri, sans-serif;" class=3D"">&nbsp;</span><span =
style=3D"font-size: 11pt; font-family: Calibri, sans-serif;" =
class=3D""><o:p class=3D""></o:p></span></div></div><div class=3D""><div =
style=3D"margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: =
&quot;Times New Roman&quot;, serif;" class=3D""><span style=3D"font-size: =
11pt; font-family: Calibri, sans-serif;" class=3D"">Here is a patch to =
allow inbound http PUT requests in generic http connector.<br =
class=3D"">It is required to implement Micro Ocean=E2=80=99s API for =
Delivery Reports:<span class=3D"apple-converted-space">&nbsp;</span><a =
href=3D"https://www.moceanapi.com/docs/#delivery-report" style=3D"color: =
purple; text-decoration: underline;" class=3D""><span style=3D"color: =
rgb(149, 79, 114);" =
class=3D"">https://www.moceanapi.com/docs/#delivery-report</span></a><o:p =
class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D""><span style=3D"font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D"">&nbsp;<o:p =
class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D""><span style=3D"font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D"">Regards,<o:p =
class=3D""></o:p></span></div></div><div class=3D""><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D""><span style=3D"font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D"">Franck<o:p =
class=3D""></o:p></span></div></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 12pt; font-family: &quot;Times New Roman&quot;, =
serif;" class=3D"">&lt;http_put.patch&gt;<o:p =
class=3D""></o:p></div></div></blockquote></div><div style=3D"margin: =
0cm 0cm 0.0001pt; font-size: 12pt; font-family: &quot;Times New =
Roman&quot;, serif;" class=3D""><o:p =
class=3D"">&nbsp;</o:p></div></div></div><style =
class=3D"">ul[class*=3D'mb-extra__public-links'], =
ul[class*=3D'mb-note__public-links'], ul[class*=3D'mb-task__public-links']=
 { display: none !important; }</style></div></blockquote></div><br =
class=3D""></body></html>=

--Apple-Mail=_5D02D44B-7F18-479D-BAEC-24108F46989B--