Skip to content

Instantly share code, notes, and snippets.

View blackrabbit99's full-sized avatar

Artem Zakharchenko blackrabbit99

View GitHub Profile
@blackrabbit99
blackrabbit99 / index.js
Last active July 22, 2018 14:08
node_http.js
#!/usr/bin/env node
// simplest possible express app
var http = require('http');
var express = require('express');
var app = express();
// while your program is running, requests to "/test" will trigger this
// callback function.
app.get("/test", function(req, res) {
define("alpha", function () {
return {a:1};
});
@blackrabbit99
blackrabbit99 / P-csrf.js
Created December 12, 2016 09:40
Proxy csrf
const handler = {
get (target, propKey){
if(propKey === 'post'){
return function(...args){
if(!args[args.length - 1].hasOwnProperty('csrfToken') || !args[args.length - 1].hasOwnProperty('cookie')){
return target[propKey](...args)
}
const csrf = args.pop();
return target[propKey](...args)
.set('x-xsrf-token', csrf.csrfToken)
<html>
<head>
<script>
if(navigator.serviceWorker.controller){
console.log('Listen to SW');
navigator.serviceWorker.controller.addEventListener('message', function(data){
console.log('Data from service worker received');
console.log(data)
});
}
@blackrabbit99
blackrabbit99 / testfile.js
Created October 20, 2015 22:19
redux router
export default class App extends Component {
render() {
return (
<div>
<Provider store = {store}>
{()=><Router>
<Route path="/" component={FriendListApp}>
</Route>
</Router>}
</Provider>
function MakeQuerablePromise(promise) {
// Don't create a wrapper for promises that can already be queried.
if (promise.isResolved) return promise;
var isResolved = false;
var isRejected = false;
// Observe the promise, saving the fulfillment in a closure scope.
var result = promise.then(
function(v) { isResolved = true; return v; },
describe("spec", function () {
var server, fakeData = [ {a:1}, {b:2}, {c:3} ];
before(function () {
server = sinon.fakeServer.create();
server.respondWith(
"GET",
"https://myhost.local/url/5",
[200, { "Content-Type": "application/json" }, JSON.stringify(fakeData)]
);
var startErrorTracking = function(){
window.addEventListener('error', function (err) {
var lineAndColumnInfo = err.colno ? ' line:' + err.lineno +', column:'+ err.colno : ' line:' + err.lineno;
push.call(this, 'FrontendError',
err.message,
err.filename + lineAndColumnInfo + ' -> ' + navigator.userAgent);
});
};
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
var wrk = new Worker('./w.js');
TCP_IP. Сетевое администрирование, 3-е издание -- это супер базовое, наверное все уже читали
У. Р. Стивенс - UNIX. Разработка сетевых приложений