@r26d/absinthe-apollo-upload-middleware
v1.1.0
Published
A network interface for Apollo that enables file-uploading to Absinthe back ends reduced to just middleware to make it easier to work with.
Downloads
6
Readme
Table of Contents generated with DocToc
@r26d/absinthe-apollo-upload-middleware
A network interface for Apollo that enables file-uploading to Absinthe back ends reduced to just middleware to make it easier to work with.
Usage
This branch is for Apollo V3
I simplified this to just be the middleware. That allows you to use other middleware to handle the other issues related to the request.
import ApolloClient from 'apollo-client'
import { createHttpLink } from 'apollo-link-http'
import { createUploadMiddleware } from 'apollo-absinthe-upload-link'
import { ApolloLink } from 'apollo-link'
const client = new ApolloClient({
link: ApolloLink.from([
createUploadMiddleware,
createHttpLink({
uri: 'localhost:4000/graphqql',
credentials: 'include'
})
])
})
Usage with React Native
Substitute File
with ReactNativeFile
:
import { ReactNativeFile } from 'apollo-absinthe-upload-link'
const file = new ReactNativeFile({
uri: '…',
type: 'image/jpeg',
name: 'photo.jpg'
})
const files = ReactNativeFile.list([
{
uri: '…',
type: 'image/jpeg',
name: 'photo-1.jpg'
},
{
uri: '…',
type: 'image/jpeg',
name: 'photo-2.jpg'
}
])
License
MIT :copyright: r26D LLC
Acknowledgements
- @labtwentyfive's
apollo-absinthe-upload-client
- @jaydenseric
apollo-upload-client
API
ReactNativeFileObject
A React Native FormData file object.
Type: Object
Properties
ReactNativeFile
A React Native file.
Parameters
file.uri
file.type
file.name
Creates an array of file instances.
Parameters
files
Array<ReactNativeFileObject>
Examples
const files = ReactNativeFile.list([{
uri: uriFromCameraRoll1,
type: 'image/jpeg',
name: 'photo-1.jpg'
}, {
uri: uriFromCameraRoll2,
type: 'image/jpeg',
name: 'photo-2.jpg'
}])