REST-Server mit Grapevine aufsetzen

In den letzten Tagen habe ich für ein Projekt einen REST-Server geschrieben. Der Server läuft unter .NET bzw. Mono – also war ich auf der Suche nach einer passenden Bibliothek bzw. einem Framework, welches mich bei dem Aufsetzen eines solchen Servers unterstützt. Nach einem Blick auf Nancy und einigen anderen Frameworks bin ich schlussendlich bei Grapevine gelandet.

sukona.github.io

sukona.github.io

Dabei handelt es sich um eine Bibliothek, welche neben einem REST-Client auch einen REST-Server bereitstellt. Das Hauptaugenmerk der Entwicklung wird dabei auf den REST-Server gelegt. Mit Hilfe des Frameworks lässt sich ein REST-Server mittels weniger Zeilen Quellcode aufsetzen:

ServerSettings settings = new ServerSettings();
settings.Host = "localhost";
settings.Port = "1111";

RestServer server = new RestServer(settings);
server.Start();

In diesem Beispiel werden die Einstellungen für den Server angelegt und anschließend dem Server übergeben. Danach wird der Server mit der Methode Start hochgefahren. Damit verfügt man zwar über einen REST-Server, dieser verfügt allerdings über keinerlei Methoden was die praktische Verwendung eher erschwert. Ressourcen für den Server werden mittels des Attributes RestResource markiert:

[RestResource(BasePath = "/time/")]
public class TimeModule
{
    [RestRoute(PathInfo = "date")]
    public IHttpContext GetDate(IHttpContext context)
    {
        context.Response.SendResponse(Grapevine.Util.HttpStatusCode.Accepted, getDate());
        return context;
    }
}

Über das Attribut RestRoute wird eine Methode für Grapevine gekennzeichnet – das Pathinfo definiert dabei den Pfad über welchen diese aufgerufen werden kann. Durch den über das Attribut RestResource festgelegten BasePath lautet die vollständige URL für die Ressource:

http://localhost:1111/time/date

Wird diese Methode per GET aufgerufen, so wird das aktuelle Datum zurückgegeben. Damit ist ein minimaler REST-Server mit einer Ressource implementiert. Grapevine selbst ist unter der Apache Lizenz lizenziert und damit freie Software. Der Quelltext der Bibliothek befindet sich auf GitHub.

Mixed Content identifizieren

Nach der Umstellung einer Webseiten auf HTTPS stand ich vor dem Problem das einige der Webseiten Warnungen bezüglich Mixed Content anzeigten. Mixed Content beschreibt dabei den Umstand das z.B. bei einer Seite welche mit HTTPS aufgerufen wird, weitere Inhalte per HTTP – also unverschlüsselt – nachgeladen werden.

Die Entwicklertools von Chrome

Die Entwicklertools von Chrome

Um den Mixed Content zu identifizieren können die Entwicklertools von Chrome genutzt werden. Wenn beim Laden einer Webseite die Console der Entwicklertools geöffnet ist erscheint dort eine entsprechende Meldung. Anschließend kann man sich des Problems annehmen.

Ideentool für Autoren in neuer Version

In den letzten Tagen habe ich einige Stunden in das Ideentool gesteckt. Bei diesem Tool handelt es sich um ein Werkzeug für Autoren, welches diesem eine Menge Generatoren für Namen, Charaktere und ähnliches bereitstellt.

Das aktuelle Ideentool mit dem Blintextgenerator

Das aktuelle Ideentool mit dem Blintextgenerator

Im aktuellen Update wurden einige kleinere Fehler behoben und an der Performance geschraubt. Die größte Neuerung ist der Blindtextgenerator für Lorem Ipsum-Texte – dieser ermöglicht die Erzeugung von beliebig viel Lorem Ipsum – wobei die Menge nach Buchstaben, Wörtern oder Absätzen eingegrenzt werden kann. Wer das ausprobieren möchte findet das Ideentool unter ideentool.de.

Der Abmahnbeantworter

Abmahnungen wegen angeblicher Urheberrechtsverletzung sind ein erträgliches Geschäft. Wenn einem eine solche Abmahnung ins Haus fliegt und man sicher ist, das man mit der Urheberrechtsverletzung nichts zu tun hat, hilft der Abmahnbeantworter des Chaos Computer Club. Zu finden ist dieser unter abmahnbeantworter.ccc.de.

Der Abmahnbeantworter in Aktion

Der Abmahnbeantworter in Aktion

Der Abmahnbeantworter stellt dem Nutzer dabei einige Fragen und erzeugt anschließend ein vorgefertigtes Antwortschreiben, welches im Detail erläutert warum man für besagte Urheberrechtsverletzung nicht in Frage kommt. Das ganze wurde dabei von Anwälten geprüft – wobei man beachten sollte das der Abmahnbeantworter wirklich nur für Fälle gedacht ist in denen man besagte Verletzung des Urheberrechts nicht begangen hat.

SteamLeft

Wer Steam nutzt wird im Laufe der Jahre eine mehr oder weniger große Bibliothek an Spielen gesammelt haben. Wie man vor einiger Zeit festgestellt hat, wird ein relativ großer Teil der gekauften Spiele nicht gespielt.

Ein paar Stunden muss noch gespielt werden...

Ein paar Stunden muss noch gespielt werden…

Da stellt sich natürlich die Frage, wie lange man benötigen würde um die Spiele im eigenen Account zu spielen. Die Antwort auf diese Frage liefert der Dienst SteamLeft. Bei diesem Dienst meldet man sich mit seinem Steam-Account an und schon bekommt man die Zeit angezeigt welche man zum spielen der eigenen Steam-Bibliothek benötigt. Je nach Größe der Bibliothek können dafür durchaus einige Tage ins Land gehen.