CouchDB compresses some attachments (determined by content-type). "text/plain" is one of them (the full list is in your default.ini file), and so the MD5 returned is that of the compressed form.
On 1 November 2012 20:49, Mclean, Adam <[email protected]> wrote: > Hi list, > > I'm working on using couch as a script / configuration file repository. > Then retrieving the contents as they are updated to various hosts. > > The digest produced by the file upload is key to this working for me so > I'm not replacing files that are already the same in couch. I've been > struggling with attachments that are uploaded as content-type > 'text/plain'. I haven't been able to match the md5sum that couch shows > me under any circumstance. The text/plain I'm sending up is us-ascii > which to my understanding from an md5sum perspective wouldn't be any > different represented as UTF-8. > > When I upload a file without a content-type of text/plain, I find the > md5sum representation is accurate. > > I've also noticed the headers when retrieving a text/plain attachment > show as: > HTTP/1.1 200 OK > Server: CouchDB/1.2.0 (Erlang OTP/R15B02) > ETag: "2DvSqQDg7SoM+Su+Ymkt4A==" > Date: Thu, 01 Nov 2012 20:36:37 GMT > Content-Type: text/plain > Content-Length: 8840 > Cache-Control: must-revalidate > Accept-Ranges: none > > Versus something encoded differently: > Server: CouchDB/1.2.0 (Erlang OTP/R15B02) > ETag: "tDK39M3il/9xLqnYLosWKg==" > Date: Thu, 01 Nov 2012 20:44:42 GMT > Content-Type: application/x-perl > Content-MD5: tDK39M3il/9xLqnYLosWKg== > Content-Length: 7080 > Cache-Control: must-revalidate > Accept-Ranges: bytes > > Which produces a 'Content-MD5' that I can verify / duplicate. > > What am I missing? Are md5s not generated for text/plain? > > Thanks! > _______________________________________________________________________ > > This email may be privileged and/or confidential, and the > sender does not waive any related rights and obligations. > Any distribution, use or copying of this email or the > information it contains by other than an intended recipient > is unauthorized. If you received this email in error, > please advise the sender (by return email or otherwise) > immediately. You have consented to receive the attached > electronically at the above-noted email address; please retain a > copy of this confirmation for future reference. > > Ce courriel est confidentiel et protégé. L'expéditeur ne renonce > pas aux droits et obligations qui s'y rapportent. Toute diffusion, > utilisation ou copie de ce courriel ou des renseignements qu'il > contient par une personne autre que le (les) destinataire(s) > désigné(s) est interdite. Si vous recevez ce courriel par erreur, > veuillez en aviser l'expéditeur immédiatement, par retour de courriel > ou par un autre moyen. Vous avez accepté de recevoir le(s) document(s) > ci-joint(s) par voie électronique à l'adresse courriel indiquée ci-dessus; > veuillez conserver une copie de cette confirmation pour les fins de > reference future. >
