Skip to content

Commit

Permalink
Force SLL
Browse files Browse the repository at this point in the history
  • Loading branch information
bgsrb committed Oct 6, 2018
1 parent b4e176f commit 788cdc7
Show file tree
Hide file tree
Showing 3 changed files with 138 additions and 111 deletions.
53 changes: 35 additions & 18 deletions README.md
Expand Up @@ -110,28 +110,45 @@ sample output
}
*/
```
#Contribution
## Contribution

Bug fixes, docs, and enhancements welcome! Please let us know <a href="mailto:support@kavenegar.com?Subject=SDK" target="_top">support@kavenegar.com</a>
<hr>

<div dir='rtl'>

## راهنما

<h4 id="">راهنمای فارسی</h4>
<h5 id="-1">راهنما</h5>
<p>در صورتی که مایل هستید راهنمای فارسی کیت توسعه کاوه نگار را مطالعه کنید به صفحه
<a href="http://kavenegar.com/sdk.html">کد ارسال پیامک</a>
مراجعه کنید.</p>
<h5 id="-2">مستندات</h5>
<p>برای مطالعه مستندات کار با
<a href="http://kavenegar.com"> وب سرویس اس ام اس</a>
کاوه نگار به صفحه <a href="http://kavenegar.com/rest.html">مستندات</a>مراجعه کنید</p>
<h5 id="-3">معرفی وب سرویس کاوه نگار</h5>
<p>برای مشاهده ویژگی های وب سرویس پیامک کاوه نگار به <a href="http://kavenegar.com/%D9%88%D8%A8%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D9%BE%DB%8C%D8%A7%D9%85%DA%A9.html">صفحه وب سرویس</a>مراجعه نمائید.</p>
<h5 id="-4">ایجاد حساب کاربری</h5>
<p>و بالاخره اگر در استفاده از سرویس کاوه نگار مشکلی داشتید یا پیشنهاد همکاری بود لطفا حتما به ما اطلاع دهید.</p>
<p><a href="mailto:support@kavenegar.com">support@kavenegar.com</a></p>
</div>
### معرفی سرویس کاوه نگار

کاوه نگار یک وب سرویس ارسال و دریافت پیامک و تماس صوتی است که به راحتی میتوانید از آن استفاده نمایید.

### ساخت حساب کاربری

اگر در وب سرویس کاوه نگار عضو نیستید میتوانید از [لینک عضویت](http://panel.kavenegar.com/client/membership/register) ثبت نام و اکانت آزمایشی برای تست API دریافت نمایید.

### مستندات

برای مشاهده اطلاعات کامل مستندات [وب سرویس پیامک](http://kavenegar.com/وب-سرویس-پیامک.html) به صفحه [مستندات وب سرویس](http://kavenegar.com/rest.html) مراجعه نمایید.

### راهنمای فارسی

در صورتی که مایل هستید راهنمای فارسی کیت توسعه کاوه نگار را مطالعه کنید به صفحه [کد ارسال پیامک](http://kavenegar.com/sdk.html) مراجعه نمایید.

### اطالاعات بیشتر
برای مطالعه بیشتر به صفحه معرفی
[وب سرویس اس ام اس ](http://kavenegar.com)
کاوه نگار
مراجعه نمایید .

اگر در استفاده از کیت های سرویس کاوه نگار مشکلی یا پیشنهادی داشتید ما را با یک Pull Request یا ارسال ایمیل به support@kavenegar.com خوشحال کنید.

##
![http://kavenegar.com](http://kavenegar.com/public/images/logo.png)

[http://kavenegar.com](http://kavenegar.com)

</p>
</div>




191 changes: 101 additions & 90 deletions kavenegar.js
@@ -1,96 +1,107 @@
var http = require('http');
var https = require('https');
var querystring = require('querystring');
var KavenegarApi = function(options) {
this.options = {};
this.options.host = 'api.kavenegar.com';
this.options.version = 'v1';
this.options.apikey = options.apikey;
};
KavenegarApi.prototype.request = function(action, method, params, callback) {
var path = 'http://' + this.options.host + '/' + this.options.version + '/' + this.options.apikey + '/' + action + '/' + method + '.json';
var postdata = querystring.stringify(params);
var post_options = {
host: this.options.host,
port: '80',
path: path,
method: 'POST',
headers: {
'Content-Length': postdata.length,
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
}
};
var req = http.request(post_options, function(e) {
e.setEncoding('utf8');
e.on('data', function(data) {
var jsonObject = JSON.parse(data);
if (callback) callback(
var KavenegarApi = function(options) {
this.options = {};
this.options.host = 'api.kavenegar.com';
this.options.version = 'v1';
this.options.apikey = options.apikey;
};
KavenegarApi.prototype.request = function(action, method, params, callback) {
var path = '/' + this.options.version + '/' + this.options.apikey + '/' + action + '/' + method + '.json';
var postdata = querystring.stringify(params);
var post_options = {
host: this.options.host,
port: '443',
path: path,
method: 'POST',
headers: {
'Content-Length': postdata.length,
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
}
};
var req = https.request(post_options, function(e) {
e.setEncoding('utf8');
var result = '';
e.on('data', function(data) {
result += data;
});
e.on('end',function () {
try {
var jsonObject = JSON.parse(result);
if (callback) callback(
jsonObject.entries,
jsonObject.return.status,
jsonObject.return.message
);
});
});
req.write(postdata, "utf8");
req.on("error", function(e) {
if (callback) callback(JSON.stringify({
error: e.message
}));
});
req.end();
};
KavenegarApi.prototype.Send = function(data, callback) {
this.request("sms", "send", data, callback);
};
KavenegarApi.prototype.SendArray = function(data, callback) {
this.request("sms", "sendarray", data, callback);
};
KavenegarApi.prototype.Status = function(data, callback) {
this.request("sms", "status", data, callback);
};
KavenegarApi.prototype.StatusLocalMessageid = function(data, callback) {
this.request("sms", "statuslocalmessageid", data, callback);
};
KavenegarApi.prototype.Select = function(data, callback) {
this.request("sms", "select", data, callback);
};
KavenegarApi.prototype.SelectOutbox = function(data, callback) {
this.request("sms", "selectoutbox", data, callback);
};
KavenegarApi.prototype.LatestOutbox = function(data, callback) {
this.request("sms", "latestoutbox", data, callback);
};
KavenegarApi.prototype.CountOutbox = function(data, callback) {
this.request("sms", "countoutbox", data, callback);
};
KavenegarApi.prototype.Cancel = function(data, callback) {
this.request("sms", "cancel", data, callback);
};
KavenegarApi.prototype.Receive = function(data, callback) {
this.request("sms", "receive", data, callback);
};
KavenegarApi.prototype.CountInbox = function(data, callback) {
this.request("sms", "countinbox", data, callback);
};
KavenegarApi.prototype.CountPostalCode = function(data, callback) {
this.request("sms", "countpostalcode", data, callback);
};
KavenegarApi.prototype.SendByPostalCode = function(data, callback) {
this.request("sms", "sendbypostalcode", data, callback);
};
KavenegarApi.prototype.VerifyLookup = function(data, callback) {
this.request("verify", "lookup", data, callback);
};
KavenegarApi.prototype.AccountInfo = function(data, callback) {
this.request("account", "info", data, callback);
};
KavenegarApi.prototype.AccountConfig = function(data, callback) {
this.request("account", "config", data, callback);
};
KavenegarApi.prototype.CallMakeTTS = function(data, callback) {
this.request("call", "maketts", data, callback);
};

module.exports.KavenegarApi = function (options) {
);
} catch (e){
console.log('Exception!',e);
if(callback){
callback([],500,e.message)
}
}
})
});
req.write(postdata, "utf8");
req.on("error", function(e) {
if (callback) callback(JSON.stringify({
error: e.message
}));
});
req.end();
};
KavenegarApi.prototype.Send = function(data, callback) {
this.request("sms", "send", data, callback);
};
KavenegarApi.prototype.SendArray = function(data, callback) {
this.request("sms", "sendarray", data, callback);
};
KavenegarApi.prototype.Status = function(data, callback) {
this.request("sms", "status", data, callback);
};
KavenegarApi.prototype.StatusLocalMessageid = function(data, callback) {
this.request("sms", "statuslocalmessageid", data, callback);
};
KavenegarApi.prototype.Select = function(data, callback) {
this.request("sms", "select", data, callback);
};
KavenegarApi.prototype.SelectOutbox = function(data, callback) {
this.request("sms", "selectoutbox", data, callback);
};
KavenegarApi.prototype.LatestOutbox = function(data, callback) {
this.request("sms", "latestoutbox", data, callback);
};
KavenegarApi.prototype.CountOutbox = function(data, callback) {
this.request("sms", "countoutbox", data, callback);
};
KavenegarApi.prototype.Cancel = function(data, callback) {
this.request("sms", "cancel", data, callback);
};
KavenegarApi.prototype.Receive = function(data, callback) {
this.request("sms", "receive", data, callback);
};
KavenegarApi.prototype.CountInbox = function(data, callback) {
this.request("sms", "countinbox", data, callback);
};
KavenegarApi.prototype.CountPostalCode = function(data, callback) {
this.request("sms", "countpostalcode", data, callback);
};
KavenegarApi.prototype.SendByPostalCode = function(data, callback) {
this.request("sms", "sendbypostalcode", data, callback);
};
KavenegarApi.prototype.VerifyLookup = function(data, callback) {
this.request("verify", "lookup", data, callback);
};
KavenegarApi.prototype.AccountInfo = function(data, callback) {
this.request("account", "info", data, callback);
};
KavenegarApi.prototype.AccountConfig = function(data, callback) {
this.request("account", "config", data, callback);
};
KavenegarApi.prototype.CallMakeTTS = function(data, callback) {
this.request("call", "maketts", data, callback);
};

module.exports.KavenegarApi = function (options) {
var obj = new KavenegarApi(options);
return obj;
}
}
5 changes: 2 additions & 3 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "kavenegar",
"version": "2.0.0",
"version": "1.1.4",
"description": "Kavenegar Nodejs SDk",
"main": "kavenegar.js",
"scripts": {
Expand All @@ -23,5 +23,4 @@
"dependencies":{
},
"homepage": "https://github.com/KaveNegar/kavenegar-node#readme"
}

}

0 comments on commit 788cdc7

Please sign in to comment.