Skip to content

Commit ffea820

Browse files
authored
Merge pull request #13 from reducecombine/cleanup
Cleanup project
2 parents febcad0 + 07826dc commit ffea820

File tree

11 files changed

+217
-124
lines changed

11 files changed

+217
-124
lines changed

.circleci/config.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
version: 2.1
2+
3+
executor_defaults: &executor_defaults
4+
working_directory: ~/repo
5+
6+
# We exercise the following JVMs:
7+
# * those officially supported by Clojure (atm: 8 and 11)
8+
# * plus, whatever the latest version is.
9+
executors:
10+
openjdk8:
11+
docker:
12+
- image: circleci/clojure:openjdk-8-lein-2.9.5
13+
environment:
14+
LEIN_ROOT: "true"
15+
JVM_OPTS: -Xmx3200m
16+
<<: *executor_defaults
17+
openjdk11:
18+
docker:
19+
- image: circleci/clojure:openjdk-11-lein-2.9.5
20+
environment:
21+
LEIN_ROOT: "true"
22+
JVM_OPTS: -Xmx3200m --illegal-access=deny
23+
<<: *executor_defaults
24+
openjdk16:
25+
docker:
26+
- image: circleci/clojure:openjdk-16-lein-2.9.5-buster
27+
environment:
28+
LEIN_ROOT: "true"
29+
JVM_OPTS: -Xmx3200m --illegal-access=deny
30+
<<: *executor_defaults
31+
32+
jobs:
33+
test:
34+
parameters:
35+
executor:
36+
type: executor
37+
clojure-version:
38+
type: string
39+
executor: << parameters.executor >>
40+
steps:
41+
- checkout
42+
43+
- restore_cache:
44+
keys:
45+
- v1-dependencies-{{ checksum "project.clj" }}
46+
47+
- run:
48+
name: Fetch dependencies
49+
command: |
50+
lein with-profile +test deps
51+
52+
- save_cache:
53+
paths:
54+
- ~/.m2
55+
key: v1-dependencies-{{ checksum "project.clj" }}
56+
57+
- run:
58+
name: Run test suite
59+
command: lein with-profile -user,-dev,+test,+<< parameters.clojure-version >> do clean, test
60+
61+
workflows:
62+
default:
63+
jobs:
64+
- test:
65+
matrix:
66+
parameters:
67+
executor: [openjdk8, openjdk11, openjdk16]
68+
clojure-version: ["1.7", "1.8", "1.9", "1.10"]

.travis.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

Readme.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,6 @@ More example requests:
7272
;; Send form params as a urlencoded body
7373
(client/post "http//site.com" {:form-params {:foo "bar"}})
7474

75-
;; Multipart form uploads/posts
76-
;; a map or vector works as the multipart object. Use a vector of
77-
;; vectors if you need to preserve order, a map otherwise.
78-
(client/post "http//example.org" {:multipart [["title" "My Awesome Picture"]
79-
["Content/type" "image/jpeg"]
80-
["file" (clojure.java.io/file "pic.jpg")]]})
81-
;; Multipart values can be one of the following:
82-
;; String, InputStream, File, or a byte-array
83-
8475
;; Basic authentication
8576
(client/get "http://site.com/protected" {:basic-auth ["user" "pass"]})
8677
(client/get "http://site.com/protected" {:basic-auth "user:pass"})

project.clj

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,19 @@
55
:url "http://www.opensource.org/licenses/mit-license.php"}
66
:dependencies [[org.clojure/clojure "1.8.0"]
77
[slingshot "0.12.2"]]
8-
:profiles {:dev {:dependencies [[ring/ring-jetty-adapter "1.3.2"]
9-
[ring/ring-devel "1.3.2"]]}
10-
:1.4 {:dependencies [[org.clojure/clojure "1.4.0"]]}
11-
:1.5 {:dependencies [[org.clojure/clojure "1.5.0"]]}
8+
:profiles {:test {:dependencies [[ring/ring-jetty-adapter "1.3.2"]
9+
[ch.qos.logback/logback-classic "1.2.3"
10+
:exclusions [org.slf4j/slf4j-api]]
11+
[org.slf4j/jcl-over-slf4j "1.7.26"]
12+
[org.slf4j/jul-to-slf4j "1.7.26"]
13+
[org.slf4j/log4j-over-slf4j "1.7.26"]]
14+
:resource-paths ["test-resources"]}
1215
:1.7 {:dependencies [[org.clojure/clojure "1.7.0"]]}
1316
:1.8 {:dependencies [[org.clojure/clojure "1.8.0"]]}
14-
:1.9 {:dependencies [[org.clojure/clojure "1.9.0"]]}}
15-
:test-selectors {:default #(not (:integration %))
16-
:integration :integration
17-
:all (constantly true)}
18-
:aliases {"all" ["with-profile" "dev,1.4:dev,1.5:dev,1.6:dev,1.7:dev,1.8:dev,1.9"]}
17+
:1.9 {:dependencies [[org.clojure/clojure "1.9.0"]]}
18+
:1.10 {:dependencies [[org.clojure/clojure "1.10.3"]]}}
19+
:test-selectors {:default (constantly true)
20+
:all (constantly true)
21+
:unit #(not (:integration %))
22+
:integration :integration}
1923
:checksum-deps true)

src/clj_http/lite/client.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
(ns clj-http.lite.client
22
"Batteries-included HTTP client."
3-
(:use [slingshot.slingshot :only [throw+]])
43
(:require [clojure.string :as str]
54
[clojure.java.io :as io]
65
[clj-http.lite.core :as core]
76
[clj-http.lite.links :refer [wrap-links]]
8-
[clj-http.lite.util :as util])
7+
[clj-http.lite.util :as util]
8+
[slingshot.slingshot :refer [throw+]])
99
(:import (java.io InputStream File)
1010
(java.net URL UnknownHostException))
1111
(:refer-clojure :exclude (get update)))

src/clj_http/lite/core.clj

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@
4747
(proxy [HostnameVerifier] []
4848
(verify [^String hostname ^SSLSession session] true)))
4949

50-
(defn trust-invalid-manager []
50+
(defn trust-invalid-manager
5151
"This allows the ssl socket to connect with invalid/self-signed SSL certs."
52+
[]
5253
(reify X509TrustManager
5354
(getAcceptedIssuers [this] nil)
5455
(checkClientTrusted [this certs authType])
@@ -62,20 +63,20 @@
6263
the clj-http uses ByteArrays for the bodies."
6364
[{:keys [request-method scheme server-name server-port uri query-string
6465
headers content-type character-encoding body socket-timeout
65-
conn-timeout multipart debug insecure? save-request? follow-redirects
66+
conn-timeout debug insecure? save-request? follow-redirects
6667
chunk-size] :as req}]
6768
(let [http-url (str (name scheme) "://" server-name
6869
(when server-port (str ":" server-port))
6970
uri
7071
(when query-string (str "?" query-string)))
7172
_ (when insecure?
72-
(do (HttpsURLConnection/setDefaultSSLSocketFactory
73+
(HttpsURLConnection/setDefaultSSLSocketFactory
7374
(.getSocketFactory
7475
(doto (SSLContext/getInstance "SSL")
7576
(.init nil (into-array TrustManager [(trust-invalid-manager)])
7677
(new SecureRandom)))))
77-
(HttpsURLConnection/setDefaultHostnameVerifier (my-host-verifier))))
78-
^HttpURLConnection conn (.openConnection ^URL (URL. http-url))]
78+
(HttpsURLConnection/setDefaultHostnameVerifier (my-host-verifier)))
79+
^HttpURLConnection conn (.openConnection (URL. http-url))]
7980
(when (and content-type character-encoding)
8081
(.setRequestProperty conn "Content-Type" (str content-type
8182
"; charset="

test-resources/logback.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<configuration>
3+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
4+
<encoder>
5+
<pattern>%d{ISO8601,Europe/London} [%thread] %-5level %logger{36} - %msg%n</pattern>
6+
</encoder>
7+
</appender>
8+
9+
<root level="INFO">
10+
<appender-ref ref="STDOUT"/>
11+
</root>
12+
13+
<logger name="org.eclipse.jetty.server" level="ERROR"/>
14+
<logger name="org.eclipse.jetty.util.log" level="ERROR"/>
15+
<logger name="org.eclipse.jetty.util.ssl" level="ERROR"/>
16+
<logger name="org.eclipse.jetty.util.thread" level="ERROR"/>
17+
<logger name="org.eclipse.jetty.util.component" level="ERROR"/>
18+
<logger name="org.eclipse.jetty.io.nio" level="ERROR"/>
19+
</configuration>

test/clj_http/test/client.clj

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,23 @@
11
(ns clj-http.test.client
2-
(:use [clojure.test]
3-
[clj-http.test.core :only [run-server]])
42
(:require [clj-http.lite.client :as client]
5-
[clj-http.lite.util :as util])
3+
[clj-http.test.core :refer [base-req current-port with-server]]
4+
[clj-http.lite.util :as util]
5+
[clojure.test :refer [deftest is testing use-fixtures]])
66
(:import (java.net UnknownHostException)
77
(java.util Arrays)))
88

9-
(def base-req
10-
{:scheme :http
11-
:server-name "localhost"
12-
:server-port 18080})
9+
(use-fixtures :each with-server)
1310

1411
(deftest ^{:integration true} roundtrip
15-
(run-server)
16-
(Thread/sleep 1000)
1712
;; roundtrip with scheme as a keyword
18-
(let [resp (client/request (merge base-req {:uri "/get" :method :get}))]
13+
(let [resp (client/request (merge (base-req) {:uri "/get" :method :get}))]
1914
(is (= 200 (:status resp)))
20-
#_(is (= "close" (get-in resp [:headers "connection"])))
2115
(is (= "get" (:body resp))))
2216
;; roundtrip with scheme as a string
23-
(let [resp (client/request (merge base-req {:uri "/get" :method :get
24-
:scheme "http"}))]
17+
(let [resp (client/request (merge (base-req) {:uri "/get"
18+
:method :get
19+
:scheme "http"}))]
2520
(is (= 200 (:status resp)))
26-
#_(is (= "close" (get-in resp [:headers "connection"])))
2721
(is (= "get" (:body resp)))))
2822

2923
(defn is-passed [middleware req]

0 commit comments

Comments
 (0)