Socket
Socket
Sign inDemoInstall

delivery-tracker

Package Overview
Dependencies
Maintainers
1
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

delivery-tracker - npm Package Compare versions

Comparing version 2.4.4 to 2.4.5

.vscode/launch.json

3

CHANGELOG.md

@@ -0,1 +1,4 @@

# 2.4.5
* fixed an issue in UPS is not working.
# 2.4.4

@@ -2,0 +5,0 @@ * fixed an issue in CJKOREAEXPRESS is not working.

120

lib/courier/ups.js

@@ -9,12 +9,21 @@ 'use strict'

return {
method: 'POST',
url: 'https://wwwapps.ups.com/track/api/Track/GetStatus?loc=en_KR',
body: JSON.stringify({
Locale: 'en_KR',
Requester: 'UPSHome',
TrackingNumber: [number]
}),
headers: {
'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0'
cookie: {
url: 'https://www.ups.com/track',
method: 'GET'
},
detail: function (token) {
return {
method: 'POST',
url: 'https://www.ups.com/track/api/Track/GetStatus?loc=en_US',
body: JSON.stringify({
Locale: 'en_US',
Requester: 'UPSHome',
TrackingNumber: [number]
}),
headers: {
'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0',
'X-XSRF-TOKEN': token
}
}
}

@@ -24,2 +33,13 @@ }

var parser = {
token: function (rawcookies) {
var cookies = {}
for (var i = 0; i < rawcookies.length; i++) {
var keyval = rawcookies[i].split(';')[0].split('=')
cookies[keyval[0]] = keyval[1]
}
return cookies['X-XSRF-TOKEN-ST']
}
}
module.exports = function (opts) {

@@ -30,48 +50,56 @@ return {

var tracking = trackingInfo(number)
request(tracking, function (err, res, body) {
var response = JSON.parse(body)
if (response.statusCode !== '200') {
return cb(response.statusText)
}
var currentTrackNumberStatus = response.trackDetails[0]
if (err || currentTrackNumberStatus.errorCode !== null) {
return cb(err || currentTrackNumberStatus.errorText)
}
var req = request.defaults({ jar: true })
var courier = {
code: tracker.COURIER.UPS.CODE,
name: tracker.COURIER.UPS.NAME
req(tracking.cookie, function (err, res, body) {
if (err) {
return cb(err)
}
var result = {
courier: courier,
status: currentTrackNumberStatus.progressBarType,
number: currentTrackNumberStatus.trackingNumber
}
var checkpoints = []
var token = parser.token(res.headers['set-cookie'] || [])
req(tracking.detail(token), function (err, res, body) {
var response = JSON.parse(body)
if (response.statusCode !== '200') {
return cb(response.statusText)
}
var currentTrackNumberStatus = response.trackDetails[0]
if (err || currentTrackNumberStatus.errorCode !== null) {
return cb(err || currentTrackNumberStatus.errorText)
}
for (var i = 0; i < currentTrackNumberStatus.shipmentProgressActivities.length; i++) {
var current = currentTrackNumberStatus.shipmentProgressActivities[i]
if (!current.date) {
continue
var courier = {
code: tracker.COURIER.UPS.CODE,
name: tracker.COURIER.UPS.NAME
}
var checkpoint = {
var result = {
courier: courier,
location: current.location,
message: current.activityScan.trim(),
status: tracker.STATUS.IN_TRANSIT,
time: moment([current.date, current.time].join(' '), 'YYYY/MM/DD HH:mm').format('YYYY-MM-DDTHH:mm')
status: currentTrackNumberStatus.progressBarType,
number: currentTrackNumberStatus.trackingNumber
}
var checkpoints = []
if (checkpoint.message.indexOf('DELIVERED') !== -1) {
checkpoint.status = tracker.STATUS.DELIVERED
for (var i = 0; i < currentTrackNumberStatus.shipmentProgressActivities.length; i++) {
var current = currentTrackNumberStatus.shipmentProgressActivities[i]
if (!current.date) {
continue
}
var checkpoint = {
courier: courier,
location: current.location,
message: current.activityScan.trim(),
status: tracker.STATUS.IN_TRANSIT,
time: moment([current.date, current.time].join(' '), 'MM/DD/YYYY HH:mm').format('YYYY-MM-DDTHH:mmZ')
}
if (checkpoint.message.indexOf('DELIVERED') !== -1) {
checkpoint.status = tracker.STATUS.DELIVERED
}
checkpoints.push(checkpoint)
}
checkpoints.push(checkpoint)
}
result.checkpoints = checkpoints
result.status = tracker.normalizeStatus(result.checkpoints)
result.checkpoints = checkpoints
result.status = tracker.normalizeStatus(result.checkpoints)
cb(null, result)
cb(null, result)
})
})

@@ -78,0 +106,0 @@ }

{
"name": "delivery-tracker",
"version": "2.4.4",
"version": "2.4.5",
"author": {

@@ -5,0 +5,0 @@ "name": "egg",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc