unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Kenichi Handa <handa@m17n.org>
Cc: emacs-devel@gnu.org
Subject: Re: encoding and content-length for url-http.el
Date: Sat, 11 Jun 2005 20:06:07 +0900	[thread overview]
Message-ID: <E1Dh3oV-00046m-00@etlken> (raw)
In-Reply-To: <1118418076.8854.41.camel@localhost.localdomain> (mah@everybody.org)

In article <1118418076.8854.41.camel@localhost.localdomain>, "Mark A. Hershberger" <mah@everybody.org> writes:

> Could I get input on the following patch before I apply it?  The first
> part (using string-bytes instead of length) seems like a no-brainer.
> The second part, I'm less sure about.

If url-request-data is a string of raw bytes (i.e. not-yet
decoded, or already-encoded), you had better use length
because it works both for multibyte-string and
unibyte-string.

Otherwise, you must at first encode it and check the
resulting length to decide the value for "Content-Length:",
and calling detect-coding-string on url-request-data is
nonsense.

---
Kenichi Handa
handa@m17n.org

> --- url-http.el	4 Jun 2005 18:37:16 -0000	1.14
> +++ url-http.el	10 Jun 2005 18:36:06 -0000
> @@ -259,7 +259,7 @@
>  	   (if url-request-data
>  	       (concat
>  		"Content-length: " (number-to-string
> -				    (length url-request-data))
> +				    (string-bytes url-request-data))
>  		"\r\n"))
>  	   ;; End request
>  	   "\r\n"
> @@ -1066,6 +1066,9 @@
>  	(set-process-buffer connection buffer)
>  	(set-process-sentinel connection 'url-http-end-of-document-sentinel)
>  	(set-process-filter connection 'url-http-generic-filter)
> +	(set-process-coding-system connection
> +				   (detect-coding-string url-request-data t)
> +				   url-request-coding-system)
>  	(process-send-string connection (url-http-create-request url))))
>      buffer))
 

> -- 
> http://mah.everybody.org/weblog/
> GPG Fingerprint: 7E15 362D A32C DFAB E4D2  B37A 735E F10A 2DFC BFF5
> More people are killed every year by pigs than by sharks, which shows
> you how good we are at evaluating risk. -- Bruce Schneier

> [1.2 This is a digitally signed message part <application/pgp-signature (7bit)>]

> [2  <text/plain; us-ascii (7bit)>]
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-devel

      parent reply	other threads:[~2005-06-11 11:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-10 15:41 encoding and content-length for url-http.el Mark A. Hershberger
2005-06-10 15:53 ` Mark A. Hershberger
2005-06-10 19:47 ` Stefan Monnier
2005-06-10 17:14   ` Mark A. Hershberger
2005-06-10 21:22     ` Stefan Monnier
2005-06-16  4:21       ` Mark A. Hershberger
2005-06-16  7:05         ` Kenichi Handa
2005-06-16 16:05           ` Mark A. Hershberger
2005-06-11 11:06 ` Kenichi Handa [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1Dh3oV-00046m-00@etlken \
    --to=handa@m17n.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).