go-web-course Das net/http Package Ein minimaler Webserver Handler Ein einfacher Handler Server Ein Minimaler Server Ein Server mit verschiedenen Routen Ein Handler mit verschiedenen Routen HTTPS TLS zu nutzen ist ganz einfach Aufgabe1 : Wir schreiben einen HTTP-Server! Schreiben wir einen Fileserver Erweitertes HTTP-Handling Selber Anfragen stellen Einfache Wege eigene Anfragen zu stellen Aber man kann auch Requests zusammenbauen Plugins schreiben: Logging-Middleware als Beispiel Plugins zu schreiben ist ganz einfach Aufgabe2 : Wir schreiben eine Asset-Middleware! Schreiben wir ein Plugin! JSON mit Go Json lesen Einfaches lesen Lesen größerer Mengen Objekte serialisieren Einfaches schreiben Aufgabe3 : JSON-Middleware Wir wollen JSON als Daten-Format für unseren Handler nutzen Templating in go Das Package text/template Beispiel für text Templates Das Package html/template Beispiel für html Templates Templating-Server Templating in einem HTTP-Server Aufgabe4 : User-Middleware Unser JSON-Handler soll jetzt auch eine schöne Liste liefern Das database/sql Package Exec & Query SQL-Anweisungen ausführen und Queries gegen die Datenbank absetzen Statements SQL-Anweisungen vorbereiten um Overhead zu vermeiden Transaktionen Transaktionen nutzen um atomare Änderungen zu vollziehen Aufgabe4 : User-Middleware Unser User-Handler soll jetzt eine echte Datenbank nutzen Ausflug: gorm - ORM mit go! OR-Mapping mit Go (leider nicht mit Windows heute) go-bindata - Assets ausliefern leicht gemacht Optional, bei Bedarf Komponententesten mit dem HTTP-Recorder Optional, bei Bedarf