Skip to content

Instantly share code, notes, and snippets.

View dyaa's full-sized avatar

Dyaa dyaa

View GitHub Profile
@dyaa
dyaa / route.go
Last active April 3, 2020 17:02
Golang - Proxy route to another backend
// Original post: https://github.com/gin-gonic/gin/issues/686#issuecomment-240619920
router.POST("/api/v1/endpoint1", ReverseProxy())
func ReverseProxy() gin.HandlerFunc {
target := "localhost:3000"
return func(c *gin.Context) {
director := func(req *http.Request) {
r := c.Request
@dyaa
dyaa / README.txt
Last active May 1, 2020 21:01 — forked from ncw/README.txt
Client side certificates with go
This demonstrates how to make client side certificates with go
First generate the certificates with
./makecert.sh test@test.com
Run the server in one terminal
go run server.go
@dyaa
dyaa / collectCoverageFiles.ts
Last active February 5, 2020 08:55
Jest coverage collection from multi-project and merging them into single coverage .lcov file
import fs from 'fs-extra';
import glob from 'glob';
import { exec } from 'child_process';
const coverageOutputDir = '.nyc_output';
fs.emptyDirSync(coverageOutputDir);
glob('**/coverage-final.json', (err, coverageFiles) => {
if (err) {
@dyaa
dyaa / index.js
Created October 14, 2019 09:15 — forked from zackshapiro/index.js
Parse Separate Live Query Server Setup
// This is the index.js file for my Parse Live Query Server, running on a separate EC2 instance
var express = require('express');
var cors = require('cors')
var ParseServer = require('parse-server').ParseServer;
var app = express();
app.use(cors());
// We include the lines below so that we can hit `/` and it passes the Elastic Beanstalk Health Check
@dyaa
dyaa / offline-analytics.js
Created April 25, 2019 20:10 — forked from jeffposnick/offline-analytics.js
Standalone offline analytics code
/*
Copyright 2016 Google Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
@dyaa
dyaa / firebase.js
Last active February 10, 2024 08:58
Lazy Load Import Firebase (dynamic import)
Promise.all([
import('firebase/app'),
import('firebase/database'),
import('firebase/auth'),
])
.then(x => x[0].default)
.then(firebase => {
const config = {
apiKey: '',
authDomain: '',
@dyaa
dyaa / react-router-queyry-utils.js
Created June 18, 2018 15:05 — forked from DimitryDushkin/react-router-queyry-utils.js
React router utility functions to add and remove queries
import { browserHistory } from 'react-router';
/**
* @param {Object} query
*/
export const addQuery = (query) => {
const location = Object.assign({}, browserHistory.getCurrentLocation());
Object.assign(location.query, query);
browserHistory.push(location);
};
@dyaa
dyaa / FirebaseToFirestore.js
Last active May 3, 2018 20:34 — forked from JoeRoddy/FirebaseToFirestore.js
Convert Firebase Database JSON to Firestore Collections
var db = firebase.firestore();
var content = require("./sourceData.json");
content &&
Object.keys(content).forEach(contentKey => {
const nestedContent = content[contentKey];
if (typeof nestedContent === "object") {
Object.keys(nestedContent).forEach(docTitle => {
firebase
.firestore()
@dyaa
dyaa / index.html
Last active April 18, 2018 15:16
Auto Search from the Chrome's Address Bar. - Example from caniuse.com
<link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Can I use"/>
@dyaa
dyaa / compose.js
Created April 17, 2018 10:26 — forked from WaldoJeffers/compose.js
JavaScript one-line compose (ES6)
const compose = (...fns) => fns.reduce((f, g) => (...args) => f(g(...args)))
// Usage : compose functions right to left
// compose(minus8, add10, multiply10)(4) === 42
//
// The resulting function can accept as many arguments as the first function does
// compose(add2, multiply)(4, 10) === 42