Skip to content

Instantly share code, notes, and snippets.

View simlevesque's full-sized avatar

Simon Lévesque simlevesque

  • Montréal, Québec, Canada
  • 18:32 (UTC -04:00)
View GitHub Profile
@simlevesque
simlevesque / android-acra.ts
Last active June 30, 2022 17:35
Android ACRA report typescript definition
export interface AcraReport<T = unknown> {
REPORT_ID: string;
APP_VERSION_CODE: number;
APP_VERSION_NAME: string;
PACKAGE_NAME: string;
FILE_PATH: string;
PHONE_MODEL: string;
BRAND: string;
PRODUCT: string;
ANDROID_VERSION: string;
@simlevesque
simlevesque / gist:58ecb8477188f903fef72a5601f0a069
Created September 25, 2019 21:52
aws v4 signature in modern js (sigv4.js)
'use strict';
const crypto = require('crypto');
module.exports = function (accessKey, secretKey, requestHeaders, httpMethod, path, payload, region, service, timestamp) {
const signedHeaders = createSignedHeaders(requestHeaders);
const canonicalRequest = createCanonicalRequest(httpMethod, path, requestHeaders, payload);
const stringToSign = createStringToSign(timestamp, region, service, canonicalRequest);
const signature = createSignature(secretKey, timestamp, region, service, stringToSign);
const authorizationHeader = createAuthorizationHeaders(timestamp, accessKey, region, service, signedHeaders, signature);