Commit 349a3aaf authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Made it possible to replace the Content-Type: and Content-Length: headers

curl issues when doing a regular HTTP post. This should not be taken light-
heartedly though. Replacing them might get you into trouble!
parent 8fd44dd6
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -481,12 +481,23 @@ CURLcode http(struct connectdata *conn)
    }
    else {
      if(data->bits.http_post) {
        /* this is the simple x-www-form-urlencoded style */
        /* this is the simple POST, using x-www-form-urlencoded style */

        if(!checkheaders(data, "Content-Length:"))
          /* we allow replacing this header, although it isn't very wise to
             actually set your own */
          sendf(data->firstsocket, data,
                "Content-Length: %d\r\n",
                strlen(data->postfields));

        if(!checkheaders(data, "Content-Type:"))
          sendf(data->firstsocket, data,
                "Content-Type: application/x-www-form-urlencoded\r\n");

        /* and here comes the actual data */
        sendf(data->firstsocket, data,
              "Content-Length: %d\015\012"
              "Content-Type: application/x-www-form-urlencoded\r\n\r\n"
              "\r\n"
              "%s\r\n",
              strlen(data->postfields),
              data->postfields );
      }
      else