5bc73de59d
Accessing the headers of a MIME message feels like something mime4cl should handle. We implemented this ad hoc in mblog before in order to not need to worry about doing it in a sensible way. Now we introduce a decent-ish interface for getting a header from a MIME message, mime-message-header-values: * It returns a list because MIME message headers may appear multiple times. * It decodes RFC2047 only upon request, as you may want to be stricter about parsing certain fields. * It checks header name equality case insensitively. The code for decoding the RFC2047 string is retained and still uses babel for doing the actual decoding. Change-Id: I58bbbe4b46dbded04160b481a28a40d14775673d Reviewed-on: https://cl.tvl.fyi/c/depot/+/5150 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
50 lines
1 KiB
Nix
50 lines
1 KiB
Nix
# Copyright (C) 2021 by the TVL Authors
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
{ depot, pkgs, ... }:
|
|
|
|
depot.nix.buildLisp.library {
|
|
name = "mime4cl";
|
|
|
|
deps = [
|
|
depot.third_party.lisp.babel
|
|
depot.third_party.lisp.sclf
|
|
depot.third_party.lisp.npg
|
|
depot.third_party.lisp.trivial-gray-streams
|
|
];
|
|
|
|
srcs = [
|
|
./package.lisp
|
|
./endec.lisp
|
|
./streams.lisp
|
|
./mime.lisp
|
|
./address.lisp
|
|
];
|
|
|
|
tests = {
|
|
name = "mime4cl-tests";
|
|
|
|
srcs = [
|
|
./test/rt.lisp
|
|
./test/package.lisp
|
|
(pkgs.writeText "nix-samples.lisp" ''
|
|
(in-package :mime4cl-tests)
|
|
|
|
;; missing from the tarball completely
|
|
(defvar *samples-directory* (pathname "/this/does/not/exist"))
|
|
;; override auto discovery which doesn't work in store
|
|
(defvar *sample1-file* (pathname "${./test/sample1.msg}"))
|
|
'')
|
|
./test/endec.lisp
|
|
./test/address.lisp
|
|
./test/mime.lisp
|
|
];
|
|
|
|
expression = "(rtest:do-tests)";
|
|
};
|
|
|
|
# limited by sclf
|
|
brokenOn = [
|
|
"ccl"
|
|
"ecl"
|
|
];
|
|
}
|