Skip to content

Instantly share code, notes, and snippets.

View mezklador's full-sized avatar
💭
I may be slow to respond.

Stephane ESTEVE mezklador

💭
I may be slow to respond.
View GitHub Profile
@mezklador
mezklador / gist:e53cf1ecbd79d76f45bd96dbb917c273
Created August 23, 2022 05:47 — forked from snowman-repos/gist:3817411
PHP: Convert Accented Characters
/*
For instance, if you want to use a string as part of a URL but
need to make it safe for that kind of use.
*/
function replace_accents($str) {
$str = htmlentities($str, ENT_COMPAT, "UTF-8");
$str = preg_replace('/&([a-zA-Z])(uml|acute|grave|circ|tilde);/','$1',$str);
return html_entity_decode($str);
}
@mezklador
mezklador / curl_example.php
Created August 24, 2021 13:20 — forked from carbontwelve/curl_example.php
PHP Curl to check if url is alive
<?php
function check_alive($url, $timeout = 10, $successOn = array(200, 301)) {
$ch = curl_init($url);
// Set request options
curl_setopt_array($ch, array(
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_NOBODY => true,
CURLOPT_TIMEOUT => $timeout,
@mezklador
mezklador / base.html.twig
Created November 13, 2018 13:10 — forked from enricofoltran/base.html.twig
Symfony: display all flash messages in a twig template
{% if app.session.flashbag.peekAll|length > 0 %}
{% for type, messages in app.session.flashbag.all %}
{% for message in messages %}
<div class="{{ type ? type : '' }}">
{{ message|trans({}, domain|default('messages')) }}
</div>
{% endfor %}
{% endfor %}
{% endif %}
@mezklador
mezklador / user.js
Created October 26, 2018 08:07 — forked from EtienneR/user.js
XMLHttpRequest RESTful (GET, POST, PUT, DELETE)
// Get all users
var url = "http://localhost:8080/api/v1/users";
var xhr = new XMLHttpRequest()
xhr.open('GET', url, true)
xhr.onload = function () {
var users = JSON.parse(xhr.responseText);
if (xhr.readyState == 4 && xhr.status == "200") {
console.table(users);
} else {
console.error(users);
@mezklador
mezklador / pythonproxy.py
Created July 31, 2018 15:38 — forked from gschizas/pythonproxy.py
A python proxy in less than 100 lines of code
#!/usr/bin/python
# This is a simple port-forward / proxy, written using only the default python
# library. If you want to make a suggestion or fix something you can contact-me
# at voorloop_at_gmail.com
# Distributed over IDC(I Don't Care) license
# http://voorloopnul.com/blog/a-python-proxy-in-less-than-100-lines-of-code/
import socket
import select
import time
import sys
@mezklador
mezklador / rest.py
Created April 10, 2018 20:43 — forked from tliron/rest.py
Simple and functional REST server for Python (2.7) using no dependencies beyond the Python standard library.
#!/usr/bin/env python
'''
Simple and functional REST server for Python (2.7) using no dependencies beyond the Python standard library.
Features:
* Map URI patterns using regular expressions
* Map any/all the HTTP VERBS (GET, PUT, DELETE, POST)
* All responses and payloads are converted to/from JSON for you
@mezklador
mezklador / upgrade.sh
Created March 31, 2018 20:43
Upgrade postgresql from 9.4 to 9.5 on Arch Linux
systemctl stop postgresql && pacman -Syu --noconfirm && su - postgres -c 'mv /var/lib/postgres/data /var/lib/postgres/olddata' && su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'" && systemctl start postgresql.service && systemctl stop postgresql.service && pacman -S postgresql-old-upgrade --noconfirm && su - postgres -c 'pg_upgrade -d /var/lib/postgres/olddata/ -D /var/lib/postgres/data/ -b /opt/pgsql-9.4/bin/ -B /usr/bin/' && /var/lib/postgres/delete_old_cluster.sh && rm /var/lib/postgres/delete_old_cluster.sh && /var/lib/postgres/analyze_new_cluster.sh && systemctl start postgresql.service && pacman -Rs postgresql-old-upgrade --noconfirm
@mezklador
mezklador / streaming.py
Created January 23, 2018 19:55 — forked from bdarnell/streaming.py
Demo of streaming requests with Tornado
"""Demo of streaming requests with Tornado.
This script features a client using AsyncHTTPClient's body_producer
feature to slowly produce a large request body, and two server
handlers to receive this body (one is a proxy that forwards to the
other, also using body_producer).
It also demonstrates flow control: if --client_delay is smaller than
--server_delay, the client will eventually be suspended to allow the
server to catch up. You can see this in the logs, as the "client
log_format long '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time';
@mezklador
mezklador / server.py
Created January 17, 2018 23:56 — forked from chrisguitarguy/server.py
Super simple python socket server and HTTP request class.
import socket, traceback
HOST = ''
PORT = 51235
CLRF = '\r\n'
class InvalidRequest(Exception):
pass
class Request(object):