3.1 KiB
protocol
The protocol module can register a new protocol or intercept an existing
protocol, so you can customize the response to the requests for various protocols.
An example of implementing a protocol that has the same effect with the
file:// protocol:
var app = require('app');
var path = require('path');
app.on('ready', function() {
var protocol = require('protocol');
protocol.registerProtocol('atom', function(request) {
var url = request.url.substr(7)
return new protocol.RequestFileJob(path.normalize(__dirname + '/' + url));
});
});
Note: This module can only be used after the ready event
was emitted.
protocol.registerProtocol(scheme, handler)
schemeStringhandlerFunction
Registers a custom protocol of scheme, the handler would be called with
handler(request) when the a request with registered scheme is made.
You need to return a request job in the handler to specify which type of
response you would like to send.
protocol.unregisterProtocol(scheme)
schemeString
Unregisters the custom protocol of scheme.
protocol.registerStandardSchemes(value)
valueArray
value is an array of custom schemes to be registered to the standard.
protocol.isHandledProtocol(scheme)
schemeString
Returns whether the scheme can be handled already.
protocol.interceptProtocol(scheme, handler)
schemeStringhandlerFunction
Intercepts an existing protocol with scheme, returning null or undefined
in handler would use the original protocol handler to handle the request.
protocol.uninterceptProtocol(scheme)
schemeString
Unintercepts a protocol.
Class: protocol.RequestFileJob(path)
pathString
Create a request job which would query a file of path and set corresponding
mime types.
Class: protocol.RequestStringJob(options)
optionsObjectmimeTypeString - Default istext/plaincharsetString - Default isUTF-8dataString
Create a request job which sends a string as response.
Class: protocol.RequestBufferJob(options)
optionsObjectmimeTypeString - Default isapplication/octet-streamencodingString - Default isUTF-8dataBuffer
Create a request job which sends a buffer as response.
Class: protocol.RequestHttpJob(options)
optionsObjecturlStringmethodString - Default isGETreferrerString
Send a request to url and pipe the response back.
Class: protocol.RequestErrorJob(code)
codeInteger
Create a request job which sets appropriate network error message to console.
Default message is net::ERR_NOT_IMPLEMENTED. Code should be in the following
range.
- Ranges:
- 0- 99 System related errors
- 100-199 Connection related errors
- 200-299 Certificate errors
- 300-399 HTTP errors
- 400-499 Cache errors
- 500-599 ?
- 600-699 FTP errors
- 700-799 Certificate manager errors
- 800-899 DNS resolver errors
Check the network error list for code and message relations.