Minor Changes
-
#3
5a516d5Thanks @marcfargas! - Add--format=text,--format=html, and--format=sane-htmltogo-gmail get— extract message body directly without parsing the full JSON response.--format=text— plain text body--format=html— raw HTML body--format=sane-html— HTML with<script>, event handlers,javascript:hrefs, anddata:image URIs stripped (safe to render)
All formats support
--output=<path>and--b64encode, matching the existing--format=emlcontract.New library export:
sanitizeEmailHtml(html)from@marcfargas/go-easy/gmail.
New dependency:sanitize-html. -
#3
5a516d5Thanks @marcfargas! - Add--format=emlforgo-gmail getand--format=mboxforgo-gmail thread— download raw RFC 2822 email or full thread as mbox.New output modes work with
--output=<path>(write to file) and--b64encode(base64 JSON, agent-safe), or pipe raw bytes directly to stdout.This also fixes retrieval of
message/rfc822embedded attachments (forwarded .eml files) which previously failed with "Invalid attachment token" —--format=emlreturns the complete outer message via Gmail'sformat=rawAPI, bypassing the brokenattachments.getendpoint.New library exports:
getMessageRaw(auth, messageId),getThreadMbox(auth, threadId, fromAddress).
Patch Changes
-
#3
5a516d5Thanks @marcfargas! - Internal code quality improvements — no behaviour changes.- Extract
gmailApiandhandleApiErrortosrc/gmail/api.ts(eliminates duplication betweenindex.tsandraw.ts) - Extract
parseFlagsandreadBodyFlagstosrc/bin/gmail-flags.ts(enables proper test imports) - Extract
serializeMimePart()MIME helper (eliminates copy-paste betweenbuildMimeMessageandbuildForwardMime) - Remove unused
lookupimport fromhelpers.ts - Fix
handleRawOutputreturn type annotation
- Extract