Enable customing mime type and charset when returning reqeust string job.
This commit is contained in:
parent
912bac698c
commit
1ed77371c0
3 changed files with 27 additions and 2 deletions
|
@ -1 +1,11 @@
|
||||||
module.exports = process.atomBinding 'protocol'
|
module.exports = process.atomBinding 'protocol'
|
||||||
|
|
||||||
|
module.exports.RequestStringJob =
|
||||||
|
class RequestStringJob
|
||||||
|
constructor: ({mimeType, charset, data}) ->
|
||||||
|
if typeof data isnt 'string' and not data instanceof Buffer
|
||||||
|
throw new TypeError('Data should be string or Buffer')
|
||||||
|
|
||||||
|
@mimeType = mimeType ? 'text/plain'
|
||||||
|
@charset = charset ? 'UTF-8'
|
||||||
|
@data = String data
|
||||||
|
|
|
@ -11,7 +11,9 @@ describe 'protocol API', ->
|
||||||
protocol.unregisterProtocol 'test1'
|
protocol.unregisterProtocol 'test1'
|
||||||
|
|
||||||
it 'calls the callback when scheme is visited', (done) ->
|
it 'calls the callback when scheme is visited', (done) ->
|
||||||
protocol.registerProtocol 'test2', -> done()
|
protocol.registerProtocol 'test2', (url) ->
|
||||||
|
assert.equal url, 'test2://test2'
|
||||||
|
done()
|
||||||
$.get 'test2://test2', ->
|
$.get 'test2://test2', ->
|
||||||
protocol.unregisterProtocol 'test2'
|
protocol.unregisterProtocol 'test2'
|
||||||
|
|
||||||
|
@ -28,4 +30,13 @@ describe 'protocol API', ->
|
||||||
assert.equal data, 'atom-string://something'
|
assert.equal data, 'atom-string://something'
|
||||||
done()
|
done()
|
||||||
error: (xhr, errorType, error) ->
|
error: (xhr, errorType, error) ->
|
||||||
console.log xhr, errorType, error
|
assert false, 'Got error: ' + errorType + ' ' + error
|
||||||
|
|
||||||
|
it 'returns RequestStringJob should send string', (done) ->
|
||||||
|
$.ajax
|
||||||
|
url: 'atom-string-job://something'
|
||||||
|
success: (data) ->
|
||||||
|
assert.equal data, 'atom-string-job://something'
|
||||||
|
done()
|
||||||
|
error: (xhr, errorType, error) ->
|
||||||
|
assert false, 'Got error: ' + errorType + ' ' + error
|
||||||
|
|
|
@ -41,6 +41,10 @@ app.on('will-finish-launching', function() {
|
||||||
protocol.registerProtocol('atom-string', function(url) {
|
protocol.registerProtocol('atom-string', function(url) {
|
||||||
return url;
|
return url;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
protocol.registerProtocol('atom-string-job', function(url) {
|
||||||
|
return new protocol.RequestStringJob({mimeType: 'text/html', data: url});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
app.on('finish-launching', function() {
|
app.on('finish-launching', function() {
|
||||||
|
|
Loading…
Reference in a new issue