Comments (11)
Like @ryanto said, in order for fetch
(or najax
for that matter) to use relative requests it needs access to fastboot
service, so the only way right now is to use a service to make your requests. I think it might be possible to dereference request information from fastboot
service as a global in an instance-initializer
, but seems hakish...
I have an addon with a fetch service https://github.com/tchak/ember-fetch-adapter
It obviously needs more docs...
from ember-fetch.
Great question! There are things that could to do resolve, but I think the fundamental issue is that when running fastboot the app itself does not have awareness of where it is being served from. Therefore it can’t know current protocol (e.g. for //foo.com
style URLs) or host (e.g. /path
type URLs).
To fix this we would need an API from fastboot to be told where we are being served from. I personally can’t recall if that is already a “thing” we support (quick search didn’t lead to an answer).
@kratiahuja - Do you recall?
from ember-fetch.
Fastboot has an initializer that configures node-ajax with the request's host: https://github.com/ember-fastboot/ember-cli-fastboot/blob/master/fastboot/initializers/ajax.js
Not sure how to do this with node-fetch though.
from ember-fetch.
We could probably do the same thing here, right @ryanto?
from ember-fetch.
You would have to wrap fetch, build an absolute url, and then call the original fetch with the full url.
@dfreeman did something like this in addon docs: ember-learn/ember-cli-addon-docs#179
from ember-fetch.
And ember-data
will do it for you too: https://github.com/emberjs/data/blob/master/addon/adapters/rest.js#L1081-L1103
from ember-fetch.
I know ember-data works, but I don't really do much that actually needs ember-data, and for anyone who doesn't need it, it would be nice to still have first class support. I will try out your fetch service addon @tchak. Thanks!
from ember-fetch.
@rwwagner90 oh I absolutely agree with you we need better support for this without ember-data
.
@rwjblue or @kratiahuja do you think it would be reasonable to expose request information on the global FastBoot
?
from ember-fetch.
@rwwagner90 totally agree. Our team has never got to grips with / seen the benefit of ember data.
from ember-fetch.
@tchak I tried your service and it threw an error. I opened an issue. tchak/ember-fetch-adapter#1
from ember-fetch.
Closed by #143
from ember-fetch.
Related Issues (20)
- Version 6.7.2 onwards seems not to transpile to es5 (Caused IE11 Blank screen, with no console errors) HOT 2
- Could not find module `fetch` imported from `prog/instance-initializers/setup-fetch` HOT 2
- Operation outputFileSync is not allowed to use HOT 15
- Where are all the response headers? HOT 2
- Inconsistent Headers objects with preferNative HOT 1
- fetch is not defined - maybe your browser targets are not covering everything you need HOT 33
- v8.0.3 contains `yarn-error.log` file
- Ember 3.27+ issues deprecation for accessing `window.Ember` HOT 1
- Could not find module `rsvp` imported from `fetch` HOT 6
- Version 8.1.0 not released to NPM? HOT 1
- Migration from jquery.ajax $.ajaxSettings.traditional = true. How remove [] from params
- Dropping Node 10, older versions of Ember
- Archive this repo? HOT 16
- Deprecation warning for assign() from ember/polyfills
- Failed to execute 'fetch' on 'Window': Failed to read the 'signal' property from 'RequestInit': Failed to convert value to 'AbortSignal'.
- ember-polyfills.deprecate-assign deprication in Ember 4.4
- ember-fetch `input` type parameter is incorrect
- Upgrade package "node-fetch" to fix
- `Error: cannot find module rsvp imported from fetch`: Ember 4.12 + embroider-optimized scenario HOT 1
- Maintenance, V2, modern `fetch`, etc
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ember-fetch.