r0man / cljs-http

A ClojureScript HTTP library.
582 stars 93 forks source link

node.js support #94

Open viebel opened 8 years ago

viebel commented 8 years ago

Do you plan to support node.js?

ncalexan commented 8 years ago

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.

antoinevg commented 7 years ago

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)))
JimLynchCodes commented 6 years ago

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
dviramontes commented 6 years ago

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

jasonmm commented 6 years ago

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

arichiardi commented 6 years ago

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 commented 6 years ago

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

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

(set! js/XMLHttpRequest xhr2)
wiseman commented 5 years ago

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

gaberger commented 5 years ago

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)```
JimLynchCodes commented 4 years ago

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?

loganpowell commented 2 years ago

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?