Skip to content

Instantly share code, notes, and snippets.

Avatar

Matthew J. Clemente mjclemente

View GitHub Profile
@mjclemente
mjclemente / application.cfc
Created Jan 18, 2022
CFML Datasource from AWS Secrets Manager
View application.cfc
this.datasource = 'appdsn_exactoritos';
this.datasources["appdsn_exactoritos"] = getDatabaseConfig();
private struct function getDatabaseConfig() {
var sys = CreateObject("java", "java.lang.System");
var db_is_configured = sys.getProperty("com.app.db_is_configured");
if( isNull( db_is_configured ) ) {
var aws = new modules.awscfml.aws();
@mjclemente
mjclemente / task.cfc
Created Dec 13, 2021 — forked from bdw429s/task.cfc
Scan a folder of jars recursively for CVE-2021-44228 vulnerability
View task.cfc
/**
* Scan all jars in folder recursivley for log4j vuln
*/
component {
property name="progressableDownloader" inject="ProgressableDownloader";
property name="progressBar" inject="ProgressBar";
/**
* @scanPath absolute or relative path to folder to look for jars
*/
View hashify.cfm
<cfscript>
/*
Hashify
http://brianflove.com/2015/02/24/hash-any-coldfusion-type/
*/
private string function hashify(required any value) {
//return an empty string for null
if (IsNull(arguments.value)) {
@mjclemente
mjclemente / server.js
Created Sep 28, 2021 — forked from eladnava/server.js
Get Facebook Ads Lead Notifications in Realtime with Node.js
View server.js
const axios = require('axios');
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
// Enter the Page Access Token from the previous step
const FACEBOOK_PAGE_ACCESS_TOKEN = '_______________________________';
@mjclemente
mjclemente / PrettyJSON.py
Created Apr 9, 2021 — forked from brokaw/PrettyJSON.py
A BBEdit text filter to prettify JSON.
View PrettyJSON.py
#!/usr/bin/env python3
# A text filter for BBEdit. If it encounters a JSON error, it writes an error
# message to stderr (appears in a new BBEdit window) and leaves the original
# text unaltered. c.f.
# http://crisp.tumblr.com/post/2574967567/json-pretty-print-formatting-in-bbedit
# c.f. http://blog.scottlowe.org/2013/11/11/making-json-output-more-readable-with-bbedit/
import json
import sys
@mjclemente
mjclemente / RetryProxy.cfc
Created Mar 4, 2021 — forked from bennadel/RetryProxy.cfc
Creating A Generic Proxy For Retry Semantics In ColdFusion
View RetryProxy.cfc
component
output = false
hint = "I provide automatic retry functionality around the target component."
{
/**
* I initialize the retry proxy with the given target component. Retries will
* only be applied to "transient" errors. And, since the proxy doesn't know which
* errors are transient / retriable, it must check with the isTransientError()
* function.
@mjclemente
mjclemente / fork forced sync
Created Feb 5, 2021 — forked from glennblock/fork forced sync
Force your forked repo to be the same as upstream.
View fork forced sync
git remote add upstream https://github.com/some_user/some_repo
git fetch upstream
git checkout master
git reset --hard upstream/master
git push origin master --force
@mjclemente
mjclemente / app.e2e-spec.ts
Created Aug 4, 2020 — forked from firxworx/app.e2e-spec.ts
NestJS Integration/E2E Testing Example with TypeORM, Postgres, JWT
View app.e2e-spec.ts
import { Test, TestingModule } from '@nestjs/testing'
import { INestApplication, LoggerService } from '@nestjs/common'
import * as request from 'supertest'
import { AppModule } from './../src/app.module'
class TestLogger implements LoggerService {
log(message: string) {}
error(message: string, trace: string) {}
warn(message: string) {}
debug(message: string) {}
@mjclemente
mjclemente / 20190417131115_test-setup.ts
Created Jul 21, 2020 — forked from jukkatupamaki/20190417131115_test-setup.ts
Knex.js & TypeScript config example · How to setup Knex.js in a TypeScript project
View 20190417131115_test-setup.ts
import * as Knex from 'knex';
export async function up(knex: Knex): Promise<any> {
return knex.schema.createTable('test_setup', (table: Knex.TableBuilder) => {
table.integer('foobar');
});
}
export async function down(knex: Knex): Promise<any> {
return knex.schema.dropTable('test_setup');
View SalesforceApiWrapper.cfc
component hint="wrapper for Salesforce REST 2.0 API" {
pageEncoding "utf-8";
/**
Copyright (C) 2012 Daniel Watt
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,