JSFiddle - React, Tailwind, and code Playground

by Cybolic

HTML

<script src="http://oauth.googlecode.com/svn/code/javascript/sha1.js"></script>
<script src="http://oauth.googlecode.com/svn/code/javascript/oauth.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/json3/3.3.0/json3.min.js"></script>
<pre id="output"></pre>

JavaScript

var getAuthorizationHeader = function(url, key, secret) {
  var message = {
     method     : 'GET'
    ,action     : url
    ,parameters : { oauth_nonce: OAuth.nonce(32) }
  };
 
  // Fill the message object with the necessary fields (timestamp, signature, etc.)
  OAuth.completeRequest(message, {
     consumerKey    : ''+key
    ,consumerSecret : ''+secret
  });
 
  return OAuth.getAuthorizationHeader('', message.parameters);
 
};
 
// Many browsers and users don't have correct time, so get a stable offset to adjust it by
var correctTime = function(callback) {
  var request = newXMLHttpRequest();
  request.onreadystatechange = function () {
    if (request.readyState == 4) {
      if (request.status == 200) {
        var time = JSON.parse(request.responseText);
        OAuth.correctTimestamp(parseInt(time.unix));
 
        callback(null);
      } else {
        callback(request.status);
      }
    }
  };
  request.open('GET', 'http://192.237.222.223:1999/time.json?key='+encodeURIComponent('6oWsI1rwqw5ccvlcbrxgkLAqOts='), true);
  request.send();
};
 
var getNARCData = function(key, secret, callback) {
  var request = newXMLHttpRequest();
  request.onreadystatechange = function () {
    if (request.readyState == 4) {
      if (request.status == 200) {
        window._req = request;
        var data = JSON.parse(request.responseText);
        callback(null, data);
      } else {
        callback(request.status);
      }
    }
  }
  request.open('GET', 'http://192.237.222.223:1999/get_data', true);
  request.setRequestHeader('Authorization',
    getAuthorizationHeader('http://192.237.222.223:1999/get_data', key, secret)
  );
  request.send();
};
 
 
function newXMLHttpRequest() {
  try{
    return new XMLHttpRequest();
  } catch(e) {
    try{
        return new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try{
            return new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
            alert("Sorry, your browser doesn't support...