Skip to content

Commit b148c1d

Browse files
committed
Merge branch 'pr/236'
2 parents 5590ef1 + e61637b commit b148c1d

File tree

2 files changed

+48
-4
lines changed

2 files changed

+48
-4
lines changed

src/clj_http/multipart.clj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414

1515
(defn make-file-body
1616
"Create a FileBody object from the given map, requiring at least :content"
17-
[{:keys [name ^String mime-type ^File content ^String encoding]}]
17+
[{:keys [^String name ^String mime-type ^File content ^String encoding]}]
1818
(cond
1919
(and name mime-type content encoding)
20-
(FileBody. content name mime-type encoding)
20+
(FileBody. content (ContentType/create mime-type encoding) name)
2121

2222
(and mime-type content encoding)
23-
(FileBody. content mime-type encoding)
23+
(FileBody. content (ContentType/create mime-type encoding))
2424

2525
(and name mime-type content)
2626
(FileBody. content (ContentType/create mime-type) name)
2727

2828
(and mime-type content)
29-
(FileBody. content mime-type)
29+
(FileBody. content (ContentType/create mime-type))
3030

3131
content
3232
(FileBody. content)

test/clj_http/test/multipart.clj

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
(ns clj-http.test.multipart
2+
(:require [clj-http.multipart :refer :all]
3+
[clojure.test :refer :all])
4+
(:import (java.io File)
5+
(org.apache.http.entity.mime.content FileBody)))
6+
7+
(deftest test-make-file-body
8+
(testing "no content throws exception"
9+
(is (thrown? Exception (make-file-body {}))))
10+
11+
(testing "can create FileBody with content only"
12+
(let [testfile (File. "testfile")
13+
file-body (make-file-body {:content (File. "testfile")})]
14+
(is (= (.getFile ^FileBody file-body) testfile))))
15+
16+
(testing "can create FileBody with content and mime-type"
17+
(let [testfile (File. "testfile")
18+
file-body (make-file-body {:content (File. "testfile")
19+
:mime-type "application/octet-stream"})]
20+
(is (= (.getFile ^FileBody file-body) testfile))))
21+
22+
(testing "can create FileBody with content and mime-type and name"
23+
(let [testfile (File. "testfile")
24+
file-body (make-file-body {:content (File. "testfile")
25+
:mime-type "application/octet-stream"
26+
:name "testname"})]
27+
(is (= (.getFile ^FileBody file-body) testfile))
28+
(is (= (.getFilename ^FileBody file-body) "testname"))))
29+
30+
(testing "can create FileBody with content and mime-type and encoding"
31+
(let [testfile (File. "testfile")
32+
file-body (make-file-body {:content (File. "testfile")
33+
:mime-type "application/octet-stream"
34+
:encoding "utf-8"})]
35+
(is (= (.getFile ^FileBody file-body) testfile))))
36+
37+
(testing "can create FileBody with content and mime-type and encoding and name"
38+
(let [testfile (File. "testfile")
39+
file-body (make-file-body {:content (File. "testfile")
40+
:mime-type "application/octet-stream"
41+
:encoding "utf-8"
42+
:name "testname"})]
43+
(is (= (.getFile ^FileBody file-body) testfile))
44+
(is (= (.getFilename ^FileBody file-body) "testname")))))

0 commit comments

Comments
 (0)