Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env php
<?php
include_once("./lib/barrister.php");
$barrister = new Barrister();
$client = $barrister->httpClient("http://localhost:3000/v1/todos");
$proxy = $client->proxy("TodoManager");
@laser
laser / client.php
Last active August 29, 2015 14:01
Basic Client - PHP
#!/usr/bin/env php
<?php
include_once("./lib/barrister.php");
$barrister = new Barrister();
$client = $barrister->httpClient("http://localhost:3000/v1/todos");
$proxy = $client->proxy("TodoManager");
@laser
laser / client.py
Last active August 29, 2015 14:01
Basic Client - Python
#!/usr/bin/env python
import barrister
trans = barrister.HttpTransport("http://localhost:3000/v1/todos")
client = barrister.Client(trans)
try:
result = client.TodoManager.createTodo({ "title" : "Call Mom", "completed" : False })
print result
except barrister.RpcException as e:
@laser
laser / client.rb
Created May 12, 2014 20:23
Basic Client - Ruby
#!/usr/bin/env ruby
require 'barrister'
trans = Barrister::HttpTransport.new("http://localhost:3000/v1/todos")
client = Barrister::Client.new(trans)
begin
result = client.TodoManager.createTodo({ 'title' => 'Call Mom', 'completed' => false })
puts result
@laser
laser / server.rb
Created May 12, 2014 20:19
Basic Server - Ruby
#!/usr/bin/env ruby
require 'forwardable'
require 'barrister'
require 'sinatra'
require './store.rb'
class TodoManager
def initialize(store)
@store = store
@laser
laser / server.py
Last active August 29, 2015 14:01
Basic Server - Python
#!/usr/bin/env python
import barrister
from bottle import run, post, request
from store import Store
from functools import wraps
import sys
class TodoManager(object):
@laser
laser / server.js
Created May 12, 2014 20:17
Basic Server - Node.js
var express = require('express')
, fs = require('fs')
, http = require('http')
, path = require('path')
, barrister = require('barrister')
, store = require("./store").store
, idl = JSON.parse(fs.readFileSync("../todo_manager.v1.json").toString());
var app = express();
@laser
laser / server.go
Created May 12, 2014 20:16
Basic Server - Golang
package main
import (
t "./todos"
"fmt"
"github.com/coopernurse/barrister-go"
"net/http"
)
type TodoManagerImpl struct {
@laser
laser / outbound_request.json
Created May 2, 2014 21:40
Outbound JSON-RPC 2.0 Request
{
"jsonrpc":"2.0",
"id":"bv0D1yRJhkABZ3fx8ofU",
"method":"TodoManager.createTodo",
"params":[
{
"title":"Call Dad",
"completed":false
}
]
@laser
laser / legacy_api.py
Created May 2, 2014 21:32
Legacy API Version Support (Python)
#!/usr/bin/env python
import barrister
from bottle import run, post, request
from store import Store
from functools import wraps
import sys
class TodoManager: