1.1.0 • Published 6 years ago

falcor-fetch-http-datasource v1.1.0

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

falcor-fetch-http-datasource

Falcor Http DataSource using isomorphic fetch

Install

npm install falcor-fetch-http-datasource

Usage

Minimalistic ES6 example, a quick dirty setup

import falcor from 'falcor';
import FetchDataSource from 'falcor-fetch-http-datasource';

var model = new falcor.Model({
  source: new FetchDataSource('/model.json')
});

If you need some additional info for your global HTTP requests consider something like

Headers

var source = new FetchDataSource('/model.json', {
  headers: {
    'Authorization': `bearer ' + token`
  }
});

Cookies

var source = new FetchDataSource('/model.json', {
  credentials: 'include'
});
// server must include the header `Access-Control-Allow-Credentials: true`

CORS

var source = new FetchDataSource('/model.json', {
  crossDomain: true
});

Agent (Node only)

var source = new FetchDataSource('/model.json', {
  agent: {...agentObject}
});

Timeout

var source = new FetchDataSource('/model.json', {
  timeout: 5000
});

Retry

//Retry will try again if response status was not in 200-299 range
var source = new FetchDataSource('/model.json', {
  retry:1
});

OnResponse

var onResponse = function(url, statusCode, requestHeaders, responseHeaders, jsonBody, options){
  //json body will only be returned if statusCode is 200-299
  console.log(url, statusCode, requestHeaders, responseHeaders, jsonBody, options);
  //You can update options for subsequent retry calls  
}

var source = new FetchDataSource('/model.json', {
  onResponse:onResponse
});

MaxQuerySize

//Will split the query based on how many characters are in the url.  If its over maxQuerySize the multiple requests will be made to the server by splitting up the query into smaller subqueries.
// This should happen transparently and should not have any impact on the output value.
var source = new FetchDataSource('/model.json', {
  maxQuerySize:1 //Default is 7000 characters
});
1.1.0

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago