fix docs and update specs
This commit is contained in:
parent
d2e40d4fc1
commit
be4bc6b7ef
3 changed files with 68 additions and 4 deletions
|
@ -93,7 +93,7 @@ The `uploadData` is an array of `data` objects:
|
||||||
* `data` Object
|
* `data` Object
|
||||||
* `bytes` Buffer - Content being sent.
|
* `bytes` Buffer - Content being sent.
|
||||||
* `file` String - Path of file being uploaded.
|
* `file` String - Path of file being uploaded.
|
||||||
* `blobUUId` String - UUID of blob data.
|
* `blobUUID` String - UUID of blob data.
|
||||||
|
|
||||||
To handle the `request`, the `callback` should be called with either the file's
|
To handle the `request`, the `callback` should be called with either the file's
|
||||||
path or an object that has a `path` property, e.g. `callback(filePath)` or
|
path or an object that has a `path` property, e.g. `callback(filePath)` or
|
||||||
|
|
|
@ -326,13 +326,13 @@ This doesn't affect existing `WebContents`, and each `WebContents` can use
|
||||||
|
|
||||||
Returns a `String` representing the user agent for this session.
|
Returns a `String` representing the user agent for this session.
|
||||||
|
|
||||||
#### `ses.getBlobDataForUUID(uuid, callback)`
|
#### `ses.getBlobData(identifier, callback)`
|
||||||
|
|
||||||
* `uuid` String
|
* `identifier` String - Valid UUID or public blob URL.
|
||||||
* `callback` Function
|
* `callback` Function
|
||||||
* `result` Buffer - Blob data.
|
* `result` Buffer - Blob data.
|
||||||
|
|
||||||
Returns the blob data associated with `uuid`.
|
Returns the blob data associated with the `identifier`.
|
||||||
|
|
||||||
### Instance Properties
|
### Instance Properties
|
||||||
|
|
||||||
|
|
|
@ -402,4 +402,68 @@ describe('session module', function () {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('ses.getblobData(identifier, callback)', function () {
|
||||||
|
it('returns blob data for public url', function (done) {
|
||||||
|
let data = JSON.stringify({
|
||||||
|
type: 'blob',
|
||||||
|
value: 'hello'
|
||||||
|
})
|
||||||
|
let blob = new Blob([data], {type: 'application/json'})
|
||||||
|
let blobURL = URL.createObjectURL(blob)
|
||||||
|
session.defaultSession.getBlobData(blobURL, function (result) {
|
||||||
|
assert.equal(result.toString(), data)
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it('returns blob data for uuid', function (done) {
|
||||||
|
const scheme = 'temp'
|
||||||
|
const protocol = session.defaultSession.protocol
|
||||||
|
const url = scheme + '://host'
|
||||||
|
before(function () {
|
||||||
|
if (w != null) w.destroy()
|
||||||
|
w = new BrowserWindow({show: false})
|
||||||
|
})
|
||||||
|
|
||||||
|
after(function (done) {
|
||||||
|
protocol.unregisterProtocol(scheme, () => {
|
||||||
|
closeWindow(w).then(() => {
|
||||||
|
w = null
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
const postData = JSON.stringify({
|
||||||
|
type: 'blob',
|
||||||
|
value: 'hello'
|
||||||
|
})
|
||||||
|
const content = `<html>
|
||||||
|
<script>
|
||||||
|
const {webFrame} = require('electron')
|
||||||
|
webFrame.registerURLSchemeAsPrivileged('${scheme}')
|
||||||
|
let fd = new FormData();
|
||||||
|
fd.append('file', new Blob(['${postData}'], {type:'application/json'}));
|
||||||
|
fetch('${url}', {method:'POST', body: fd });
|
||||||
|
</script>
|
||||||
|
</html>`
|
||||||
|
|
||||||
|
protocol.registerStringProtocol(scheme, function (request, callback) {
|
||||||
|
if (request.method === 'GET') {
|
||||||
|
callback({data: content, mimeType: 'text/html'})
|
||||||
|
} else if (request.method === 'POST') {
|
||||||
|
let uuid = request.uploadData[1].blobUUID
|
||||||
|
assert(uuid)
|
||||||
|
session.defaultSession.getBlobData(uuid, function (result) {
|
||||||
|
assert.equal(result.toString(), postData)
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}, function (error) {
|
||||||
|
if (error) return done(error)
|
||||||
|
w.loadURL(url)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue