<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>188588</bug_id>
          
          <creation_ts>2018-08-14 16:14:47 -0700</creation_ts>
          <short_desc>[Curl] Don&apos;t send Content-Type header for POST request when body is null.</short_desc>
          <delta_ts>2018-08-15 20:18:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>galpeter</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1450146</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-14 16:14:47 -0700</bug_when>
    <thetext>Caught by http/tests/xmlhttprequest/methods.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450158</commentid>
    <comment_count>1</comment_count>
      <attachid>347126</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-14 16:30:17 -0700</bug_when>
    <thetext>Created attachment 347126
PATCH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450226</commentid>
    <comment_count>2</comment_count>
      <attachid>347126</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-08-14 20:54:19 -0700</bug_when>
    <thetext>Comment on attachment 347126
PATCH

View in context: https://bugs.webkit.org/attachment.cgi?id=347126&amp;action=review

&gt; Source/WebCore/ChangeLog:9
&gt; +        when body is null.

Is it done for CURL only for POST when setting CURLOPT_POST?
Is it also happening for other methods like PUT?

&gt; Source/WebCore/platform/network/curl/CurlRequest.cpp:468
&gt; +        m_curlHandle-&gt;removeRequestHeader(&quot;Content-Type&quot;_s);

What happens if there are elementSize but no provided HTTPHeaderName::ContentType?
If it is the default CURL, does it align with other ports?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450362</commentid>
    <comment_count>3</comment_count>
      <attachid>347126</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-15 11:23:16 -0700</bug_when>
    <thetext>Comment on attachment 347126
PATCH

View in context: https://bugs.webkit.org/attachment.cgi?id=347126&amp;action=review

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        when body is null.
&gt; 
&gt; Is it done for CURL only for POST when setting CURLOPT_POST?
&gt; Is it also happening for other methods like PUT?

libcurl only behaves like this on POST. I guess POST is more popular use case for libcurl.

&gt;&gt; Source/WebCore/platform/network/curl/CurlRequest.cpp:468
&gt;&gt; +        m_curlHandle-&gt;removeRequestHeader(&quot;Content-Type&quot;_s);
&gt; 
&gt; What happens if there are elementSize but no provided HTTPHeaderName::ContentType?
&gt; If it is the default CURL, does it align with other ports?

That is covered by this case in the test:

    req.open(&quot;POST&quot;, &quot;methods.cgi&quot;, false);
    req.send(&quot;&quot;);
    log(&apos;POST(&quot;&quot;): &apos; + req.getResponseHeader(&quot;REQMETHOD&quot;) + &quot;(&quot; + req.getResponseHeader(&quot;REQLENGTH&quot;) + &quot; bytes), Content-Type: &quot; + req.getResponseHeader(&quot;REQTYPE&quot;));

All three ports returns that content type is sent as &quot;Content-Type: text/plain;charset=UTF-8&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450363</commentid>
    <comment_count>4</comment_count>
      <attachid>347126</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-15 11:23:46 -0700</bug_when>
    <thetext>Comment on attachment 347126
PATCH

Thanks Youenn for r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450372</commentid>
    <comment_count>5</comment_count>
      <attachid>347126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-15 11:51:00 -0700</bug_when>
    <thetext>Comment on attachment 347126
PATCH

Clearing flags on attachment: 347126

Committed r234892: &lt;https://trac.webkit.org/changeset/234892&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450373</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-15 11:51:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450374</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-15 11:52:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/43343571&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450445</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-08-15 13:46:34 -0700</bug_when>
    <thetext>http/tests/xmlhttprequest/methods.html is starting to fail.
https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Tests%29/builds/1043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450569</commentid>
    <comment_count>9</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-08-15 20:18:14 -0700</bug_when>
    <thetext>I confirmed this difference. It is weird the result was different than at home. I&apos;m double check my build env.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347126</attachid>
            <date>2018-08-14 16:30:17 -0700</date>
            <delta_ts>2018-08-15 11:51:00 -0700</delta_ts>
            <desc>PATCH</desc>
            <filename>188588.diff</filename>
            <type>text/plain</type>
            <size>2795</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZTc0OTYwYWEwMS4uNDk3NzlhYTAxYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxOC0wOC0xNCAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29ueS5jb20+CisKKyAg
ICAgICAgW0N1cmxdIERvbid0IHNlbmQgQ29udGVudC1UeXBlIGhlYWRlciBmb3IgUE9TVCByZXF1
ZXN0IHdoZW4gYm9keSBpcyBudWxsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg4NTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDE4LTA4LTE0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAg
W1dlYiBBbmltYXRpb25zXSBDcmFzaCB1bmRlciBBbmltYXRpb25UaW1lbGluZTo6Y2FuY2VsT3JS
ZW1vdmVEZWNsYXJhdGl2ZUFuaW1hdGlvbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
Y2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1ZWNkOTA5MDA3MC4uYmM0ZWQwNDM2MGIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
OTQ4LDcgKzk0OCw2IEBAIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNv
b2tpZS1zdG9yYWdlLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
Y3Jvc3Mtb3JpZ2luLW5vLWF1dGhvcml6YXRpb24uaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9sb2dvdXQuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9tZXRob2RzLWFzeW5jLmh0bWwgWyBGYWlsdXJlIF0KLWh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvbWV0aG9kcy5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L251bGwtYXV0aC5waHAgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvcmFuZ2UtdGVzdC5odG1sIFsgRmFpbHVyZSBdCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3JlLWxvZ2luLWFzeW5jLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZjU5Njg1M2Vk
ZS4uMTIyZjgxY2Y2MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0wOC0xNCAg
QmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29ueS5jb20+CisKKyAgICAgICAgW0N1cmxd
IERvbid0IHNlbmQgQ29udGVudC1UeXBlIGhlYWRlciBmb3IgUE9TVCByZXF1ZXN0IHdoZW4gYm9k
eSBpcyBudWxsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg4NTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhlIENvbnRlbnQtVHlwZSBoZWFkZXIgd2FzIHNlbnQgYnkgbGliY3VybCBhdXRvbWF0aWNh
bGx5LiBTdXBwcmVzcyB0aGF0IGJlaGF2aW9yCisgICAgICAgIHdoZW4gYm9keSBpcyBudWxsLgor
CisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L21ldGhvZHMuaHRtbAor
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxSZXF1ZXN0OjpzZXR1cFBPU1QpOgorCiAyMDE4LTA4LTE0ICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGb2xsb3ctdXA6IFtJbnRlcnNl
Y3Rpb25PYnNlcnZlcl0gSW1wbGVtZW50IHJvb3RNYXJnaW4gcGFyc2luZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXF1ZXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHAKaW5kZXgg
MTMzY2IyODMwYzYuLjcyNjk5MmFhM2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVxdWVzdC5jcHAKQEAgLTQ2Myw2ICs0NjMsMTAgQEAg
dm9pZCBDdXJsUmVxdWVzdDo6c2V0dXBQT1NUKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICAg
ICBtX2N1cmxIYW5kbGUtPmVuYWJsZUh0dHBQb3N0UmVxdWVzdCgpOwogCiAgICAgYXV0byBlbGVt
ZW50U2l6ZSA9IG1fZm9ybURhdGFTdHJlYW0uZWxlbWVudFNpemUoKTsKKworICAgIGlmICghbV9y
ZXF1ZXN0Lmhhc0hUVFBIZWFkZXIoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSAmJiAhZWxl
bWVudFNpemUpCisgICAgICAgIG1fY3VybEhhbmRsZS0+cmVtb3ZlUmVxdWVzdEhlYWRlcigiQ29u
dGVudC1UeXBlIl9zKTsKKwogICAgIGlmICghZWxlbWVudFNpemUpCiAgICAgICAgIHJldHVybjsK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>