]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
http: remove "struct HTTP"
authorDaniel Stenberg <daniel@haxx.se>
Wed, 12 Jun 2024 09:05:44 +0000 (11:05 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 12 Jun 2024 14:04:53 +0000 (16:04 +0200)
It is not actually used anymore and only contained a dummy struct field.
Remove all traces and uses of it.

Closes #13927

lib/cf-h1-proxy.c
lib/http.c
lib/http.h
lib/http2.c
lib/request.c
lib/request.h
lib/rtsp.h
lib/vquic/curl_ngtcp2.c
lib/vquic/curl_osslq.c

index 135081a0fe675ad3bd428cf0b85db33767306eff..fdec3a754e77813a97b715ee3998dc8f8824bc71 100644 (file)
@@ -65,7 +65,6 @@ typedef enum {
 
 /* struct for HTTP CONNECT tunneling */
 struct h1_tunnel_state {
-  struct HTTP CONNECT;
   struct dynbuf rcvbuf;
   struct dynbuf request_data;
   size_t nsent;
index 2548e45f665df4efd9ac9fbda814b10a335ba830..b31f344716983d35c1c426e542f3df2fd85e7ce0 100644 (file)
@@ -169,14 +169,6 @@ CURLcode Curl_http_setup_conn(struct Curl_easy *data,
 {
   /* allocate the HTTP-specific struct for the Curl_easy, only to survive
      during this request */
-  struct HTTP *http;
-  DEBUGASSERT(data->req.p.http == NULL);
-
-  http = calloc(1, sizeof(struct HTTP));
-  if(!http)
-    return CURLE_OUT_OF_MEMORY;
-
-  data->req.p.http = http;
   connkeep(conn, "HTTP default");
 
   if(data->state.httpwant == CURL_HTTP_VERSION_3ONLY) {
@@ -1174,16 +1166,12 @@ CURLcode Curl_http_done(struct Curl_easy *data,
                         CURLcode status, bool premature)
 {
   struct connectdata *conn = data->conn;
-  struct HTTP *http = data->req.p.http;
 
   /* Clear multipass flag. If authentication isn't done yet, then it will get
    * a chance to be set back to true when we output the next auth header */
   data->state.authhost.multipass = FALSE;
   data->state.authproxy.multipass = FALSE;
 
-  if(!http)
-    return CURLE_OK;
-
   Curl_dyn_reset(&data->state.headerb);
   Curl_hyper_done(data);
 
index b0c4f5fd2318039d43a2eedf93c12d8c0d85577f..fbc180de3338486c4f9454d186f40b1097bad0f0 100644 (file)
@@ -73,7 +73,6 @@ char *Curl_checkProxyheaders(struct Curl_easy *data,
                              const struct connectdata *conn,
                              const char *thisheader,
                              const size_t thislen);
-struct HTTP; /* see below */
 
 CURLcode Curl_add_timecondition(struct Curl_easy *data,
 #ifndef USE_HYPER
@@ -187,10 +186,6 @@ void Curl_http_exp100_got100(struct Curl_easy *data);
 /****************************************************************************
  * HTTP unique setup
  ***************************************************************************/
-struct HTTP {
-  /* TODO: no longer used, we should remove it from SingleRequest */
-  char unused;
-};
 
 CURLcode Curl_http_size(struct Curl_easy *data);
 
index 410cedcfda970a258eb983674008c047b53ff980..6a30354d63ae0ca7d9416e1bd21d1375fe0a4195 100644 (file)
@@ -292,10 +292,6 @@ static CURLcode http2_data_setup(struct Curl_cfilter *cf,
 
   (void)cf;
   DEBUGASSERT(data);
-  if(!data->req.p.http) {
-    failf(data, "initialization failure, transfer not http initialized");
-    return CURLE_FAILED_INIT;
-  }
   stream = H2_STREAM_CTX(ctx, data);
   if(stream) {
     *pstream = stream;
@@ -797,18 +793,9 @@ static struct Curl_easy *h2_duphandle(struct Curl_cfilter *cf,
 {
   struct Curl_easy *second = curl_easy_duphandle(data);
   if(second) {
-    /* setup the request struct */
-    struct HTTP *http = calloc(1, sizeof(struct HTTP));
-    if(!http) {
-      (void)Curl_close(&second);
-    }
-    else {
-      struct h2_stream_ctx *second_stream;
-
-      second->req.p.http = http;
-      http2_data_setup(cf, second, &second_stream);
-      second->state.priority.weight = data->state.priority.weight;
-    }
+    struct h2_stream_ctx *second_stream;
+    http2_data_setup(cf, second, &second_stream);
+    second->state.priority.weight = data->state.priority.weight;
   }
   return second;
 }
@@ -870,9 +857,7 @@ fail:
 static void discard_newhandle(struct Curl_cfilter *cf,
                               struct Curl_easy *newhandle)
 {
-  if(newhandle->req.p.http) {
-    http2_data_done(cf, newhandle);
-  }
+  http2_data_done(cf, newhandle);
   (void)Curl_close(&newhandle);
 }
 
index c940edf607a2eec76815dd673c9feb969bc8da96..e376f95a231f6970f15f1fdcab5eab495543bbe9 100644 (file)
@@ -109,7 +109,7 @@ void Curl_req_hard_reset(struct SingleRequest *req, struct Curl_easy *data)
 
   /* This is a bit ugly. `req->p` is a union and we assume we can
    * free this safely without leaks. */
-  Curl_safefree(req->p.http);
+  Curl_safefree(req->p.ftp);
   Curl_safefree(req->newurl);
   Curl_client_reset(data);
   if(req->sendbuf_init)
@@ -164,7 +164,7 @@ void Curl_req_free(struct SingleRequest *req, struct Curl_easy *data)
 {
   /* This is a bit ugly. `req->p` is a union and we assume we can
    * free this safely without leaks. */
-  Curl_safefree(req->p.http);
+  Curl_safefree(req->p.ftp);
   Curl_safefree(req->newurl);
   if(req->sendbuf_init)
     Curl_bufq_free(&req->sendbuf);
index 06d32c3e2a2ef54f1dd5631f31b2eacf0a14a4d3..77a0036c99d74fd2755dbc9251105cb1ff8c0e6d 100644 (file)
@@ -104,7 +104,6 @@ struct SingleRequest {
   union {
     struct FILEPROTO *file;
     struct FTP *ftp;
-    struct HTTP *http;
     struct IMAP *imap;
     struct ldapreqinfo *ldap;
     struct MQTT *mqtt;
index b1ffa5c7ea651c9d2d0b60cd26a8d9f29677a096..41b09503ffb914c15814c32433c5f63ac7e72099 100644 (file)
@@ -62,16 +62,6 @@ struct rtsp_conn {
  * RTSP unique setup
  ***************************************************************************/
 struct RTSP {
-  /*
-   * http_wrapper MUST be the first element of this structure for the wrap
-   * logic to work. In this way, we get a cheap polymorphism because
-   * &(data->state.proto.rtsp) == &(data->state.proto.http) per the C spec
-   *
-   * HTTP functions can safely treat this as an HTTP struct, but RTSP aware
-   * functions can also index into the later elements.
-   */
-  struct HTTP http_wrapper; /* wrap HTTP to do the heavy lifting */
-
   long CSeq_sent; /* CSeq of this request */
   long CSeq_recv; /* CSeq received */
 };
index dc6aeb8d0800a1f4fa745a9033c9e14f7c152f3c..26c50029f631532dd91b67341b674a6e422f557e 100644 (file)
@@ -198,7 +198,7 @@ static CURLcode h3_data_setup(struct Curl_cfilter *cf,
   struct cf_ngtcp2_ctx *ctx = cf->ctx;
   struct h3_stream_ctx *stream = H3_STREAM_CTX(ctx, data);
 
-  if(!data || !data->req.p.http) {
+  if(!data) {
     failf(data, "initialization failure, transfer not http initialized");
     return CURLE_FAILED_INIT;
   }
index 65067043c5f1393b29a18047e7befe351584725a..f9fde75cc09906836121c30e816e91c1fe999e72 100644 (file)
@@ -521,7 +521,7 @@ static CURLcode h3_data_setup(struct Curl_cfilter *cf,
   struct cf_osslq_ctx *ctx = cf->ctx;
   struct h3_stream_ctx *stream = H3_STREAM_CTX(ctx, data);
 
-  if(!data || !data->req.p.http) {
+  if(!data) {
     failf(data, "initialization failure, transfer not http initialized");
     return CURLE_FAILED_INIT;
   }