Network Programming with Go Language : Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang 2nd Edition Jan Newmarch download pdf
Network Programming with Go Language : Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang 2nd Edition Jan Newmarch download pdf
com
OR CLICK HERE
DOWLOAD NOW
https://ebookmeta.com/product/network-programming-with-go-
language-2nd-edition-ronald-petty/
ebookmeta.com
https://ebookmeta.com/product/software-development-with-go-cloud-
native-programming-using-golang-with-linux-and-docker-nanik-tolaram/
ebookmeta.com
https://ebookmeta.com/product/captured-by-the-alpha-1st-edition-
liliana-carlisle/
ebookmeta.com
The Global Currency Power of the US Dollar : Problems and
Prospects 1st Edition Anthony Elson
https://ebookmeta.com/product/the-global-currency-power-of-the-us-
dollar-problems-and-prospects-1st-edition-anthony-elson/
ebookmeta.com
https://ebookmeta.com/product/loving-leah-lynne-larson/
ebookmeta.com
https://ebookmeta.com/product/the-travel-book-lonely-planet/
ebookmeta.com
https://ebookmeta.com/product/the-routledge-history-of-police-
brutality-in-america-1st-edition-thomas-aiello/
ebookmeta.com
Wolf Forsaken (Arbor Falls #2) 1st Edition Maya Nicole
https://ebookmeta.com/product/wolf-forsaken-arbor-falls-2-1st-edition-
maya-nicole/
ebookmeta.com
Jan Newmarch and Ronald Petty
Ronald Petty
San Francisco, CA, USA
The publisher, the authors and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Apress imprint is published by the registered company APress
Media, LLC, part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
I dedicate this to my family.
Preface to the Second Edition
While an age has passed in Internet years, Go remains a primary
destination for programmers. Go conquered the container technology
space. It continues to find affection in Cloud Native development. Go
strives to remain true to itself, backward compatible, yet adding new
language features like Generics. Tooling improvements such as Fuzzing
allow for more secure application development.
Go has changed, and so has this book. The first edition used Go 1.8;
we are now on Go 1.18. The code has been updated to reflect this new
reality. The examples have been largely developed to show a particular
feature of Go networking without forcing complexity like managing
several projects or packages scattered across the book; the associated
repository can be found here
https://github.com/Apress/network-prog-with-go-2e.
The first version of this book assumed familiarity with Go, and that
remains in this edition. We expand slightly what we are willing to
discuss in this book with the inclusion of more third-party modules,
tools, and techniques. Jan was correct to keep the focus on Go and not
to be distracted with the ecosystem at large.
If you desire to learn about implementing networking concepts with
Go, I hope this book serves you well.
As a point of comparison, what follows is Jan’s original preface,
reflecting Go in 2017.
Preface to the First Edition
It’s always fun to learn a new programming language, especially when it
turns out to be a major one. Prior to the release of Go in 2009, I was
teaching a Master’s level subject in network programming at Monash
University. It’s good to have a goal when learning a new language, but
this time, instead of building yet another wine cellar program, I decided
to orient my lecture notes around Go instead of my (then) standard
delivery vehicle of Java.
The experiment worked well: apart from the richness of the Java
libraries that Go was yet to match, all the programming examples
transferred remarkably well, and in many cases were more elegant than
the original Java programs.
This book is the result. I have updated it as Go has evolved and as
new technologies such as HTTP/2 have arisen. But if it reads like a
textbook, well, that is because it is one. There is a large body of
theoretical and practical concepts involved in network programming
and this book covers some of these as well as the practicalities of
building systems in Go.
In terms of language popularity, Go is clearly rising. It has climbed
to 16th in the TIOBE index, is 18th in the PYPL (Popularity of
Programming Language), and is 15th in the RedMonk Programming
Language rankings. It is generally rated as one of the fastest growing
languages.
There is a growing community of developers both of the core
language and libraries and of the independent projects. I have tried to
limit the scope of this book to the standard libraries only and to the
“sub-repositories” of the Go tree. While this eliminates many excellent
projects that no doubt make many programming tasks easier,
restricting the book to the official Go libraries provides a clear bound.
This book assumes a basic knowledge of Go. The focus is on using
Go to build network applications, not on the basics of the language.
Network applications are different than command-line applications, are
different than applications with a graphical user interface, and so on. So
the first chapter discusses architectural aspects of network programs.
The second chapter is an overview of the features of Go that we use in
this book. The third chapter on sockets covers the Go version of the
basics underlying all TCP/IP systems. Chapters 4, 5, and 6 are more
unusual in network programming books. They cover the topics of what
representations of data will be used, how a network interaction will
proceed, and for text, which language formats are used. Then in Chapter
7, we look at the increasingly important topic of security. In Chapter 8,
we look at one of the most common application layer protocols in use,
HTTP. The next four chapters are about topics related to HTTP and
common data formats carried above HTTP – HTML and XML. In
Chapter 13, we look at an alternative approach to network
programming, remote procedure calls. Chapters 14 and 15 consider
further aspects of network programming using HTTP.
Any source code or other supplementary material referenced by the
author in this book is available to readers on GitHub. For more detailed
information, please visit
https://github.com/Apress/network-prog-with-go-2e.
Acknowledgments
I want to share my appreciation for Jan Newmarch for collaborating on
this book. This project has offered me a tremendous sense of
achievement and allowed me to cross a much-anticipated item off my
bucket list. I would also like to thank Eldon Alameda for his thoughtful
approach at letting me know when I am off the mark and for providing
me with solid advice.
Additionally, I owe gratitude to my partners at Apress, both Steve
Anglin for the opportunity and Mark Powers for the guidance to help
see this through. Thank you to my colleagues at RX-M, including Randy
Abernethy, Christopher Hanson, Andrew Bassett, and Anita Wu. Our
work over the years has allowed for my participation in a project such
as this book.
Finally, I want to thank my wife Julie and daughter Charlotte. Julie’s
capacity to manage the world while I hide out on a computer is
unmatched and most appreciated. Charlotte’s energy, abilities, and
creativity inspire me to become better every day.
—Ronald Petty
Table of Contents
Chapter 1:Architectural Layers
Protocol Layers
ISO OSI Protocol
OSI Layers
TCP/IP Protocol
Some Alternative Protocols
Networking
Gateways
Host-Level Networking
Packet Encapsulation
Connection Models
Connection Oriented
Connectionless
Communications Models
Message Passing
Remote Procedure Call
Distributed Computing Models
Client-Server System
Client-Server Application
Server Distribution
Communication Flows
Synchronous Communication
Asynchronous Communication
Streaming Communication
Publish/Subscribe
Component Distribution
Gartner Classification
Three-Tier Models
Fat vs.Thin
Middleware Model
Middleware Examples
Middleware Functions
Continuum of Processing
Points of Failure
Acceptance Factors
Thoughts on Distributed Computing
Transparency
Access Transparency
Location Transparency
Migration Transparency
Replication Transparency
Concurrency Transparency
Scalability Transparency
Performance Transparency
Failure Transparency
Eight Fallacies of Distributed Computing
Fallacy: The Network Is Reliable
Fallacy: Latency Is Zero
Fallacy: Bandwidth Is Infinite
Fallacy: The Network Is Secure
Fallacy: Topology Doesn’t Change
Fallacy: There Is One Administrator
Fallacy: Transport Cost Is Zero
Fallacy: The Network Is Homogeneous
Conclusion
Chapter 2:Overview of the Go Language
Types
Slices and Arrays
Maps
Pointers
Functions
Structures
Methods
Multithreading
Packages
Modules
Type Conversion
Statements
GOPATH
Running Go Programs
Standard Libraries
Error Values
Conclusion
Chapter 3:Socket-Level Programming
The TCP/IP Stack
IP Datagrams
UDP
TCP
Internet Addresses
IPv4 Addresses
IPv6 Addresses
IP Address Type
Using Available Documentation and Examples
The IPMask Type
Basic Routing
The IPAddr Type
Host Canonical Name and Addresses Lookup
Services
Ports
The TCPAddr Type
TCP Sockets
TCP Client
A Daytime Server
Multithreaded Server
Controlling TCP Connections
Timeout
Staying Alive
UDP Datagrams
Server Listening on Multiple Sockets
The Conn, PacketConn, and Listener Types
Raw Sockets and the IPConn Type
Conclusion
Chapter 4:Data Serialization
Structured Data
Mutual Agreement
Self-Describing Data
Encoding Packages
ASN.1
ASN.1 Daytime Client and Server
JSON
A Client and A Server
The Gob Package
A Client and A Server
Encoding Binary Data As Strings
Protocol Buffers
Installing and Compiling Protocol Buffers
The Generated personv3.pb.go File
Using the Generated Code
Conclusion
Chapter 5:Application-Level Protocols
Protocol Design
Why Should You Worry?
Version Control
The Web
Message Format
Data Format
Byte Format
Character Format
A Simple Example
A Stand-Alone Application
The Client-Server Application
The Client Side
Alternative Presentation Aspects
The Server Side
Protocol:Informal
Text Protocol
Server Code
Client Code
Textproto Package
State Information
Application State Transition Diagram
Client-State Transition Diagrams
Server-State Transition Diagrams
Server Pseudocode
Conclusion
Chapter 6:Managing Character Sets and Encodings
Definitions
Character
Character Repertoire/Character Set
Character Code
Character Encoding
Transport Encoding
ASCII
ISO 8859
Unicode
UTF-8, Go, and Runes
UTF-8 Client and Server
ASCII Client and Server
UTF-16 and Go
Little-Endian and Big-Endian
UTF-16 Client and Server
Unicode Gotchas
ISO 8859 and Go
Other Character Sets and Go
Conclusion
Chapter 7:Security
ISO Security Architecture
Functions and Levels
Mechanisms
Data Integrity
Symmetric Key Encryption
Public Key Encryption
X.509 Certificates
TLS
A Basic Client
Server Using a Self-Signed Certificate
Conclusion
Chapter 8:HTTP
URLs and Resources
i18n
HTTP Characteristics
Versions
HTTP/0.9
HTTP/1.0
HTTP 1.1
HTTP Major Upgrades
HTTP/2
HTTP/3
Simple User Agents
The Response Type
The HEAD Method
The GET Method
Configuring HTTP Requests
The Client Object
Proxy Handling
Simple Proxy
Authenticating Proxy
HTTPS Connections by Clients
Servers
File Server
Handler Functions
Bypassing the Default Multiplexer
HTTPS
Conclusion
Chapter 9:Templates
Inserting Object Values
Using Templates
Pipelines
Defining Functions
Variables
Conditional Statements
The html/template Package
Conclusion
Chapter 10:A Complete Web Server
Browser Site Diagram
Browser Files
Basic Server
The listFlashCards Function
The manageFlashCardsFunction
The Chinese Dictionary
The Dictionary Type
Flashcard Sets
Fixing Accents
The ListWords Function
The showFlashCards Function
Presentation on the Browser
Running the Server
Conclusion
Chapter 11:HTML
The html/template Package
Tokenizing HTML
XHTML/HTML
JSON
Conclusion
Chapter 12:XML
Unmarshalling XML
Marshalling XML
Parsing XML
The StartElement Type
The EndElement Type
The CharData Type
The Comment Type
The ProcInst Type
The Directive Type
XHTML
HTML
Conclusion
Chapter 13:Remote Procedure Call
Go’s RPC
HTTP RPC Server
HTTP RPC Client
TCP RPC Server
TCP RPC Client
Matching Values
JSON
JSON RPC Server
JSON RPC Client
Conclusion
Chapter 14:REST
URIs and Resources
Representations
REST Verbs
The GET Verb
The PUT Verb
The DELETE Verb
The POST Verb
No Maintained State (That Is, Stateless)
HATEOAS
Representing Links
Transactions with REST
The Richardson Maturity Model
Flashcards Revisited
URLs
ServeMux (The Demultiplexer)
Content Negotiation
GET /
POST /
Handling Other URLs
The Complete Server
Client
Using REST or RPC
Conclusion
Chapter 15:WebSockets
WebSockets Server
The golang.org/x/net/websocket Package
The Message Object
The JSON Object
The Codec Type
WebSockets over TLS
WebSockets in an HTML Page
The github.com/gorilla/websocket Package
Echo Server
Echo Client
Conclusion
Chapter 16:Gorilla
Middleware Pattern
Standard Library ServeMux Examples
Customizing Muxes
gorilla/mux
Why Should We Care
Gorilla Handlers
Additional Gorilla Examples
gorilla/rpc
gorilla/schema
gorilla/securecookie
Conclusion
Chapter 17:Testing
Simple and Broken
httptest Package
Below HTTP
Leveraging the Standard Library
Conclusion
Appendix A:Fuzzing
Fuzzing in Go
Fuzzing Failures
Conclusion
Appendix B:Generics
A Filtering Function Without Generics
Refactor Using Generics
Custom Constraints
Using Generics on Collections
How Not to Use Generics?
Conclusion
Index
About the Authors
Jan Newmarch
was head of ICT (higher education) at
Box Hill Institute before retiring, and still
is adjunct professor at Canberra
University, and adjunct lecturer in the
School of Information Technology,
Computing and Mathematics at Charles
Sturt University. He is interested in more
aspects of computing than he has time to
pursue, but the major thrust over the last
few years has developed from user
interfaces under UNIX into Java, the Web,
and then into general distributed
systems. Jan developed a number of
publicly available software systems in these areas. For the last few
years, he had been looking at sound for Linux systems and
programming the Raspberry Pi’s GPU. He is now exploring aspects of
the IoT and Cyber Security. He lives in Melbourne, Australia, and enjoys
the food and culture there, but is not so impressed by the weather.
1. Architectural Layers
Jan Newmarch1 and Ronald Petty2
(1) Oakleigh, VIC, Australia
(2) San Francisco, CA, USA
Protocol Layers
Distributed systems are hard. There are multiple computers involved,
which have to be connected in some way. Programs have to be written
to run on each computer in the system, and they all have to cooperate
to get a distributed task done.
The common way to deal with complexity is to break it down into
smaller and simpler parts. These parts have their own structure, but
they also have defined means of communicating with other related
parts. In distributed systems, the parts are called protocol layers, and
they have clearly defined functions. They form a stack, with each layer
communicating with the layer above and the layer below. The
communication between layers is defined by protocols.
Network communications require protocols to cover high-level
application communication all the way down to wire communication
and the complexity handled by encapsulation in protocol layers.
OSI Layers
The function of each layer from bottom to top is as follows:
The Physical layer conveys the bit stream using electrical, optical, or
radio technologies.
The Data Link layer puts the information packets into network
frames for transmission across the Physical layer and back into
information packets.
The Network layer provides switching and routing technologies.
The Transport layer provides transparent transfer of data between
end systems and is responsible for end-to-end error recovery and
flow control.
The Session layer establishes, manages, and terminates connections
between applications.
The Presentation layer provides independence from differences in
data representation (e.g., encryption).
The Application layer supports application and end-user processes.
A layer in the OSI model often maps to a modern protocol; for
example, the IP from TCP/IP maps to the Network layer, also known as
layer 3 (Physical is layer 1). The Application layer, layer 7, maps to
HTTP. Some protocols like HTTPS seem to blend layers, 5 (Session) and
6 (Presentation). No model is perfect; alternatives exist to the OSI
model that maps closer to a given reality, such as the TCP/IP protocol
model.
TCP/IP Protocol
While the OSI model was being argued, debated, partly implemented,
and fought over, the DARPA Internet research project was busy building
the TCP/IP protocols. These have been immensely successful and have
led to The Internet (with capitals). This is a much simpler stack, as
shown in Figure 1-2.
Figure 1-2 The TCP/IP protocols
Networking
A network is a communications system for connecting end systems
called hosts. The mechanisms of connection might be copper wire,
Another Random Scribd Document
with Unrelated Content
»Susanne udi särkjen,»
som dros me di fele gobbe,
»Napoleon po hviden håss,»
»Röverne po kåss,»
»Jakobs stije»
å, »Lurifax udi sitt rije,» – – – – –
Första gången jag och min yngre bror skulle som aktiva deltagare
bevista ett husförhör, var en händelse, som ej så lätt glömdes. På
det att vi ej genom okunnighet eller förvirring skulle draga skam
över huset, hade prosten i förväg låtit oss veta vad han ämnade
höra oss på och det kunde vi så blankt som ett rinnande vatten, det
var ej tvivel om den saken. Själv lotsade jag mig lyckligt igenom alla
skär, men min lille bror råkade värre ut. Under sitt långa förhör med
alla gubbar och gummor hade prosten kanske hunnit att bliva en
smula trött, innan turen kom till oss; nog av, han glömde av sig och
gav den stackars pysen en helt annan fråga än överenskommit var.
Fasa och förvirring stodo tydligt att läsa i piltens anlete och till slut
framstammade han, med gråten i halsen: »Men de va ju alls inte
den frågan ja skulle få.» Ja, det var ju förargligt nog, prosten gjorde
en liten grimas och ett löje spred sig över alla de närvarande, hur
angelägna de än voro att uppföra sig på alla vis passande.
Nu var det endast att hoppas att prostens tjänstfolk skulle reda sig
bättre, och det gjorde de. Per överträffade sig själv, där han
snurrade fram med sitt »arbete befordrar hälsa och välstånd» i en
rent av svindlande fart, och hans triumferande min, då han efter
detta mästerprov återvände till sin plats, låter sig ej beskriva.
Det var ett stort nöje, på söndagsmornarna, att stå bakom
staketet och titta på kyrkfolket, då de passerade förbi. Särskilt
märkvärdiga sågo gummorna ut, i sina vita klutar, det enda som
ännu kvarstod av den gamla, vackra Vemmenhögsdräkten, och med
de vida vadmalskjolarna uppslagna över huvudet, som skydd mot
damm eller regn, varvid de breda brandgula skoningarna gjorde en
synnerligen anmärkningsvärd effekt. I handen buro de, utom en
väldig psalmbok, även en omsorgsfullt hopvecklad näsduk och en
lavendelkvist.
Mannarna buro mörkblå eller svarta vadmalsjackor, stundom även
väst med silverknappar, för övrigt var även här nationaldräkten
bortlagd. Den ståtligaste och förnämligaste bland dem alla var
otvivelaktigt den bekante riksdagsmannen Per Nilsson i Espö. Han
var obestridligen en vacker man, med nästan sydländskt utseende,
granna färger, bruna, blixtrande ögon samt en viss elegans över hela
sitt framträdande.
Per Nilsson var alltid gärna sedd i prästgården. Prosten, som själv
under en följd av år varit med vid ståndsriksdagarna, åhörde alltid
med odelat intresse hans livfulla framställning av förhållandena
däruppe och prostinnan var ej mindre road, ty han var både kvick
och underhållande och lade därtill i dagen en viss ridderlig
uppmärksamhet, som just ej var någon vanlig företeelse där nere.
Han talade ledigt och obesvärat och fällde ofta mycket träffande
yttranden; ett av dessa har ofta senare runnit mig i hågen och det
tyckes mig innebära en stor sanning: »man sjunger när man är
ledsen och man sjunger när man är glad, men man sjunger aldrig
när man har något ont i sinnet.»
För att återgå till söndagen, så var nöjet att få bevista själva
gudstjänsten, ej så alldeles oblandat, så länge man var barn och ej
ännu kunde förstå hur stor andlig talare prosten var. Det var ej så
lätt att sitta stilla under hela den långa predikan, så som man var
befalld, och ej heller fanns det synnerligen mycket i den lilla, lantliga
kyrkan, som kunde fängsla uppmärksamheten.
Det märkvärdigaste var predikstolen med de fyra evangelisterna,
målade i granna färger, samt en i trä utskuren bild av den törnkrönte
Kristus, placerad på väggen omedelbart framför prästgårdsbänken,
ett ganska primitivt arbete, både vad skulptur och målning beträffar.
Någon altartavla fanns ej, lika litet som kyrkan på den tiden ägde
någon orgel. Så mycket mera ostört kunde man uppfatta den gamle
klockarens sång, hans förmåga att hålla ut sluttonen i all oändlighet,
och framför allt hans vidunderliga textuttal. Då han t. ex. skulle
stämma upp: »O, du härlighetens sken,» hann han vid detta O, att
glida genom hela skalan av vokaler, tills han slutligen bestämde sig
för den sista och det blev alltså ett långdraget ö-ö, som basunades
ut med häpnadsväckande styrka.
Under sommaren, då solen sken in genom fönsterna och luften
kändes kvav av blomsterdoft och hemvävda kläder, hände det nog
att gummorna nickade till då och då, tills de med ett ryck foro upp,
yrvakna och förlägna. Och det var lustigt att se hur flitigt
lavendelkvistarna sedan användes, såsom en lämplig väckelse och
påminnelse att ej åter duka under för sömnbegäret. Dock hade de
alltid efteråt fullt klart för sig att det var »en farlit granner» predikan
de hört. Därom voro de alltid mycket angelägna att upplysa
prostinnan, då hon efter slutad gudstjänst underhöll sig med dem.
Samtalet övergick likväl snart nog till mera världsliga ting; det
handlade både om kalvar och grisar, vävnad och spånad och mycket
annat, som det ej alls var ledsamt att åhöra ovanpå all
högtidligheten.
Prästgårdsjul.
––––––––––––––––––––––
J ulen med sina många helgdagar, sin vila och frid var länge sedan
förbi. »Julastuerne», där ungdomen svängt om med lust och
fröjd, i den ena gården efter den andra voro ett minne blott.
Kyndelsmässan med frost och snöstormar, de s. k.
kyndelsmässoknutor, var även överstånden och nu var man inne i
fastan. Den hade inletts med allehanda upptåg, man hade »slagit
katten ur tunnan» och utfört den omtyckta tävlingskamp, som
kallades att »ta ringarna», och därefter hade de unga, anförda av
segraren, »kungen», och hans utvalda drottning, återigen dansat
nere i riksdagsmannens gård, där den stora sommarstuen
godhetsfullt upplåtits för ändamålet. Nu var tiden inne att rusta sig
till bröllop i de gårdar, där man till äventyrs hade någon dotter att
bortgifta, innan påsken kom för nära, då det ej ansågs lämpligt att
fira några stora fester.
Så var fallet hos Hans Anders’ i B. där den unga dottern skulle
gifta sig med åbosonen Per Jeppsson i samma by. Det hade varit ett
gammalt tycke och som förmögenhetsvillkoren voro å ömse håll
passande och ägorna gränsade intill varandra, kunde förbindelsen ej
annat än anses i hög grad önskvärd. I bröllopsgården hade rått stor
brådska både med utstyrsel och förberedelser till det stora gästabud
varmed den lyckliga tilldragelsen skulle firas.
Nu, då bröllopsdagen var inne, stod gården fejad och fin utan och
innan, ladugårdsbyggnaderna nykalkade med nymålade dörrar och
halmtaket på boningshusets norra sida var omlagt skinande gult,
medan det på andra sidan var grönskande och mossbelupet.
Rummen voro prydda med präktiga vävnader, täcken och bonader,
gamla skatter hämtade ur de väldiga kistorna i kistekammaren, där
de bevarats under generationer. De företedde vackra prov på
urgammal hemslöjd, dessa vävnader i rödlakan, flamskt, krabbasnår,
opphämta och allt vad det nu heter.
En stor skara gäster väntades, släktingar från när och fjärran,
prostens, klockarens, naboarna och för övrigt alla, som kunde anses
stå i förbindelse med värdfolket. De voro visserligen anmodade att
komma redan kl. 12 på dagen, men naturligtvis var ingen så
»förveten», att han ville infinna sig så dags, och det tog också sina
rundliga timmar, innan alla voro samlade. Ej förrän närmare två kom
prostfamiljen inrullande i den blanka och skinande kareten, som
högtiden till ära med ovanlig omsorg putsats av Per, prästadrängen.
Gästerna mottogos ute i förstugan av Far själv, som leende och
gemytlig, skötte sitt nog så krävande värdskap. Han assisterades
visserligen, utom av sonen, även av två marskalkar – målaren och
skräddaren, – vilka vid alla större gillen hade sig detta viktiga värv
anförtrott och därför också utvecklade en otrolig säkerhet och
snabbhet.
Förstugan som sträckte sig tvärs genom hela längan, med utgång
även åt trädgården, hade dessutom tre dörrar, åt höger var det dels
ingång till den stora gillessalen, »sommarstuen», som saknade
eldstad, dels till kistekammaren med alla dess skatter. Från vänster
kom man in i ett stort rum, stuen, som, även det, upptog hela
husets bredd, med två par fönster åt vardera hållet. En väggfast
bänk omgav på tre sidor det väldiga bordet, där måltiderna i
vardagslag intogos av såväl husbondfolk som tjänare, med högsätet
uppe vid översta bordändan, där Far och Mor presiderade.
Möbleringen för övrigt bestod av en stor säng, avsedd för husets
döttrar, några trästolar, en kakelugnsbänk, ett hängskåp, –
matskåpet, – ej att förglömma den inmurade järnkakelugnen med
Sankt Göran och draken på. I fönsterna blommade »brinnande
kärlek» och toffelblommor, – man såg att de trivdes bakom de små,
låga rutorna och att de sköttes med kärleksfull omsorg.
Manfolken fingo stanna inne i stuen, men fruntimmerna visades in
i kammaren, där den stora »himlingasängen», blåmålad och prydd
med tulipaner och blader, intog en framskjuten plats. Och nu började
trakteringen. Först körsbärsvin och klenäter och sedan kaffe ur stora
porslinskannor, med präktiga vetekakor och annat dopp, allt under
det den ena vagnen efter den andra kom inskramlande på den
stenlagda och kringbyggda gården.
Prostinnan, som var språksam och »gemen», konverserade flitigt
med gummorna, som sutto runt väggarna, en smula högtidliga, med
näsduken i hand, och avgåvo sina svar med stor värdighet.
Äntligen, efter lång väntan, och sedan det befunnits, att alla voro
samlade, ombads man att stiga in i stora salen, där vigseln skulle
försiggå. På den tiden förekommo ej kyrkbröllop annat än
undantagsvis. Det är först i senare tid de tagit fart, liksom de längre
tillbaka i tiden, under förra hälften av 1800-talet, voro brukliga och
då försiggingo med stor ståt, förridare, spelmän, o. s. v.
Här, i den stora salen, var ett stort hästskobord dukat och prytt
med ståtliga spettkakor, en mångfald av ölkrus av brokigt porslin och
fint utsirade smörtoppar eller »smörslag», skickligt placerade på
runda såsskålar. Mitt på golvet hade brudpallen fått plats, höljd av
ett konstrikt vävt ylletäcke, för övrigt inga dekorationer, som kunde
tyda på, att en brudvigsel här skulle äga rum.
På ett givet tecken ställde prosten sig framför pallen med
klockaren på något avstånd. Allas blickar riktades mot dörren, då
brudparet skred in, bruden klädd i svart paramattaklänning, slöja,
krans och krona, medan en väldig myrtenbrosch sammanhöll kragen.
Brudgummen bar bonjour och vit halsduk, frack förekom ej på den
tiden. De unga sågo så bra ut; en något högre färg på kinderna än
vanligt var det enda tecknet på en möjligen inneboende
sinnesrörelse, vilken ej ansågs passande att visa i utvärtes åthävor.
Klockaren, den gamle kantor Malm, stämde upp en psalm, varefter
prosten förrättade vigseln slutande med några hjärtliga ord till
kontrahenterna, vilka båda voro hans läsbarn. Så sjöngs »Ej blott för
världen två», etc. och nu deltogo alla efter förmåga i sången, särskilt
voro några av mannarna skickliga i att hålla ut sluttonen, nästan lika
länge som själva klockaren. Akten var över och de unga
sammanvigda utan några som helst äventyr, ringen hade ej tappats,
paret hade läst upp formuläret utan att staka sig och allt var som det
skulle vara.
Brudpallen togs bort och nu borde ju måltiden kunna taga sin
början när som helst. Men ingalunda! Nu kom det kinkigaste av
alltsammans, att söka upp de närmaste kvinnliga anförvanterna,
vilka plötsligt försvunnit. I känslan av sin värdighet och sin rättighet
att vid bordet bliva placerade på de förnämligaste platserna hade de
gömt sig på de mest otroliga ställen och det tog en rundlig tid att
hitta dem och få dem fram till sina platser. Nå, äntligen hade man
kommit så långt, och där sutto nu alla, brudparet i mitten, prosten
bredvid brudgummen, därnäst klockaren och så alla mannarna i tur
och ordning. Prostinnan satt bredvid bruden, med klockarfrun vid sin
andra sida, bredvid dem värdinnan och därefter alla de närmaste
kvinnliga anförvanterna.
Sedan en rundlig tid anslagits åt den tysta bordsbönen, steg
målaren-marskalken upp på en trästol och utropade med ljudlig
stämma: »Å värdfolkets vägnar får jag be alla gästerna vara så bra å
ta te knivarna», vilken blev en signal till ett kraftigt och samfällt
angrepp mot smörtopparna, varvid stora »rundenomsmatar»
breddes och förtärdes med strykande aptit. Därpå följde den
egentliga festmåltiden, vilken börjades med en makalös soppa, kokt
på många olika slags kött och försedd med i fyrkantiga tärningar
skurna klimpar samt russin. Denna utmärkta gillessoppa glömmer
man ej så lätt, då man en gång smakat den. Därpå följde kötträtten,
som bestod av pepparrotskött och salt gåskött, så risgrynspudding
med saftsås och därefter hönsstek. Och slutligen kom det viktiga
ögonblick, då de många spett- och sockerkakorna skulle skäras och
utdelas. Det hörde till, att varje mora som fört en dylik kaka till
gården själv skulle skära den, vilket ej skedde utan mycket
krusande, men slutligen kunde då de sönderstyckade kakorna
serveras, tillika med ytterligare stora fat s. k. krumkakor. Under
denna ceremoni kringbjödo marskalkarna »malagat» vin, två glas i
stöten på en porslinstallrik, ty några glas funnos ej framsatta på
bordet, utan gästerna fingo dricka i tur och ordning av samma glas.
De enda som fingo behålla sina glas var brudparet, förmodligen med
tanke på den skål som skulle tömmas för dem. Prosten hade ej
heller fattat sitt glas, förrän han i kraftiga, kärnfulla och varma
ordalag talade till sina skriftebarn, som nu ingått i det heliga äkta
ståndet, och föreslog deras skål. Man drack under högtidlig tystnad,
utan de skallande hurrarop som nu äro så vanliga.
Nu förekom en ganska lustig sed; varje fruntimmer medförde,
förutom den näsduk, som hela tiden skickligt manövrerades i ena
handen, även en stor, som var dold i någon undangömd ficka. Dess
ändamål var ganska påtagligt; då gästerna nödvändigt måste taga
för sig av alla de kakor, som av olika personer tillförts huset, var det
ju ej tanke på att alla kunde ätas upp omedelbart efter den bastanta
måltiden. De lades därför omsorgsfullt ned i denna stora näsduk,
vilken hopknöts i alla fyra hörnen, och då man reste sig upp från
bordet, bar var och en sitt knyte, ända från prostinnan och ned till
den mest obemärkta av gummorna.
Nu, när måltiden efter dryga timmar äntligen var slut, togo alla
gästerna varandra i hand med den fromma önskningen »väl
bekomme», vilken onekligen var berättigad. Alla promenerade ut
från salen och spredo sig i angränsande rum; mannarna svalkade sig
ute i förstugan eller tände sina pipor inne i stuen, där snart
kortspelet kom i gång, knack eller fem kort. En stark toddy av
arraksrom satte fart i spelet.
Fruntimmerna samlades inne i kammaren, där bruden »satt i
stass» och gav blyga och sävliga svar på alla spörsmål. Innan man
slagit sig till ro, hade emellertid alla upphängt sina »kageknyden» i
takbjälkarna och det var en ganska underlig syn att se taket, såväl i
stugan som i kammaren, garnerat med dessa pösande knyten.
Bjälkarna användes för övrigt även för andra ändamål; så omnämner
Nicolovius i »Folklivet i Skytts härad», att bönderna hade sin egen
bokföring i bjälkarna i taket, och han tillägger: »Med
skrivkunnigheten insmög sig bedrägeriet». Att de alltjämt
begagnades till detta ändamål utvisade en rad otydbara hieroglyfer,
som ingen oinvigd förmådde tolka.
Under tiden avdukades och undanskaffades borden i stora salen,
golvet sopades med våt sand, och de två byspelemännen inträdde
med sin fejla och sin klarinett. Efter ett omsorgsfullt stämmande,
varvid ett betänkligt oljud uppstod spelade de upp en gammal, sirlig
vals, vars toner ännu så långt efteråt ljuda i ens öron. Alla samlades
i balsalen, brudparet öppnade balen med någon förlägenhet, och
efter dem trängdes och knuffades en mängd olika par, alla dansande
var på sin fason, men med beundransvärd taktfasthet och säkerhet.
Muraren och sotaren Widerberg dansade med snugga i munnen, rak
i ryggen och så smal, att han gott kunde krypa genom en
skorstenspipa, med stor skicklighet svängande sin dam, den ena
efter den andra och slutligen mor själv, som han lotsade genom
virveln av dansande par med en vighet, som gjorde heder åt hans
yrke. Sedan dansades en gammaldags skånsk kadrilj. Och nu
deltogo alla, både gamla och unga. Den elegans som utvecklades i
figuréerna, parad med orubbligt allvar, den frammarsch, än rakt
fram, än från sidan, som gjordes mot moitiéen, vilken av den starke
riddaren lyftes högt upp, då han svängde om med henne, torde i
våra dagar sakna sitt motstycke. Troligen har denna gamla hederliga
dans numera utträngts av de moderna boston- och stepdanserna,
men det är att hoppas, att den gamla präktiga kadriljen åter kommer
till heders i all sin glans.
Det led mot småtimmarna, innan någon tänkte på att avbryta
detta glada gille, men då voro de nygifta de första som bröto upp.
De »försvunno» ej, som bruket är nutilldags, utan togo omsorgsfullt
farväl av alla gäster, föräldrar och syskon, utan att å någondera
sidan några känslor lades i dagen, vilket ej ansågs
överensstämmande med god ton. Då de satt sig upp i sin vagn, som
kördes av brudgummen själv, och var prydd med ett vackert, av
bruden vävt täcke och sedan de hunnit utom porten, stodo de unga
männen där och avfyrade det ena pistolskottet efter det andra
såsom en lämplig salut och väl även som ett varsel om framtida
lycka och framgång.
Prostfamiljen avlägsnade sig därpå och småningom följde de
övriga gästerna exemplet. Och det var nog väl behövligt, ty gillet
skulle stå i dagarna tre, och både värdfolk och tjänsteandar behövde
andrum för att rusta sig till nya strider.
På fjärde dagen bespisades husmansfolket i byn och grannskapet,
och det tog nog sin dryga tid, innan allt kom i sina vanliga gängor
och det vanliga vardagslivet åter tog sin början i den gamla
hederliga gården.
Fastlagsris och snöstormar.
Kjellstorps prästgård.
Kjellstorp.
D et var alltid med samma glädje man från prostgården begav sig
till Kjellstorp, antingen det nu var i vardagslag eller det gällde
mera festliga tillfällen. Kanske var det förra allra roligast, då,
som ofta hände, de unga vandrade dit på förmiddagen och de gamle
kommo senare på dagen, till eftermiddagskaffet.
Själva promenaden var i och för sig ett nöje. Man kände så väl till
den vägen, varje krök, varje gård man hade att passera, nästan
varje sten; ja, man kunde närapå gå med förbundna ögon och ändå
på pricken veta var man skulle vika av.
Så fort man hunnit in om dörrarna, kände man genast den
obeskrivliga trevnad, som var något alldeles speciellt för det gamla
hemmet. Man kom dit en vinterdag, litet frusen och väderbiten efter
promenaden, och man erfor genast en ljuvlig yttre och inre värme.
Man fann familjen i fullt arbete, ty det var verkligen ett flitens
hemvist och minuterna förspilldes visserligen ej, men arbetet gick
alltid med ett harmoniskt lugn, som verkade lika välgörande som det
goda humör varmed det skedde. Båda delarna, både humöret och
fliten voro smittosamma och gästerna voro ej sena att taga fram
sina handarbeten; dock kan det ej nekas att tungorna voro i lika
flitig rörelse som fingrarna.
Det hela står livligt inpräglat i minnet; den lilla prostinnan,
svängande sin bobin med en kraft som man knappast kunnat tilltro
en person med den bräckliga kroppshyddan, om man ej lärt sig att
för hennes energi var allt möjligt; husets unga dotter vid
knyppeldynan, med skickliga små fingrar hanterande de skramlande
pinnarna och den lärde prosten Kristoffer, som kom direkt in från sin
studiekammare, bara för att hälsa, men sedan genast återvände till
sina kära grekiska klassiker. Han hade i alla fall tid till en liten vänlig
klapp och ett hjärtligt »du lilla kära», – alltid så god som ett
nymorgnat barn.
Så kom gamla jungfru Cecilia in med kaffet i en stor, hemtrevlig
pumpa och blev vanligen anmodad att stanna inne och få en kopp,
hon med. Hon slog sig ned, litet ytterligt på stolkanten, slog kaffet
på téfatet, blåste på det och drack på bit.
Cecilia var mycket gammal i gården och hade därför också en hel
del att säga. Hon var mycket respektingivande, myndig och bred,
hade bruna ögon, brunt hår, bar merendels en brun
»värkensklänning» och var, så tyckte man, en alltigenom brun
uppenbarelse, som vakade över det gamla hemmet med outtröttligt
nit.
Tillsammans med husets övriga tjänare delade hon i ens
föreställning den egenskapen, att hon tycktes ha funnits till sedan
tingens begynnelse, eller åtminstone lika länge som den gamla
prästgården stått. Man hade aldrig sett något annat, och inte såg
det heller ut att kunna bliva annorlunda. Där var den gamla
husjungfrun som bestraffade och smekte oss barn, allt efter
omständigheterna; där var »gamla prostinnans» stöd och hjälpreda,
Else, och där var drängen »Ola Tegnér».
Det bör anmärkas, att alla ortens drängar, eller kuskar på finare
språk, ärvde sina respektive husbönders tillnamn eller titlar, sålunda:
Ola Tegnér, Kalle Sekter, Anders Doktor, o. s. v.
Ola Tegnér var kvick och smidig, ägde den berömda skånska
»fiffigheten» och liknade troligen Per i Espö i det avseendet, att om
han fann det för sin egen person olägligt att skjutsa, då familjen ville
ut på någon lustresa, sökte han vanligen under allehanda
förevändningar övertyga prosten om att »han hade annet å udrette
med hästene.»
Vad prosten i Espö beträffar, så visste han i allmänhet mycket väl
vad han ville, men det faktum, att han i vissa fall lät sig regeras av
Per, torde ej kunna förnekas. Det hände ofta nog, då familjen ville ut
och färdas och prosten i försiktiga ordalag delgav Per deras avsikt,
att han fick det svaret: »ded e’ omojelet forr hvarkens ja elle
hästane har tid, – te mingstenes inte ja.» Och prosten kom tillbaka,
bedrövad i hågen, ehuru till synes ganska morsk, och förklarade att i
dag var det ej tal om någon lustresa, det var alltför mycket som
skulle uträttas. Emellertid är det troligt att prostinnan i Kjellstorp ej
lät sig så lätt övertygas, utan tog, bildlikt talat, själv tyglarna och
kommenderade fram ekipaget, Ola och hans viktiga göromål till
trots.
Gamla prostinnan, – mormor – bodde nere i flygeln och det hörde
alltid till att man skulle göra ett besök hos henne, varje gång man
var i prästgården. Hon satt där, i sin bekväma stol, så fin och prydlig
i sin vita mössa med krus och »slyngade» snodder över en liten brun
trägaffel, var mycket gammal, men kry och livlig och hade stor
respekt med sig, även hon. Hade man gjort någon dårskap fick man
veta av det på ren svenska, och därför begick man helst inga
dårskaper, åtminstone ej före visiten i flygeln. Dock var hon både
älskad och vördad av sin omgivning och förtjänade det även.
I hennes lilla värld där nere intog den gamla taffeln och de
oändliga massor musikalier hon ägde främsta rummet; ty hon var
ovanligt musikalisk och spelade oaktat sin höga ålder förvånande
skickligt.
Lyckliga omständigheter hade fogat det så, att hennes genbo och
trogne kavaljer, den gamle adjunkten, var en fullkomlig musikvurm
och trakterade sin »gumma», som han kallade violoncellen, med
mycken skicklighet. Båda älskade klassisk musik framför allt,
använde åtskilliga timmar av dagen att spela duetter, och tack vare
detta gemensamma intresse uppstod mellan dem en vänskap, som
var verkligt rörande.
Den gamle pastorn, som var ett stort original och såg mycket
lustig ut, kunde vara både rolig och kvick och var full av historier och
uttryck, ofta lika befängda, båda delarna.
Till denna rad av vad man som barn tyckte, urgamla människor,
må även räknas den gamle klockaren Schultz, som ofta uppenbarade
sig i prästgården. Han var allt ett original, han med, och särskilt
erinrar jag mig ett tillfälle, då han fällde ett yttrande, som sedan
nästan blivit ett ordspråk.
En dag voro Espöborna inbjudna till Kjellstorp, med anledning av
sonen Elofs återkomst från sin första italienska resa. Med livligaste
intresse hade alla lyssnat till hans glansfulla framställning av sina
reseintryck och då han slutat, sutto alla till en början helt tysta, ännu
fyllda av de bilder, som på ett så levande sätt rullats upp för dem. Då
höres Schultzens röst bryta genom tystnaden, och han frågar: »Hur
är det, regnar det något i utlandet»? Det föreföll mycket löjligt, men
som det varit en ovanligt regnig sommar, och gubben säkerligen var
bekymrad för sitt lilla lantbruk, förstod man att detta var den fråga
som låg honom mest om hjärtat. Vad svar den unge magistern gav,
erinrar jag mig ej, men väl att munterheten blev stor efter detta
lustiga intermezzo.
De glada besöken i Kjellstorp avslutades ofta med sång och musik.
»Nu vill far höra några av farfars sånger», kunde barnen säga,
pianot slogs upp och snart ljöd den ena efter den andra av de gamla
sångerna, »Nu han svävade kring», »Till tings, till tings» eller »Kung
Ring med sin drottning till gästabud far». Då brukade den gamle
prosten stå bredvid, ögonen strålade, ett lyckligt leende spred sig
över de något fårade dragen och den kära pipan slocknade, medan
han helt sakta för sig själv viskade de välkända orden. Och han
tröttnade aldrig, men till slut avbröt prostinnan konserten med ett
manande: »Barn små, nu kunna ni behöva lite mat».
Det tyckte hon visst alltid att man behövde och då man kom in i
salen och såg den rikliga trakteringen, begrep man att hon hade en
hög tanke om sina gästers aptit. Och det vore visserligen orätt att
säga att denna hennes tanke kom på skam.
I alla fall, (dock med någon modifikation beträffande
måttligheten), kände man sig alltid frestad efter ett besök i
Kjellstorps prästgård att instämma i Franzéns ord:
»Efter en kväll,
måttligen njuten,
fredligen sluten,
sover man roligt och vaknar man säll.»
Hänryckningens tid.
» Entrappan
sådan vacker pingst vi få i år», sade prosten, där han stod på
och lät blicken famna all försommarens härlighet.
Han hade rätt, det var en fager syn, som mötte ögat. På den stora
gräsplanen prunkade de gamla, vackra fruktträden i högtidsskrud,
det var som en enda jättebukett i vitt och skärt, av vars överflöd
marken inunder täcktes med ett vitt, mjukt hölje. Vid infartsvägen
stodo de präktiga kastanjerna i rikaste blom, och bokarna, prostens
stolthet, hade just hunnit ersätta den bruna vinterhabiten med en
sommardräkt av ljusaste grönska, ännu mera framträdande mot allt
det vita.
Espö prästgård från trädgårdssidan.