Skip to content

Instantly share code, notes, and snippets.

Working from home

Kasun Thennakoon tmkasun

Working from home
View GitHub Profile
View md.js
externals: {
Themes: 'AppThemes', // Should use long names for preventing global scope JS variable conflicts
MaterialIcons: 'MaterialIcons',
Config: 'AppConfig',
tmkasun /
Created Nov 28, 2019
Thread analyser for MAC
if [ "$#" -ne 3 ]; then
echo "usage: sh <pid> <number-of-dumps> <interval>"
for i in `seq 1 $count`;
mkdir -p report
tmkasun / nginx CORS
Last active Dec 21, 2020
How to configure Nginx to add CORS
View nginx CORS

This document explain how to

  • Generate SSL self sign certificate with subject alternative names using openssl tool
  • Configure nginx to add CORS OPTION call handler for none-cors endpoints

This gist is mostly for my future references 😄

  • First you need to have openssl configuration file to tell the tool what kind of certificate do you need, Following is a sample certificate file containing two SAN domains
tmkasun /
Created Nov 7, 2019
WSO2 API Manager 3.0 Publisher app read only mode


  "EnableMonetization" : false,
  "IsUnlimitedTierPaid" : false,
  "ExtensionHandlerPosition": "bottom",
  "RESTAPIScopes": {
    "Scope": [
tmkasun /
Last active May 25, 2020
How to configure nginx as a revers proxy for WSO2 API Manager SPA apps

For APIM 3.0.0

Update deployment.toml

proxyPort = 443

hostname = ""
View APIClient.js
const authorizations = {
OAuth2Security: {
token: { access_token: AuthManager.getUser(environment.label).getPartialToken() },
View sample_api_response.json
"id": "01234567-0123-0123-0123-012345678901",
"name": "CalculatorAPI",
"description": "A calculator API that supports basic operations",
"context": "CalculatorAPI",
"version": "1.0.0",
"provider": "admin",
"lifeCycleStatus": "CREATED",
"workflowStatus": "APPROVED",
"securityScheme": [
tmkasun /
Last active Aug 22, 2017
WSO2 API Manager get all subscriptions available for APIs created by given provider (user)
import requests, base64
configs = {
'credentials': {
'username': 'admin',
'password': 'admin',
'host': 'localhost',
'port': '9443',
'gateway_port': '8243',
tmkasun /
Last active Aug 10, 2017
javascript code snippets(live templates) for intellij

intellij javascript live templates

This is an improved version of this gist thsnks to ngryman I have added three new snippets creation of ES6 class, React Class Component and React Functional Component.

How install

  • Save below XML content to a file named custom_templates.xml.
  • Note: If you want to change the file name change the file name + group attribute in <templateSet group="custom_templates"> element as well.
  • Copy the custom_templates.xml file to ~IntelliJ IDEA{version}/config/templates
tmkasun /
Last active Oct 17, 2019
Setup APIM server and Run it with it's depending servers, Will only be useful until API manager product properly pack the dependencies in to final product. Till we get there ...
#! /usr/bin/env bash
# HOW TO USE: Put this file inside the directory where you would like to extract and run the product-APIM build file (.zip file)
# Change the below path variables accordingly *** NOTE: No trailing `/` slashes has been used
# This will only work with APIM 3.0.0 latest version with Carbon 4.x kernel. Addition to coping and unziping the pack,
# This script will only create symbolic links to the carbon-apimgt repository files.