Skip to content

Commit

Permalink
Merge pull request #11 from phempshall/live-update
Browse files Browse the repository at this point in the history
Live update
  • Loading branch information
phempshall authored Nov 8, 2018
2 parents fbdcdec + 92fdf9b commit a6f0d80
Show file tree
Hide file tree
Showing 13 changed files with 1,647 additions and 49 deletions.
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# HTTP Headers ![Supported](https://img.shields.io/badge/browser-chrome-green.svg "Supported Platforms") [![Bitcoin](https://img.shields.io/badge/donations-Bitcoin-orange.svg)](https://blockchain.info/address/1K1AhrU5JS8euypB3Vw2iGxXqsbwcf9kxN)
# HTTP Headers ![Supported](https://img.shields.io/badge/browser-chrome-green.svg "Supported Platforms")

A web browser extension that displays the current page's HTTP request and response.
A web browser extension that can display the current tab's HTTP request and response or a live stream of HTTP requests and responses.

Features:

- Light and Dark Theme
- Per tab HTTP Headers
- Live HTTP Headers tab
- A bunch of filters

Currently available for Chrome

Expand All @@ -25,8 +32,8 @@ Download the latest package for your browser from the [releases](https://github.

## License

HTTP Headers
Copyright (C) 2016, Paul Hempshall. All rights reserved.
HTTP Headers - https://www.paulhempshall.com/io/http-headers/
Copyright (C) 2016-2018, Paul Hempshall. All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -42,3 +49,8 @@ Download the latest package for your browser from the [releases](https://github.
along with this program. If not, see <http://www.gnu.org/licenses/>.

https://opensource.org/licenses/GPL-3.0



---
[![Bitcoin](https://img.shields.io/badge/donations-Bitcoin-orange.svg)](https://blockchain.info/address/1K1AhrU5JS8euypB3Vw2iGxXqsbwcf9kxN) [![Litecoin](https://img.shields.io/badge/donations-Litecoin-lightgrey.svg)](http://ltc.blockr.io/address/info/LLowTnsW4d3uymbZiiFZLUkejZCcdcmW6F) [![Dogecoin](https://img.shields.io/badge/donations-Dogecoin-yellow.svg)](https://dogechain.info/address/DGB5acV5rfEZaovAM1PNHmbbecrrwb1jsG) [![Dash](https://img.shields.io/badge/donations-Dash-blue.svg)](https://explorer.dash.org/address/XpRyt7DGjprwZxV5Bqh9y2WmBzWaKPmqX5) [![Ethereum](https://img.shields.io/badge/donations-Ethereum-93a1c6.svg)](https://etherscan.io/address/0xe8b4f8842bf14b9a4ce675461153ea21ca742bc7)
9 changes: 0 additions & 9 deletions chrome/fetchHeaders.html

This file was deleted.

25 changes: 0 additions & 25 deletions chrome/fetchHeaders.js

This file was deleted.

26 changes: 26 additions & 0 deletions chrome/headersBackground.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!--
HTTP Headers - https://www.paulhempshall.com/io/http-headers/
Copyright (C) 2016-2018, Paul Hempshall. All rights reserved.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see https://opensource.org/licenses/GPL-3.0.
-->
<!DOCTYPE html>
<html>
<head>
<title>HTTP Headers</title>
</head>
<body>
<script src="headersBackground.js"></script>
</body>
</html>
62 changes: 62 additions & 0 deletions chrome/headersBackground.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/**
* HTTP Headers - https://www.paulhempshall.com/io/http-headers/
* Copyright (C) 2016-2018, Paul Hempshall. All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see https://opensource.org/licenses/GPL-3.0.
*/

'use strict';

var defaultSettings = {
'o_theme': 'o_theme_light',
'o_live_output': 'o_live_output_formatted',
'o_live_direction': ['o_live_direction_in', 'o_live_direction_out'],
'o_live_type': ['o_live_type_main_frame', 'o_live_type_sub_frame', 'o_live_type_stylesheet', 'o_live_type_script', 'o_live_type_image', 'o_live_type_object', 'o_live_type_xmlhttprequest', 'o_live_type_other'],
'o_live_donation': 'o_live_donation_show',
};
var currentSettings;

var headers = {};

var filters = {
urls: ["<all_urls>"],
types: ["main_frame"]
};

/* headers sent */
chrome.webRequest.onSendHeaders.addListener(function(details) {
headers[details.tabId] = headers[details.tabId] || {};
headers[details.tabId].request = details;
}, filters, ["requestHeaders"]);

/* headers received */
chrome.webRequest.onHeadersReceived.addListener(function(details) {
headers[details.tabId] = headers[details.tabId] || {};
headers[details.tabId].response = details;
}, filters, ["responseHeaders"]);

/* remove tab data from headers object when tab is onRemoved */
chrome.tabs.onRemoved.addListener(function(tabId, removeInfo) {
delete headers[tabId];
});

function get_options() {
chrome.storage.sync.get(
defaultSettings,
function (settings) {
currentSettings = settings;
}
);
}
get_options();
95 changes: 95 additions & 0 deletions chrome/headersHelpers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
/**
* HTTP Headers - https://www.paulhempshall.com/io/http-headers/
* Copyright (C) 2016-2018, Paul Hempshall. All rights reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see https://opensource.org/licenses/GPL-3.0.
*/

'use strict';


const httpStatusCodes = {
//1×× Informational
'100' : 'Continue',
'101' : 'Switching Protocols',
'102' : 'Processing',

//2×× Success
'200' : 'OK',
'201' : 'Created',
'202' : 'Accepted',
'203' : 'Non-authoritative Information',
'204' : 'No Content',
'205' : 'Reset Content',
'206' : 'Partial Content',
'207' : 'Multi-Status',
'208' : 'Already Reported',
'226' : 'IM Used',

//3×× Redirection
'300' : 'Multiple Choices',
'301' : 'Moved Permanently',
'302' : 'Found',
'303' : 'See Other',
'304' : 'Not Modified',
'305' : 'Use Proxy',
'307' : 'Temporary Redirect',
'308' : 'Permanent Redirect',

//4×× Client Error
'400' : 'Bad Request',
'401' : 'Unauthorized',
'402' : 'Payment Required',
'403' : 'Forbidden',
'404' : 'Not Found',
'405' : 'Method Not Allowed',
'406' : 'Not Acceptable',
'407' : 'Proxy Authentication Required',
'408' : 'Request Timeout',
'409' : 'Conflict',
'410' : 'Gone',
'411' : 'Length Required',
'412' : 'Precondition Failed',
'413' : 'Payload Too Large',
'414' : 'Request-URI Too Long',
'415' : 'Unsupported Media Type',
'416' : 'Requested Range Not Satisfiable',
'417' : 'Expectation Failed',
'418' : 'I\'m a teapot',
'421' : 'Misdirected Request',
'422' : 'Unprocessable Entity',
'423' : 'Locked',
'424' : 'Failed Dependency',
'426' : 'Upgrade Required',
'428' : 'Precondition Required',
'429' : 'Too Many Requests',
'431' : 'Request Header Fields Too Large',
'444' : 'Connection Closed Without Response',
'451' : 'Unavailable For Legal Reasons',
'499' : 'Client Closed Request',

//5×× Server Error
'500' : 'Internal Server Error',
'501' : 'Not Implemented',
'502' : 'Bad Gateway',
'503' : 'Service Unavailable',
'504' : 'Gateway Timeout',
'505' : 'HTTP Version Not Supported',
'506' : 'Variant Also Negotiates',
'507' : 'Insufficient Storage',
'508' : 'Loop Detected',
'510' : 'Not Extended',
'511' : 'Network Authentication Required',
'599' : 'Network Connect Timeout Error',
};
Loading

0 comments on commit a6f0d80

Please sign in to comment.