Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple Twitter banner update throwing exception, but still updates banner #12

Open
sasacocic opened this issue Sep 23, 2021 · 2 comments

Comments

@sasacocic
Copy link

sasacocic commented Sep 23, 2021

I'm trying to update my own twitter banner, but this exception keeps getting thrown. I've tried multiple different things, but I'm not convinced it's my code anymore. It's totally possible I'm making some mistake still. I've included what I think is a very simple call to the api that isn't working.

Ideally I could make the call without the exception popping up.

EDIT: also I know the code is partly working because it's still updating my Twitter banner.

(twitter-api/account-update-profile-banner
credz 
:params {:banner (.encodeToString
(Base64/getEncoder) (:body (client/get "https://pbs.twimg.com/profile_banners/1213616925156052993/1632387377/1500x500" {:as :byte-array})) )})
1. Unhandled java.lang.ClassCastException
   class java.lang.String cannot be cast to class clojure.lang.IObj
   (java.lang.String is in module java.base of loader 'bootstrap';
   clojure.lang.IObj is in unnamed module of loader 'app')

                  core.clj:  219  clojure.core/with-meta
                  core.clj:  219  clojure.core/with-meta
            middleware.clj:   49  twttr.middleware/wrap-body/body-parser
              deferred.clj:  839  manifold.deferred/fn/chain-
              deferred.clj:  809  manifold.deferred/fn/subscribe/fn
              deferred.clj:  219  manifold.deferred.Listener/onSuccess
              deferred.clj:  398  manifold.deferred.Deferred/fn/fn
                  AFn.java:   22  clojure.lang.AFn/run
             Executor.java:  318  io.aleph.dirigiste.Executor$3/run
             Executor.java:   62  io.aleph.dirigiste.Executor$Worker$1/run
              executor.clj:   44  manifold.executor/thread-factory/reify/f
                  AFn.java:   22  clojure.lang.AFn/run
               Thread.java:  829  java.lang.Thread/run
@sasacocic sasacocic changed the title Simple Twitter banner update throw exception, but still updates banner Simple Twitter banner update throwing exception, but still updates banner Sep 23, 2021
@chbrown
Copy link
Owner

chbrown commented Sep 23, 2021

Huh. Makes sense that the update works, because that error is coming from the response handler (which is expecting the response to be map, but apparently it's a string). I can't imagine there's anything special about the POST account/update_profile_banner endpoint, so, weird.

@sasacocic
Copy link
Author

sasacocic commented Sep 23, 2021

I've done other api calls without issue like

(twitter-api/user-settings
(twittier-api/users-profile-banner

EDIT: I wrote this seeing what would happen. All of the work except the account-update-profile-banner

(defn testing [tok sec]
  (let [credentials (twitter-auth/map->UserCredentials {:user-token tok :user-token-secret sec :consumer-key "key" :consumer-secret "secret"})
        image_location "https://pbs.twimg.com/profile_banners/1213616925156052993/1632396483/1500x500"
        c1 (twitter-api/account-settings  credentials)
        c2 (twitter-api/users-profile-banner credentials :params {:screen_name "SasaCocic"})
        c3 (twitter-api/followers-list credentials :params {:screen_name "SasaCocic"})
        ;; c4 - causes an the error
        c4 (twitter-api/account-update-profile-banner credentials :params {:banner (.encodeToString (Base64/getEncoder) (:body (client/get "https://pbs.twimg.com/profile_banners/1213616925156052993/1632396483/1500x500" {:as :byte-array}) )) })
        ]

    {:c1 c1
     :c2 c2
     :c3 c3
     :c4 4})
  
  )

Here's what I'm seeing from lein deps :tree-data

lein deps :tree-data                          sasacocic@Sasas-Shiny-Mac
Possibly confusing dependencies found:
[compojure "1.6.2"] -> [ring/ring-codec "1.1.2"]
 overrides
[ring/ring-jetty-adapter "1.9.1"] -> [ring/ring-servlet "1.9.1"] -> [ring/ring-core "1.9.1"] -> [ring/ring-codec "1.1.3"]
 and
[ring/ring-jetty-adapter "1.9.1"] -> [ring/ring-core "1.9.1"] -> [ring/ring-codec "1.1.3"]
 and
[ring/ring-core "1.9.1"] -> [ring/ring-codec "1.1.3"]

Consider using these exclusions:
[ring/ring-jetty-adapter "1.9.1" :exclusions [ring/ring-codec]]
[ring/ring-core "1.9.1" :exclusions [ring/ring-codec]]

[ring/ring-core "1.9.1"] -> [commons-io "2.6"]
 overrides
[clj-http "3.12.3"] -> [commons-io "2.8.0" :exclusions [org.clojure/clojure]]

Consider using these exclusions:
[clj-http "3.12.3" :exclusions [commons-io]]

[ring-logger "1.0.1"] -> [org.clojure/tools.logging "0.3.1"]
 overrides
[twttr "3.2.3"] -> [aleph "0.4.6"] -> [org.clojure/tools.logging "0.4.1" :exclusions [org.clojure/clojure]]
 and
[seancorfield/next.jdbc "1.0.424"] -> [org.clojure/java.data "1.0.64"] -> [org.clojure/tools.logging "0.6.0"]
 and
[twttr "3.2.3"] -> [org.clojure/tools.logging "0.4.1"]

Consider using these exclusions:
[twttr "3.2.3" :exclusions [org.clojure/tools.logging]]
[seancorfield/next.jdbc "1.0.424" :exclusions [org.clojure/tools.logging]]

[clj-oauth "1.5.5"] -> [commons-codec "1.8"]
 overrides
[twttr "3.2.3"] -> [clj-oauth "1.5.5"] -> [clj-http "2.0.1"] -> [org.apache.httpcomponents/httpmime "4.5" :exclusions [org.clojure/clojure]] -> [org.apache.httpcomponents/httpclient "4.5"] -> [commons-codec "1.9"]
 and
[buddy/buddy-auth "2.2.0"] -> [funcool/cuerdas "2.2.0"] -> [org.clojure/clojurescript "1.10.520"] -> [com.cognitect/transit-clj "0.8.309" :exclusions [org.clojure/clojure]] -> [com.cognitect/transit-java "0.8.332"] -> [commons-codec "1.10"]
 and
[twttr "3.2.3"] -> [clj-oauth "1.5.5"] -> [clj-http "2.0.1"] -> [org.apache.httpcomponents/httpclient "4.5" :exclusions [org.clojure/clojure]] -> [commons-codec "1.9"]
 and
[clj-oauth "1.5.5"] -> [clj-http "2.0.1"] -> [org.apache.httpcomponents/httpmime "4.5" :exclusions [org.clojure/clojure]] -> [org.apache.httpcomponents/httpclient "4.5"] -> [commons-codec "1.9"]
 and
[ring/ring-jetty-adapter "1.9.1"] -> [ring/ring-servlet "1.9.1"] -> [ring/ring-core "1.9.1"] -> [ring/ring-codec "1.1.3"] -> [commons-codec "1.15"]
 and
[clj-http "3.12.3"] -> [org.apache.httpcomponents/httpmime "4.5.13" :exclusions [org.clojure/clojure]] -> [org.apache.httpcomponents/httpclient "4.5.13"] -> [commons-codec "1.11"]
 and
[clj-http "3.12.3"] -> [org.apache.httpcomponents/httpasyncclient "4.1.4" :exclusions [org.clojure/clojure]] -> [org.apache.httpcomponents/httpclient "4.5.6"] -> [commons-codec "1.10"]
 and
[clj-http "3.12.3"] -> [org.apache.httpcomponents/httpclient-cache "4.5.13" :exclusions [org.clojure/clojure]] -> [org.apache.httpcomponents/httpclient "4.5.13"] -> [commons-codec "1.11"]
 and
[twttr "3.2.3"] -> [clj-oauth "1.5.5"] -> [clj-http "2.0.1"] -> [commons-codec "1.10" :exclusions [org.clojure/clojure]]
 and
[clj-oauth "1.5.5"] -> [clj-http "2.0.1"] -> [org.apache.httpcomponents/httpclient "4.5" :exclusions [org.clojure/clojure]] -> [commons-codec "1.9"]
 and
[buddy/buddy-auth "2.2.0"] -> [buddy/buddy-sign "3.1.0"] -> [buddy/buddy-core "1.6.0"] -> [commons-codec "1.12"]
 and
[ring/ring-jetty-adapter "1.9.1"] -> [ring/ring-core "1.9.1"] -> [ring/ring-codec "1.1.3"] -> [commons-codec "1.15"]
 and
[ring/ring-json "0.5.0"] -> [ring/ring-core "1.7.1"] -> [ring/ring-codec "1.1.1"] -> [commons-codec "1.11"]
 and
[compojure "1.6.2"] -> [ring/ring-core "1.8.1"] -> [ring/ring-codec "1.1.2"] -> [commons-codec "1.11"]
 and
[clj-http "3.12.3"] -> [org.apache.httpcomponents/httpclient "4.5.13" :exclusions [org.clojure/clojure]] -> [commons-codec "1.11"]
 and
[clj-oauth "1.5.5"] -> [clj-http "2.0.1"] -> [commons-codec "1.10" :exclusions [org.clojure/clojure]]
 and
[buddy/buddy-hashers "1.4.0"] -> [buddy/buddy-core "1.6.0"] -> [commons-codec "1.12"]
 and
[ring/ring-mock "0.4.0"] -> [ring/ring-codec "1.1.1"] -> [commons-codec "1.11"]
 and
[ring/ring-core "1.9.1"] -> [ring/ring-codec "1.1.3"] -> [commons-codec "1.15"]
 and
[compojure "1.6.2"] -> [ring/ring-codec "1.1.2"] -> [commons-codec "1.11"]
 and
[byte-transforms "0.1.4"] -> [commons-codec "1.10"]
 and
[clj-http "3.12.3"] -> [commons-codec "1.15" :exclusions [org.clojure/clojure]]

Consider using these exclusions:
[twttr "3.2.3" :exclusions [commons-codec]]
[buddy/buddy-auth "2.2.0" :exclusions [commons-codec]]
[clj-oauth "1.5.5" :exclusions [commons-codec]]
[ring/ring-jetty-adapter "1.9.1" :exclusions [commons-codec]]
[clj-http "3.12.3" :exclusions [commons-codec]]
[ring/ring-json "0.5.0" :exclusions [commons-codec]]
[compojure "1.6.2" :exclusions [commons-codec]]
[buddy/buddy-hashers "1.4.0" :exclusions [commons-codec]]
[ring/ring-mock "0.4.0" :exclusions [commons-codec]]
[ring/ring-core "1.9.1" :exclusions [commons-codec]]
[byte-transforms "0.1.4" :exclusions [commons-codec]]

[clj-oauth "1.5.5"] -> [org.bouncycastle/bcprov-jdk15on "1.54"]
 overrides
[buddy/buddy-auth "2.2.0"] -> [buddy/buddy-sign "3.1.0"] -> [buddy/buddy-core "1.6.0"] -> [org.bouncycastle/bcpkix-jdk15on "1.62"] -> [org.bouncycastle/bcprov-jdk15on "1.62"]
 and
[buddy/buddy-auth "2.2.0"] -> [buddy/buddy-sign "3.1.0"] -> [buddy/buddy-core "1.6.0"] -> [org.bouncycastle/bcprov-jdk15on "1.62"]
 and
[buddy/buddy-hashers "1.4.0"] -> [buddy/buddy-core "1.6.0"] -> [org.bouncycastle/bcpkix-jdk15on "1.62"] -> [org.bouncycastle/bcprov-jdk15on "1.62"]
 and
[buddy/buddy-hashers "1.4.0"] -> [buddy/buddy-core "1.6.0"] -> [org.bouncycastle/bcprov-jdk15on "1.62"]

Consider using these exclusions:
[buddy/buddy-auth "2.2.0" :exclusions [org.bouncycastle/bcprov-jdk15on]]
[buddy/buddy-hashers "1.4.0" :exclusions [org.bouncycastle/bcprov-jdk15on]]

[clj-oauth "1.5.5"] -> [org.bouncycastle/bcpkix-jdk15on "1.54"]
 overrides
[buddy/buddy-auth "2.2.0"] -> [buddy/buddy-sign "3.1.0"] -> [buddy/buddy-core "1.6.0"] -> [org.bouncycastle/bcpkix-jdk15on "1.62"]
 and
[buddy/buddy-hashers "1.4.0"] -> [buddy/buddy-core "1.6.0"] -> [org.bouncycastle/bcpkix-jdk15on "1.62"]

Consider using these exclusions:
[buddy/buddy-auth "2.2.0" :exclusions [org.bouncycastle/bcpkix-jdk15on]]
[buddy/buddy-hashers "1.4.0" :exclusions [org.bouncycastle/bcpkix-jdk15on]]

[ragtime "0.8.1"] -> [ragtime/jdbc "0.8.1"] -> [org.clojure/java.jdbc "0.5.8"]
 overrides
[com.layerware/hugsql "0.5.1"] -> [com.layerware/hugsql-adapter-clojure-java-jdbc "0.5.1"] -> [org.clojure/java.jdbc "0.7.10"]

Consider using these exclusions:
[com.layerware/hugsql "0.5.1" :exclusions [org.clojure/java.jdbc]]

[clj-http "3.12.3"] -> [potemkin "0.4.5" :exclusions [org.clojure/clojure]] -> [riddley "0.1.12"]
 overrides
[twttr "3.2.3"] -> [aleph "0.4.6"] -> [byte-streams "0.2.4"] -> [manifold "0.1.8"] -> [riddley "0.1.14"]
 and
[twttr "3.2.3"] -> [byte-streams "0.2.4"] -> [manifold "0.1.8"] -> [riddley "0.1.14"]
 and
[twttr "3.2.3"] -> [aleph "0.4.6"] -> [manifold "0.1.8"] -> [riddley "0.1.14"]

Consider using these exclusions:
[twttr "3.2.3" :exclusions [riddley]]

[com.layerware/hugsql "0.5.1"] -> [com.layerware/hugsql-core "0.5.1"] -> [org.clojure/tools.reader "1.3.2"]
 overrides
[com.taoensso/timbre "5.1.2"] -> [com.taoensso/encore "3.12.1"] -> [org.clojure/tools.reader "1.3.3"]

Consider using these exclusions:
[com.taoensso/timbre "5.1.2" :exclusions [org.clojure/tools.reader]]

[buddy/buddy-auth "2.2.0"] -> [funcool/cuerdas "2.2.0"] -> [org.clojure/clojurescript "1.10.520"] -> [com.google.javascript/closure-compiler-unshaded "v20180805"] -> [com.google.errorprone/error_prone_annotations "2.0.18"]
 overrides
[buddy/buddy-auth "2.2.0"] -> [funcool/cuerdas "2.2.0"] -> [org.clojure/clojurescript "1.10.520"] -> [com.google.javascript/closure-compiler-unshaded "v20180805"] -> [com.google.guava/guava "25.1-jre"] -> [com.google.errorprone/error_prone_annotations "2.1.3"]

Consider using these exclusions:
[buddy/buddy-auth "2.2.0" :exclusions [com.google.errorprone/error_prone_annotations]]

[buddy/buddy-auth "2.2.0"] -> [funcool/cuerdas "2.2.0"] -> [org.clojure/clojurescript "1.10.520"] -> [com.google.javascript/closure-compiler-unshaded "v20180805"] -> [com.google.code.findbugs/jsr305 "3.0.1"]
 overrides
[buddy/buddy-auth "2.2.0"] -> [funcool/cuerdas "2.2.0"] -> [org.clojure/clojurescript "1.10.520"] -> [com.google.javascript/closure-compiler-unshaded "v20180805"] -> [com.google.guava/guava "25.1-jre"] -> [com.google.code.findbugs/jsr305 "3.0.2"]

Consider using these exclusions:
[buddy/buddy-auth "2.2.0" :exclusions [com.google.code.findbugs/jsr305]]

{[abengoa/clj-stripe "1.0.4"] nil,
 [buddy/buddy-auth "2.2.0"]
 {[buddy/buddy-sign "3.1.0"] nil,
  [funcool/cuerdas "2.2.0"]
  {[org.clojure/clojurescript "1.10.520"]
   {[com.cognitect/transit-clj
     "0.8.309"
     :exclusions
     [[org.clojure/clojure]]]
    {[com.cognitect/transit-java "0.8.332"]
     {[org.msgpack/msgpack "0.6.12"]
      {[com.googlecode.json-simple/json-simple
        "1.1.1"
        :exclusions
        [[junit]]]
       nil,
       [org.javassist/javassist "3.18.1-GA"] nil}}},
    [com.google.javascript/closure-compiler-unshaded "v20180805"]
    {[args4j "2.0.26"] nil,
     [com.google.code.findbugs/jsr305 "3.0.1"] nil,
     [com.google.errorprone/error_prone_annotations "2.0.18"] nil,
     [com.google.guava/guava "25.1-jre"]
     {[com.google.j2objc/j2objc-annotations "1.1"] nil,
      [org.checkerframework/checker-qual "2.0.0"] nil,
      [org.codehaus.mojo/animal-sniffer-annotations "1.14"] nil},
     [com.google.javascript/closure-compiler-externs "v20180805"] nil,
     [com.google.jsinterop/jsinterop-annotations "1.0.0"] nil,
     [com.google.protobuf/protobuf-java "3.0.2"] nil},
    [org.clojure/google-closure-library "0.0-20170809-b9c14c6b"]
    {[org.clojure/google-closure-library-third-party
      "0.0-20170809-b9c14c6b"]
     nil},
    [org.mozilla/rhino "1.7R5"] nil}}},
 [buddy/buddy-hashers "1.4.0"]
 {[buddy/buddy-core "1.6.0"] {[net.i2p.crypto/eddsa "0.3.0"] nil},
  [clojurewerkz/scrypt "1.2.0"]
  {[com.lambdaworks/scrypt "1.4.0"] nil}},
 [byte-transforms "0.1.4"]
 {[net.jpountz.lz4/lz4 "1.3"] nil,
  [org.apache.commons/commons-compress "1.9"] nil,
  [org.xerial.snappy/snappy-java "1.1.1.7"] nil},
 [cheshire "5.10.0"]
 {[com.fasterxml.jackson.core/jackson-core "2.10.2"] nil,
  [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor "2.10.2"]
  nil,
  [com.fasterxml.jackson.dataformat/jackson-dataformat-smile "2.10.2"]
  nil,
  [tigris "0.1.2"] nil},
 [clj-http "3.12.3"]
 {[org.apache.httpcomponents/httpasyncclient
   "4.1.4"
   :exclusions
   [[org.clojure/clojure]]]
  {[org.apache.httpcomponents/httpcore-nio "4.4.10"] nil},
  [org.apache.httpcomponents/httpclient-cache
   "4.5.13"
   :exclusions
   [[org.clojure/clojure]]]
  nil,
  [org.apache.httpcomponents/httpclient
   "4.5.13"
   :exclusions
   [[org.clojure/clojure]]]
  {[commons-logging "1.2"] nil},
  [org.apache.httpcomponents/httpcore
   "4.4.14"
   :exclusions
   [[org.clojure/clojure]]]
  nil,
  [org.apache.httpcomponents/httpmime
   "4.5.13"
   :exclusions
   [[org.clojure/clojure]]]
  nil,
  [potemkin "0.4.5" :exclusions [[org.clojure/clojure]]]
  {[riddley "0.1.12"] nil},
  [slingshot "0.12.2" :exclusions [[org.clojure/clojure]]] nil},
 [clj-oauth "1.5.5"]
 {[commons-codec "1.8"] nil,
  [org.bouncycastle/bcpkix-jdk15on "1.54"] nil,
  [org.bouncycastle/bcprov-jdk15on "1.54"] nil},
 [clojure-complete "0.2.5" :exclusions [[org.clojure/clojure]]] nil,
 [clojure.java-time "0.3.3"] {[clj-tuple "0.2.2"] nil},
 [com.layerware/hugsql-adapter-next-jdbc "0.5.1"]
 {[com.layerware/hugsql-adapter "0.5.1"] nil},
 [com.layerware/hugsql "0.5.1"]
 {[com.layerware/hugsql-adapter-clojure-java-jdbc "0.5.1"] nil,
  [com.layerware/hugsql-core "0.5.1"]
  {[org.clojure/tools.reader "1.3.2"] nil}},
 [com.stripe/stripe-java "20.77.0"]
 {[com.google.code.gson/gson "2.8.8"] nil},
 [com.taoensso/timbre "5.1.2"]
 {[com.taoensso/encore "3.12.1"] {[com.taoensso/truss "1.6.0"] nil},
  [io.aviso/pretty "0.1.37"] nil},
 [compojure "1.6.2"]
 {[clout "2.2.1"]
  {[instaparse "1.4.8" :exclusions [[org.clojure/clojure]]] nil},
  [medley "1.3.0"] nil,
  [org.clojure/tools.macro "0.1.5"] nil,
  [ring/ring-codec "1.1.2"] nil},
 [environ "1.2.0"] nil,
 [failjure "2.2.0"] nil,
 [nrepl "0.8.3" :exclusions [[org.clojure/clojure]]] nil,
 [org.clojure/clojure "1.10.3"]
 {[org.clojure/core.specs.alpha "0.2.56"] nil,
  [org.clojure/spec.alpha "0.2.194"] nil},
 [org.xerial/sqlite-jdbc "3.36.0.1"] nil,
 [ragtime "0.8.1"]
 {[ragtime/core "0.8.1"] nil,
  [ragtime/jdbc "0.8.1"]
  {[org.clojure/java.jdbc "0.5.8"] nil, [resauce "0.1.0"] nil}},
 [ring-cors "0.1.13"] nil,
 [ring-logger "1.0.1"] {[org.clojure/tools.logging "0.3.1"] nil},
 [ring/ring-core "1.9.1"]
 {[commons-fileupload "1.4"] nil,
  [commons-io "2.6"] nil,
  [crypto-equality "1.0.0"] nil,
  [crypto-random "1.2.0"] nil},
 [ring/ring-defaults "0.3.2"]
 {[javax.servlet/javax.servlet-api "3.1.0"] nil,
  [ring/ring-anti-forgery "1.3.0"] {[hiccup "1.0.5"] nil},
  [ring/ring-headers "0.3.0"] nil,
  [ring/ring-ssl "0.3.0"] nil},
 [ring/ring-jetty-adapter "1.9.1"]
 {[org.eclipse.jetty/jetty-server "9.4.36.v20210114"]
  {[org.eclipse.jetty/jetty-http "9.4.36.v20210114"]
   {[org.eclipse.jetty/jetty-util "9.4.36.v20210114"] nil},
   [org.eclipse.jetty/jetty-io "9.4.36.v20210114"] nil},
  [ring/ring-servlet "1.9.1"] nil},
 [ring/ring-json "0.5.0"] nil,
 [ring/ring-mock "0.4.0"] nil,
 [seancorfield/next.jdbc "1.0.424"]
 {[org.clojure/java.data "1.0.64"] nil},
 [twttr "3.2.3"]
 {[aleph "0.4.6"]
  {[io.netty/netty-codec-http "4.1.25.Final"] nil,
   [io.netty/netty-codec "4.1.25.Final"] nil,
   [io.netty/netty-handler-proxy "4.1.25.Final"]
   {[io.netty/netty-codec-socks "4.1.25.Final"] nil},
   [io.netty/netty-handler "4.1.25.Final"] nil,
   [io.netty/netty-resolver-dns "4.1.25.Final"]
   {[io.netty/netty-codec-dns "4.1.25.Final"] nil},
   [io.netty/netty-resolver "4.1.25.Final"] nil,
   [io.netty/netty-transport-native-epoll "4.1.25.Final"]
   {[io.netty/netty-common "4.1.25.Final"] nil,
    [io.netty/netty-transport-native-unix-common "4.1.25.Final"] nil},
   [io.netty/netty-transport "4.1.25.Final"]
   {[io.netty/netty-buffer "4.1.25.Final"] nil},
   [manifold "0.1.8"] {[io.aleph/dirigiste "0.1.5"] nil}},
  [byte-streams "0.2.4"] {[primitive-math "0.1.6"] nil},
  [org.clojure/data.json "0.2.6"] nil}}

also here's my project.clj dependencies

  :dependencies [[org.clojure/clojure "1.10.3"]
                 [compojure "1.6.2"]
                 [ring/ring-defaults "0.3.2"]
                 [seancorfield/next.jdbc "1.0.424"]
                 [ragtime "0.8.1"]
                 [ring/ring-json "0.5.0"]
                 [ring-cors "0.1.13"]
                 [ring/ring-core "1.9.1"]
                 [ring/ring-jetty-adapter "1.9.1"]
                 [ring/ring-mock "0.4.0"]
                 [environ "1.2.0"]
                 [cheshire "5.10.0"]
                 [failjure "2.2.0"]
                 [buddy/buddy-hashers "1.4.0"]
                 [buddy/buddy-auth "2.2.0"]
                 [org.xerial/sqlite-jdbc "3.36.0.1"]
                 [ring-logger "1.0.1"]
                 [com.stripe/stripe-java "20.77.0"]
                 [clj-oauth "1.5.5"]
                 [twttr "3.2.3" :exclusions [org.clojure/tools.logging riddley]]
                 [clj-http "3.12.3"]
                 [abengoa/clj-stripe "1.0.4"]
                 [com.layerware/hugsql "0.5.1"]
                 [com.layerware/hugsql-adapter-next-jdbc "0.5.1"]
                 [com.taoensso/timbre "5.1.2"]
                 [clojure.java-time "0.3.3"]
                 [byte-transforms "0.1.4"]
              ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants