Skip to content

Instantly share code, notes, and snippets.

View ptesny's full-sized avatar

Piotr Tesny ptesny

  • SAP UK Ltd
  • London
View GitHub Profile
@ptesny
ptesny / tcpproxy.js
Created September 6, 2021 20:57 — forked from kfox/tcpproxy.js
A basic TCP proxy written in node.js
var net = require("net");
process.on("uncaughtException", function(error) {
console.error(error);
});
if (process.argv.length != 5) {
console.log("usage: %s <localport> <remotehost> <remoteport>", process.argv[1]);
process.exit();
}
@ptesny
ptesny / parent.html
Created March 1, 2022 12:41 — forked from tarun/parent.html
testing setting timeouts in postMessage callback in the parent window. this seems to break on mobile browsers (tested in iOS 5/6). posting message to the same window works fine.
<!DOCTYPE html>
<html>
<head>
<title>iOS background setTimeout test - parent</title>
</head>
<body>
<h1>Parent</h1>
<button id="open-popup">Open Popup</button>
@ptesny
ptesny / download-file.js
Created March 11, 2022 23:53 — forked from Tomassito/download-file.js
Download files with AJAX (axios)
axios({
url: 'http://localhost:5000/static/example.pdf',
method: 'GET',
responseType: 'blob', // important
}).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.pdf');
link.click();
@ptesny
ptesny / download-file.js
Created March 11, 2022 23:56 — forked from javilobo8/download-file.js
Download files with AJAX (axios)
axios({
url: 'http://localhost:5000/static/example.pdf',
method: 'GET',
responseType: 'blob', // important
}).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.pdf');
document.body.appendChild(link);
@ptesny
ptesny / client.js
Created May 24, 2022 11:25 — forked from abtris/client.js
Connect to Postgres/Redshift over Socks proxy.
var pg = require('pg'),
url = require('url'),
SocksConnection = require('socksjs');
var db = url.parse(process.env.REDSHIFT_CONN_STRING),
dbAuth = db.auth,
dbUsername = dbAuth.split(':')[0],
dbPassword = dbAuth.split(':')[1],
dbName = db.pathname.replace('/', '');
@ptesny
ptesny / token-generator.js
Created May 30, 2022 12:00 — forked from ziluvatar/token-generator.js
Example of refreshing tokens with jwt
/**
* Example to refresh tokens using https://github.com/auth0/node-jsonwebtoken
* It was requested to be introduced at as part of the jsonwebtoken library,
* since we feel it does not add too much value but it will add code to mantain
* we won't include it.
*
* I create this gist just to help those who want to auto-refresh JWTs.
*/
const jwt = require('jsonwebtoken');
@ptesny
ptesny / mTLS gateways with custom business domains.md
Last active May 4, 2024 08:21
Mutual TLS easy with SAP BTP, Kyma runtime and BTP destinations

2.2 mTLS gateways with custom business domains

Let's opt for a dedicated DNS entry for the purpose of mTLS communications, namely:

apiVersion: dns.gardener.cloud/v1alpha1
kind: DNSEntry
metadata:
 annotations:
@ptesny
ptesny / Expose and secure kyma workloads with client certificates and kyma-system defined mTLS gateways.md
Last active May 4, 2024 08:22
Expose and secure kyma workloads with client certificates and kyma-system defined mTLS gateways

2. Expose and secure kyma workloads with client certificates and kyma-system defined mTLS gateways

The following kyma tutorial details a number of pre-requisite steps, namely:
  • having a dedicated custom domain for mTLS communication with a mutual TLS gateway
  • and creating a cacert bundle for the server side certificate validation.
However, any managed kyma cluster domain is also a custom domain (and managed by SAP).

Thus, it is possible to reuse this kyma cluster domain "as is" by adding a dedicated mutual TLS gateway.

@ptesny
ptesny / Real time access with kyma workloads.md
Last active April 21, 2024 11:45
Real time access with kyma workloads
@ptesny
ptesny / SAP Cloud Management service.md
Last active May 6, 2024 08:13
SAP BTP easy peasy lemon squeezy with BTP core services.

SAP BTP easy peasy lemon squeezy with BTP core services.

SAP BTP playground

Let's assume, we are already signed up to a SAP BTP trial account - our SAP BTP playground - and ready to be on the lookout with SAP BTP Core services.

Let's assume there are two sub-accounts in the SAP BTP trial global account (GA), for instance: