Skip to content

Instantly share code, notes, and snippets.

View omarkj's full-sized avatar

Omar Yasin omarkj

  • Vancouver, BC, Canada
View GitHub Profile
{"grant":{"access_token":"c34ccaa92710b1508a4b7492630f4519","token_type":"BEARER","expires_in":1209600,"refresh_token":"c34ccaa92710b1508a4b7492630f4a0d"},"username":"[email protected]"}
%% Getting an access token using the Authorization Request and Response from oAuth2 - Draft 13
%% Important to notice; in this document a the remote service is referred to as 'the client' and the user as 'the user'.
%% NOTICE: I'm not implementing scope here but I might.
fun(Doc, {[Info|Request]}) ->
%% Functions used all over
OpenDb = fun (Database) ->
{ok, Db} = couch_db:open(Database, [{user_ctx, {user_ctx, undefined, [<<"_admin">>], undefined}}]),
Db
end,
@omarkj
omarkj / Req.erl
Created March 18, 2011 15:44
CouchDB request
[{<<"info">>,
{[{<<"db_name">>,<<"users">>},
{<<"update_seq">>,
<<"31-g1AAAAH7eJzLYWBg4MhgTmFQS8pMT84vTc5w8M9NLNKNTCzOzCvWzfRNTNbLzk_JTMzWy8lPTszJAapnSmRIkv___39WIgOpOpMUgGSSPVizDMmaHUCa48m0OQGkuZ48zXksQJKhAUgB9c8n24AFEAP2ZyUyk2fAAYgB98l2wQOIAaAwyAIAYJiqrQ">>},
{<<"purge_seq">>,0},
{<<"doc_del_count">>,0},
{<<"doc_count">>,2},
{<<"disk_size">>,127628},
{<<"disk_format_version">>,5},
{<<"compact_running">>,false},
@omarkj
omarkj / Subdomains, credentials and XHR.md
Created March 16, 2011 15:01
XHR with credentials across subdomains

First, your HTTP server must return the correct HTTP Access Control rules

  Access-Control-Allow-Origin: "http://subdomain.domain.tld"
  Access-Control-Allow-Methods: "GET"
  Access-Control-Allow-Credentials: "true"
  Access-Control-Allow-Headers: "X-Requested-With"

During your AJAX request, set withCredentials to true

  $.ajax
    url: kodi.config.user_db

xhrFields: {'withCredentials': true}

Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:X-Requested-With, Cookie
Access-Control-Allow-Methods:GET
Access-Control-Allow-Origin:http://mobile.kodiak.local:5984
Content-Length:979
Content-Type:application/json;charset=utf-8
Date:Wed, 16 Mar 2011 14:49:34 GMT
Etag:"CMWUE49BJLEULPJCYET5G2ZTF"
Server:CouchDB/1.0.2 (Erlang OTP/R14B)
Vary:Accept
@omarkj
omarkj / gist:864751
Created March 10, 2011 19:35
Jenkins RPM automater
BUILDING=tikka
RPM_VERSION=`echo ${VERSION} | sed -e 's/-/_/g'`
RPM_FILE_NAME=${BUILDING}-${RPM_VERSION}-1.x86_64.rpm
TAR_FILE_NAME=${BUILDING}-${VERSION}.tar.gz
SPEC_FILE=${BUILDING}-${VERSION}.spec
## Create rpmbuild env (Doesn't matter if it exists)
mkdir -p ${HOME}/rpmbuild/{BUILD,RPMS,SOURCES,SPECS}
## Move RPM release exec to release folder (so it will run on target system)
cp rel/files/rpm/${BUILDING} rel/${BUILDING}/bin/${BUILDING}
handle_cast(listen, #state{socket=Socket, rest=Rest} = State) ->
case gen_tcp:recv(Socket, 0, 35000) of
{ok, Data} ->
RestOfData = parse(<<Rest/binary, Data/binary>>),
gen_server:cast(?SERVER, listen),
State#state{rest=RestOfData};
{error, closed} ->
io:format("error, socket closed, do failover? ~n"),
gen_server:cast(?SERVER, connect),
failover(State);
@omarkj
omarkj / xhr_polling
Created March 1, 2011 18:08
Not getting EXIT
-module(socketio_transport_xhr_polling).
-include_lib("../include/socketio.hrl").
-behaviour(gen_server).
%% API
-export([start_link/2]).
%% gen_server callbacks
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
@omarkj
omarkj / deploy_couchapps
Created November 19, 2010 20:07
Deploy multiple couchapps
#!/usr/bin/env python
# encoding: utf-8
import sys, getopt, subprocess, os
help_message = '''
Usage: deploy_all
\t-s server_name
\t-c couchapp exec'''
class Usage(Exception):
@omarkj
omarkj / _formatting.js
Created November 9, 2010 14:55
Underscore.js mixin that provides a 'printf'-like functionality
_.mixin({
format: function(string) {
var i = 1, a, f = string, o = [], m, p, c, x, s = '';
while (f) {
if (m = /^[^\x25]+/.exec(f)) {
o.push(m[0]);
}
else if (m = /^\x25{2}/.exec(f)) {
o.push('%');
}