[PATCH] Output unmodified Content-Type header value for JSON format.

Jameson Graef Rollins jrollins at finestructure.net
Sat Nov 19 02:49:43 PST 2011


On Sat, 19 Nov 2011 06:42:00 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> The parameters are there for a reason.  They are part of the
> content-type and are needed to handle the body properly.  If you say
> that the parameters are not needed by notmuch users, that implies that
> they are handled by notmuch.  Which is just not possible.

Hey, Dimitry.  At least some of the parameters in the content-type are
actually related to the mime structure itself.  A good example is:

boundary=\"=-=-=\"

This parameter is there to tell the MIME parser how to parse the content
that follows.  It is meant for the first level parser and no more.  Once
the MIME has been separated into it's constituent parts, there's no need
for any further clients to know anything about boundary string.

I would argue that notmuch is acting as the first level parser.  As far
as I can tell, most of the rest of the parameters I've seen should only
be useful to the those first-level parsers.

As Austin mentioned, is it not possible for notmuch itself to act on the
parameter to give a properly formatted output to its clients?

> The fact that this change happens to fix an issue with HTML charsets for
> me is just a side effect.

But isn't that actually a large part of the issue?  If this patch fixes
something that you think notmuch is doing improperly, could there not be
a test for it?

However, based on your patches and as far as I can tell, this change
adds more than a boundary parameter to only crypto parts
(application/signed and application/encrypted).  However, I don't think
any of the crypto functionality needs any of the extra information
provided in the extended output.  If there was a test for the
functionality you think is missing, it would help bolster the case for
the additional output.

> > >   "content": [{"id": 2,
> > > - "content-type": "text/plain",
> > >   "content": "This is a test signed message.\n"},
> > 
> > Without figuring out what's going on, I notice that some of the tests
> > have been modified to remove the content-type fields on a bunch of
> > parts.  I think that is probably not right.
> > 
> 
> I tried to explain this in the preable.  These parts do not have
> Content-Type in the original message.  So I think it is wrong for
> notmuch JSON format to add it.

Ah, ok, I think I understand this point.  I think this is actually a
separate issue than the one the rest of the patch set is for, though.
One part of the patch is that content-type parameters are also about,
and another part is that parts without content-type shouldn't be
assigned one automatically.  I personally think those should be separate
patches.

jamie.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20111119/7bcf65b8/attachment.pgp>


More information about the notmuch mailing list