Skip to content

Instantly share code, notes, and snippets.

@chasers
chasers / cloudflare_decode_jwt.js
Created December 15, 2021 21:54
Cloudflare JWT decoding worker
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const token = getJwt(request)
const payload = get_payload(token)
@chasers
chasers / logflare_ingest_api_request_curl_example.sh
Created December 22, 2021 13:07
Send Logflare log event batches with an API request
curl -X "POST" "https://api.logflare.app/api/logs?source=YOUR_SOURCE_UUID" \
-H 'Content-Type: application/json' \
-H 'X-Api-Key: YOUR_INGEST_API_KEY' \
-d $'{
"batch": [
{
"message": "A human readable event message!",
"metadata": {
"ip_address": "1.2.3.4",
"datacenter": "aws",
@chasers
chasers / logflare_generic_json_ingest.sh
Created December 22, 2021 13:14
Ingest any JSON with Logflare
curl -X "POST" "https://api.logflare.app/logs/json?source=SOURCE_UUID" \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'X-API-KEY: YOUR_API_KEY' \
-d $'[
{
"yellow": true,
"tags": [
"popular, tropical, organic"
],
"store": {
@chasers
chasers / find_dbconnection_procs_erlang_elxir.ex
Created October 25, 2023 20:43
Finds DBConnection processes from Process.info
Enum.each(Process.list, fn pid ->
case Process.info(pid)[:dictionary] do
[_, "$initial_call": {:supervisor, DBConnection.ConnectionPool.Pool, _}] ->
state = :sys.get_state(pid, 5000)
case elem(state, 11) do
{pid, _, Postgrex.Protocol, opts} ->
if opts[:hostname] == "db.REDACTED.supabase.co" do
IO.inspect({pid, state})
end
_ -> nil
@chasers
chasers / supabase-logs-chatgpt-bot.sql
Created April 2, 2025 17:15
Use Supabase Logs Explorer to see ChatGCP-User requests
SELECT
count(t0.id) as count,
f2.path as path
FROM
edge_logs AS t0
INNER JOIN UNNEST(t0.metadata) AS f1 ON TRUE
INNER JOIN UNNEST(f1.request) AS f2 ON TRUE
INNER JOIN UNNEST(f2.headers) AS f3 ON TRUE
WHERE
AND (REGEXP_CONTAINS(f3.user_agent, 'ChatGPT-User'))