· 7 years ago · Jan 25, 2018, 03:44 PM
1let oauthSignature = require("oauth-signature");
2
3const CONSUMER_KEY = "wtx3wVW5DjWb4KSFxb";
4const CONSUMER_SECRET = "DPrsEpMpTZrxphCWjJmnCq96UUQzyepn";
5
6function getParameterByName(name, url) {
7 if (!url) url = window.location.href;
8 name = name.replace(/[\[\]]/g, "\\$&");
9 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
10 results = regex.exec(url);
11 if (!results) return null;
12 if (!results[2]) return "";
13 return decodeURIComponent(results[2].replace(/\+/g, " "));
14}
15
16function uuidv4() {
17 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
18 var r = (Math.random() * 16) | 0,
19 v = c == "x" ? r : (r & 0x3) | 0x8;
20 return v.toString(16).toUpperCase();
21 });
22}
23
24export function getCurrentState() {
25 let url =
26 "http://s3static.melontvapps.com/statics/versus/index.html?slug=vs-prod&appuid=versusfn2018&device_id=AB93C878-7210-426B-96F2-4C15D91ADF1C";
27
28 let slug = getParameterByName("slug", url);
29 let appuId = getParameterByName("appuid", url);
30
31 let parsedUrl = `http://staging.melontvapps.com/api/1/show/versus/${appuId}/${slug}/state`;
32
33 let myRequest = new Request(parsedUrl);
34
35 return new Promise((resolve, reject) => {
36 fetch(myRequest)
37 .then(function(response) {
38 return response.json();
39 })
40 .then(data => {
41 resolve(data);
42 });
43 });
44}
45
46export function postCurrentAnswer(postUrl) {
47 let url =
48 "http://s3static.melontvapps.com/statics/versus/index.html?slug=vs-prod&appuid=versusfn2018&device_id=AB93C878-7210-426B-96F2-4C15D91ADF1C";
49
50 let device_id = getParameterByName("device_id", url);
51 let oauth_token = getParameterByName("token", url);
52 let oauth_timestamp = Math.floor(Date.now() / 1000);
53 let oauth_nonce = uuidv4();
54
55 let httpMethod = "POST";
56 let parameters = {
57 oauth_consumer_key: CONSUMER_KEY,
58 oauth_token: "dd522ef0-45ff-4c8c-bdab-fe6ad1146eab",
59 oauth_nonce,
60 oauth_timestamp,
61 oauth_signature_method: "HMAC-SHA1",
62 oauth_version: "1.0"
63 };
64
65 let consumerSecret = CONSUMER_SECRET;
66
67 let signature = oauthSignature.generate(
68 httpMethod,
69 postUrl,
70 parameters,
71 consumerSecret
72 );
73
74 return new Promise((resolve, reject) => {
75 fetch(postUrl, {
76 headers: {
77 Authorization: `OAuth realm="", oauth_consumer_key="${CONSUMER_KEY}", oauth_token="dd522ef0-45ff-4c8c-bdab-fe6ad1146eab", oauth_signature_method="HMAC-SHA1", oauth_signature="${signature}", oauth_timestamp="${oauth_timestamp}", oauth_nonce="${oauth_nonce}", oauth_version="1.0"`,
78 Accept: "application/json",
79 "Content-Type": "application/json"
80 },
81 method: "post",
82 body: JSON.stringify({ device_id })
83 })
84 .then(function(response) {
85 return response.json();
86 })
87 .then(function(data) {
88 resolve(data);
89 });
90 });
91}
92
93export function getAvatars(getUrl) {
94 return new Promise((resolve, reject) => {
95 fetch(getUrl, {
96 method: "get"
97 })
98 .then(function(response) {
99 return response.json();
100 })
101 .then(function(data) {
102 resolve(data);
103 });
104 });
105}