Skip to content

Instantly share code, notes, and snippets.

View beders's full-sized avatar

Jochen Bedersdorfer beders

View GitHub Profile
@beders
beders / HelloResty.java
Last active September 29, 2015 15:48
Hello World! Complete example
import us.monoid.web.Resty;
import java.io.IOException;
public class HelloResty {
// Hello World!
public static void main(String... args) throws IOException {
Resty r = new Resty();
// Get the content of the URL as text and print it
String hello = r.text("http://www.helloworld.org/data/helloworld.java").toString();
System.out.println(hello);
@beders
beders / RestyGDev.java
Created January 17, 2012 06:38
Getting the Google Developer calendar
// Getting the Google Developer calendar
// getting a link from JSON to an XML description of an entry, parsing the text out with XPath
Resty r = new Resty();
String title =
r.json("http://www.google.com/calendar/feeds/[email protected]/public/full?alt=json")
.xml(path("feed.entry[0].id.$t")).get("entry/title/text()", String.class);
@beders
beders / RestyPostMultipart.java
Created January 17, 2012 06:42
POST multipart form data (application/multipart-formdata)
// POST multipart form data (application/multipart-formdata)
Resty r = new Resty();
String firstResult = r.xml("http://api.search.yahoo.com/WebSearchService/V1/webSearch",
form(data("appid","YahooDemo"),data("query", "Resty+java"), data("results", "10")))
.get("/ResultSet/Result[1]/Title",String.class);
@beders
beders / gist:1cb3b3f8ddba12d697f7
Created April 17, 2015 05:16
Odd side effects using eval
// run with: curl -d 'console.log("hi");' http://localhost:8063; curl -d 'console.log("hi");' http://localhost:8063
vertx.createHttpServer().requestHandler(function (req) {
req.bodyHandler(function (buffer) {
var code = buffer.toString("UTF-8");
var result = eval('"use strict";' + code) || {};
req.response().end(JSON.stringify(result));
});
}).listen(8063);
@beders
beders / gist:7849cce449098d7e2de2
Created April 23, 2015 07:06
Bridging event bus
package com.saffrontech.ws.vertx.problem;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.DeploymentOptions;
import io.vertx.core.Vertx;
import io.vertx.ext.apex.Router;
import io.vertx.ext.apex.handler.sockjs.BridgeOptions;
import io.vertx.ext.apex.handler.sockjs.SockJSHandler;
// curl http://localhost:8888/eventbus/info
@beders
beders / jps.js
Created June 21, 2015 03:04
List of currently running Java processes, color coded using Nashorn
// List running Java Processes
// ansicolors
var a = { reset : "\u001B[0m", black: "\u001B[30m", red: "\u001B[31m", green: "\u001B[32m",
yellow: "\u001B[33m", blue: "\u001B[34m", purple: "\u001B[35m", cyan: "\u001B[36m",
white: "\u001B[37m"
};
var jps = `jps -vl`.split('\n').slice(0,-1);
var ownPID = java.lang.management.ManagementFactory.getRuntimeMXBean().getName().split('@')[0];
@beders
beders / EventBusBridge.java
Created June 25, 2015 15:25
Simple EventBusBridge
package com.saffrontech.vertx;
import io.vertx.core.AsyncResult;
import io.vertx.core.Handler;
import io.vertx.core.MultiMap;
import io.vertx.core.Vertx;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.eventbus.DeliveryOptions;
import io.vertx.core.eventbus.Message;
import io.vertx.core.http.WebSocket;
@beders
beders / gist:a4229baac6464e1c7e51
Created July 7, 2015 06:03
Optional parameters in lambdas
bus.register(msg -> { System.out.println("I gots a message") });
bus.register((msg,param) -> { System.out.println("I gots a message w/ params"); });
@beders
beders / BetterBus.java
Last active December 8, 2015 13:35
Examples for optional lambda parameters and polymorphism with default methods
package example;
import java.util.ArrayList;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
/**
* Created by beders on 7/7/15.
*/
(function(){
var json = JSON.parse(document.getElementsByTagName('pre')[0].innerText);
var result = JSON.parse(json.result);
document.getElementsByTagName('BODY')[0].appendChild(document.createTextNode("Result to convert: " + JSON.stringify(result, null, 2)));
// mock data
result = {
"result":[
{
"receiver_rank":1,