-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 26013b6
Showing
4 changed files
with
337 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"name": "timeless-torah" | ||
, "description": "" | ||
, "version": "0.0.1" | ||
, "private": true | ||
, "main": "./zencoder.coffee" | ||
, "dependencies": { | ||
"underscore": "1.3.1" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
{Zencoder} = require './zencoder' | ||
|
||
Zencoder::api_key = '' | ||
### | ||
Zencoder::Job.create | ||
input: 's3://timelesstorah.com/010308.mp3' | ||
outputs: [ | ||
format: 'mp4' | ||
audio_normalize: yes | ||
rrs: yes | ||
public: yes | ||
url: 's3://timelesstorah.com/zencoder/010308.mp4' | ||
, | ||
format: 'mp3' | ||
audio_normalize: yes | ||
rrs: yes | ||
public: yes | ||
url: 's3://timelesstorah.com/zencoder/010308.mp3' | ||
, | ||
format: 'ogg' | ||
audio_normalize: yes | ||
rrs: yes | ||
public: yes | ||
url: 's3://timelesstorah.com/zencoder/010308.ogg' | ||
] | ||
, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res | ||
### | ||
|
||
### | ||
Zencoder::Job.list (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.body | ||
### | ||
|
||
### | ||
Zencoder::Job.details 13852800, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.body | ||
### | ||
|
||
### | ||
Zencoder::Job.resubmit 13852800, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
### | ||
Zencoder::Job.cancel 13852800, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
|
||
|
||
### | ||
Zencoder::Job.progress 13852800, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
### | ||
Zencoder::Input.details 13852776, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
### | ||
Zencoder::Input.progress 13852776, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
### | ||
Zencoder::Output.details 21245746, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
### | ||
Zencoder::Output.progress 21245746, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
### | ||
params = | ||
per_page: 10 | ||
page: 2 | ||
Zencoder::Notification.list params, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
### | ||
account = | ||
email: 'ryan+testAccount1@faerman.net' | ||
terms_of_service: "1" | ||
Zencoder::Account.create account, (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
### | ||
Zencoder::Account.details (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
### | ||
Zencoder::Account.integration (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
### | ||
Zencoder::Account.live (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
### | ||
|
||
Zencoder::Reports.minutes (res) -> | ||
console.log "GOT A RESPONSE IN MAH CALLBACK" | ||
console.log res.code | ||
console.log res.body | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,129 @@ | ||
https = require 'https' | ||
url = require 'url' | ||
_ = require 'underscore' | ||
fs = require 'fs' | ||
querystring = require 'querystring' | ||
|
||
|
||
class exports.Zencoder | ||
base_url: 'https://app.zencoder.com/api/v2' | ||
api_key: '' | ||
cert: fs.readFileSync 'zencoder_ca_chain.crt' | ||
|
||
version: '0.0.1' | ||
default_options: | ||
timeout: 10000 | ||
headers: | ||
'Accept': 'application/json' | ||
'Content-Type': 'application/json' | ||
'User-Agent': "node-zencoder v-#{@::version}" | ||
@Response = | ||
code: 0 | ||
body: '' | ||
raw_body: '' | ||
|
||
Job: | ||
list: (cb) => | ||
@get '/jobs', cb | ||
create: (job, cb) => | ||
@post '/jobs', job, cb | ||
details: (jobId, cb) => | ||
@get "/jobs/#{jobId}.json", cb | ||
resubmit: (jobId, cb)=> | ||
@put "/jobs/#{jobId}/resubmit.json", cb | ||
cancel: (jobId, cb) => | ||
@put "/jobs/#{jobId}/cancel.json", cb | ||
progress: (jobId, cb) => | ||
@get "/jobs/#{jobId}/progress.json", cb | ||
|
||
Input: | ||
details: (inputId, cb) => | ||
@get "/inputs/#{inputId}.json", cb | ||
progress: (inputId, cb) => | ||
@get "/inputs/#{inputId}/progress.json", cb | ||
|
||
Output: | ||
details: (outputId, cb) => | ||
@get "/outputs/#{outputId}.json", cb | ||
progress: (outputId, cb) => | ||
@get "/outputs/#{outputId}/progress.json", cb | ||
|
||
Notification: | ||
list: (options, cb) => | ||
@get '/notifications', options, cb | ||
|
||
Account: | ||
create: (params, options, cb)=> | ||
@post '/account', params, options | ||
details: (cb)=> | ||
@get '/account', cb | ||
integration: (cb) => | ||
@put '/account/integration', cb | ||
live: (cb) => | ||
@put '/account/live', cb | ||
|
||
Reports: | ||
minutes: (options, cb) => | ||
@get '/reports/minutes', options, cb | ||
|
||
process = (method, request_url, body = {}, options = {}, cb = () ->) => | ||
cb = body if typeof body is 'function' | ||
cb = options if typeof options is 'function' | ||
|
||
method = method.toUpperCase() | ||
|
||
request_url = url.parse @::base_url + request_url | ||
request_url.protocol = request_url.protocol.replace ':', '' | ||
|
||
body = _.extend api_key: @::api_key, body | ||
payload = JSON.stringify(body) unless method is 'GET' | ||
|
||
|
||
options = _.extend @::default_options, options | ||
headers = options.headers | ||
headers = _.extend('Content-Length': payload.length, headers) unless method is 'GET' | ||
|
||
|
||
http_options = | ||
host: request_url.hostname | ||
port: request_url.port | ||
path: request_url.path | ||
method: method | ||
headers: headers | ||
cert: @::cert | ||
|
||
if method is 'GET' then http_options.path += "?#{querystring.stringify body}" | ||
response = _.clone @Response | ||
|
||
req = https.request http_options, (res) -> | ||
response.code = res.statusCode | ||
res.on 'data', (d) -> | ||
response.raw_body += d | ||
res.on 'end', -> | ||
|
||
if response.raw_body? and response.raw_body.trim().length > 0 | ||
response.body = JSON.parse response.raw_body | ||
|
||
cb(response) | ||
|
||
req.setTimeout options.timeout | ||
req.on 'error', (e) -> | ||
console.log e | ||
|
||
unless method is 'GET' | ||
req.write "#{payload}\n" | ||
req.end() | ||
|
||
|
||
@post = (request_url, body = {}, options = {}, cb = () ->) => | ||
process 'POST', request_url, body, options | ||
@get = (request_url, body = {}, options = {}, cb = () ->) => | ||
process 'GET', request_url, body, options, cb | ||
@put = (request_url, body = {}, options = {}, cb = () ->) => | ||
process 'PUT', request_url, body, options | ||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx | ||
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD | ||
VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv | ||
biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy | ||
dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t | ||
MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB | ||
MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG | ||
A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp | ||
b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl | ||
cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv | ||
bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE | ||
VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ | ||
ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR | ||
uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG | ||
9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI | ||
hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM | ||
pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg== | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC | ||
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u | ||
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc | ||
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u | ||
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1 | ||
MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE | ||
ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j | ||
b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF | ||
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg | ||
U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA | ||
A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/ | ||
I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3 | ||
wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC | ||
AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb | ||
oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5 | ||
BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p | ||
dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk | ||
MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp | ||
b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu | ||
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0 | ||
MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi | ||
E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa | ||
MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI | ||
hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN | ||
95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd | ||
2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= | ||
-----END CERTIFICATE----- | ||
-----BEGIN CERTIFICATE----- | ||
MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD | ||
VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv | ||
bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv | ||
b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV | ||
UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU | ||
cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds | ||
b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH | ||
iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS | ||
r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 | ||
04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r | ||
GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 | ||
3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P | ||
lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ | ||
-----END CERTIFICATE----- |