[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-wget] http.c code cleaning
From: |
Dmitry Bogatov |
Subject: |
Re: [Bug-wget] http.c code cleaning |
Date: |
Thu, 09 May 2013 00:55:00 +0400 |
User-agent: |
mu4e 0.9.9.5; emacs 24.3.1 |
>> Giuseppe pushed a patch with that change a few days ago.. Please rebase it
>> onto the master branch.
> Good idea, but as Darshit said, please rebase it onto the master
> branch. I will be offline for the next few days, I will review it
> when I am back.
Here it is:
>From 6b35e408194bb1970537b54d888374e77d26d6b4 Mon Sep 17 00:00:00 2001
From: Dmitry Bogatov <address@hidden>
Date: Wed, 8 May 2013 18:10:55 +0400
Subject: [PATCH] Non-functionality improvement in src/http.c.
Pulled `request_set_method` functionality into `request_new`
to ensure these functions always called in right order.
---
src/http.c | 35 +++++++++++++++--------------------
1 file changed, 15 insertions(+), 20 deletions(-)
diff --git a/src/http.c b/src/http.c
index 3a33840..4d3b753 100644
--- a/src/http.c
+++ b/src/http.c
@@ -147,27 +147,20 @@ struct request {
extern int numurls;
-/* Create a new, empty request. At least request_set_method must be
- called before the request can be used. */
+/* Create a new, empty request. Set the request's method and its
+ arguments. METHOD should be a literal string (or it should outlive
+ the request) because it will not be freed. ARG will be freed by
+ request_free. */
static struct request *
-request_new (void)
+request_new (const char *method, char *arg)
{
struct request *req = xnew0 (struct request);
req->hcapacity = 8;
req->headers = xnew_array (struct request_header, req->hcapacity);
- return req;
-}
-
-/* Set the request's method and its arguments. METH should be a
- literal string (or it should outlive the request) because it will
- not be freed. ARG will be freed by request_free. */
-
-static void
-request_set_method (struct request *req, const char *meth, char *arg)
-{
- req->method = meth;
+ req->method = method;
req->arg = arg;
+ return req;
}
/* Return the method string passed with the last call to
@@ -1758,15 +1751,18 @@ gethttp (struct url *u, struct http_stat *hs, int *dt,
struct url *proxy,
conn = u;
/* Prepare the request to send. */
-
- req = request_new ();
{
char *meth_arg;
const char *meth = "GET";
if (head_only)
meth = "HEAD";
else if (opt.method)
- meth = opt.method;
+ {
+ char *q;
+ for (q = opt.method; *q; ++q)
+ *q = c_toupper (*q);
+ meth = opt.method;
+ }
/* Use the full path, i.e. one that includes the leading slash and
the query string. E.g. if u->path is "foo/bar" and u->query is
"param=value", full_path will be "/foo/bar?param=value". */
@@ -1781,7 +1777,7 @@ gethttp (struct url *u, struct http_stat *hs, int *dt,
struct url *proxy,
meth_arg = xstrdup (u->url);
else
meth_arg = url_full_path (u);
- request_set_method (req, meth, meth_arg);
+ req = request_new(meth, meth_arg);
}
request_set_header (req, "Referer", (char *) hs->referer, rel_none);
@@ -2014,8 +2010,7 @@ gethttp (struct url *u, struct http_stat *hs, int *dt,
struct url *proxy,
{
/* When requesting SSL URLs through proxies, use the
CONNECT method to request passthrough. */
- struct request *connreq = request_new ();
- request_set_method (connreq, "CONNECT",
+ struct request *connreq = request_new ("CONNECT",
aprintf ("%s:%d", u->host, u->port));
SET_USER_AGENT (connreq);
if (proxyauth)
--
1.8.2.2
--
Best regards, Dmitry Bogatov <address@hidden>,
Free Software supporter and netiquette guardian.
git clone git://gitorious.org/illusionoflife-read-only/rc-files.git
--depth 1
GPG: 54B7F00D
Html mail and proprietary format attachments are forwarded to /dev/null.
- [Bug-wget] http.c code cleaning, Dmitry Bogatov, 2013/05/08
- Re: [Bug-wget] http.c code cleaning, Darshit Shah, 2013/05/08
- Re: [Bug-wget] http.c code cleaning, Giuseppe Scrivano, 2013/05/08
- Re: [Bug-wget] http.c code cleaning,
Dmitry Bogatov <=
- Re: [Bug-wget] http.c code cleaning, Giuseppe Scrivano, 2013/05/08
- Re: [Bug-wget] http.c code cleaning, Dmitry Bogatov, 2013/05/09
- Re: [Bug-wget] http.c code cleaning, Darshit Shah, 2013/05/09
- Re: [Bug-wget] http.c code cleaning, Dmitry Bogatov, 2013/05/10
- Re: [Bug-wget] http.c code cleaning, Giuseppe Scrivano, 2013/05/12