1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- (ns hello.handler
- (:require [com.appsflyer.donkey.core :as donkey-core]
- [com.appsflyer.donkey.server :as donkey-server]
- [com.appsflyer.donkey.middleware.json :as json])
- (:gen-class)
- (:import (io.vertx.core.impl.cpu CpuCoreSensor)))
- (defn- json-handler [_ res _]
- (res {:status 200
- :headers {"content-type" "application/json"}
- :body {"message" "Hello, World!"}}))
- (def ^:private json-route {:methods [:get]
- :middleware [(json/make-serialize-middleware)]
- :path "/json"
- :handler json-handler})
- (def ^:private hello-world-body
- (bytes (byte-array (map (comp byte int) "Hello, World!"))))
- (def ^:private hello-world-response
- {:status 200
- :headers {"content-type" "text/plain"}
- :body hello-world-body})
- (defn- hello-world-handler [_ res _]
- (res hello-world-response))
- (def ^:private hello-world-route {:methods [:get]
- :path "/plaintext"
- :handler hello-world-handler})
- (defn -main [& _]
- (let [concurrency (max 1 (- (CpuCoreSensor/availableProcessors) 1))]
- (->
- (donkey-core/create-donkey
- {:event-loops concurrency})
- (donkey-core/create-server {:port 8080
- :routes [hello-world-route json-route]
- :instances concurrency
- :compression false
- :decompression false
- :accept-backlog 20000
- :date-header true
- :server-header true
- :keep-alive true})
- (donkey-server/start-sync))))
|