cljs-http icon indicating copy to clipboard operation
cljs-http copied to clipboard

node.js support

Open viebel opened this issue 9 years ago • 11 comments
trafficstars

Do you plan to support node.js?

viebel avatar Mar 14 '16 16:03 viebel

Just FYI, for others finding that Node.js is not supported, you'll get errors like:

ReferenceError: XMLHttpRequest is not defined

to tell you that Node.js isn't supported.

ncalexan avatar Sep 19 '16 20:09 ncalexan

Workaround using: https://www.npmjs.com/package/xhr2

(set! js/XMLHttpRequest (nodejs/require "xhr2"))

(async/go                                                  
  (let [example (async/<! (http/get "http://example.com"))]   
    (println example)))

antoinevg avatar Jan 26 '17 09:01 antoinevg

Hey, this is probably a dumb question, but how can I add this library to a lein project? I tried to put [xh2r "0.1.4"] under the vector in project.clj :npm {:dependencies []}, but I am getting this error:

npm ERR! Darwin 17.4.0
npm ERR! argv "/Users/jameslynch/.nvm/versions/node/v6.9.5/bin/node" "/Users/jameslynch/.nvm/versions/node/v6.9.5/bin/npm" "install"
npm ERR! node v6.9.5
npm ERR! npm  v3.10.10
npm ERR! code E404

npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/xh2r
npm ERR! 404 
npm ERR! 404  'xh2r' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'twitter-unfollower'
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/jameslynch/Git-Projects/Cljs-Twitter-Unfollower/twitter-unfollower/npm-debug.log

JimLynchCodes avatar Feb 26 '18 13:02 JimLynchCodes

@JimTheMan you might just need run lein npm install as per this page.

dviramontes avatar Feb 26 '18 16:02 dviramontes

@JimTheMan, you swapped the last two letters of the library's name. Try using [xhr2 "0.1.4"] as the dependency.

jasonmm avatar Mar 14 '18 21:03 jasonmm

Hello folks, bumped into this as well!

I saw that there are many forks fixing this, maybe we can think about merging one of theem?

arichiardi avatar Oct 01 '18 17:10 arichiardi

For shadow-cljs, this is what I've got working:

(ns your-name.space
  (:require ["xhr2" :as xhr2]))

(set! js/XMLHttpRequest xhr2)

arichiardi avatar Oct 02 '18 21:10 arichiardi

For those using xhr2, how have you stopped it from displaying the "Discarding entity body for GET requests" warning when used from cljs-http?

wiseman avatar Apr 12 '19 23:04 wiseman

For those using xhr2, how have you stopped it from displaying the "Discarding entity body for GET requests" warning when used from cljs-http?

I got sick of this and found another library

(require '[xmlhttprequest :refer [XMLHttpRequest]])
(set! js/XMLHttpRequest XMLHttpRequest)```

gaberger avatar Apr 19 '19 19:04 gaberger

For those using xhr2, how have you stopped it from displaying the "Discarding entity body for GET requests" warning when used from cljs-http?

I got sick of this and found another library

(require '[xmlhttprequest :refer [XMLHttpRequest]])
(set! js/XMLHttpRequest XMLHttpRequest)```

Hey all!

Funny that I just stumbled upon this post again! I was able to get the request working with the same two lines above here and adding'xhr2': '0.2.0' to my build.gradle file.

I am also seeing this odd, "Discarding entity body for GET requests" message. Does anyone have any more info on this?

JimLynchCodes avatar Jan 11 '20 05:01 JimLynchCodes

I'm also getting Discarding entity body for GET requests once I've implemented the trick from @arichiardi

(set! js/XMLHttpRequest xhr2)

I did find a related issue, but how would I hack into cljs-http to apply it?

loganpowell avatar Aug 31 '22 14:08 loganpowell