Table of Contents
1 Cover
3 Introduction What Does This Book Cover? Reader Support for This Book
4 Getting Started Installing Go Choosing an Editor Installing Protocol Buffer Toolchain Installing Docker Desktop Guide to the Book Go Refresher Summary
5 CHAPTER 1: Writing Command-Line Applications Your First Application Writing Unit Tests Using the Flag Package Improving the User Interface Updating the Unit Tests Summary
6 CHAPTER 2: Advanced Command-Line Applications Implementing Sub-commands Making Your Applications Robust Summary
7 CHAPTER 3: Writing HTTP Clients Downloading Data Deserializing Received Data Sending Data Working with Binary Data Summary
8 CHAPTER 4: Advanced HTTP Clients Using a Custom HTTP Client Customizing Your Requests Implementing Client Middleware Connection Pooling Summary
9 CHAPTER 5: Building HTTP Servers Your First HTTP Server Setting Up Request Handlers Testing Your Server The Request Struct Attaching Metadata to a Request Processing Streaming Requests Streaming Data as Responses Summary
10 CHAPTER 6: Advanced HTTP Server Applications The Handler Type Sharing Data across Handler Functions Writing Server Middleware Writing Tests for Complex Server Applications Summary
11 CHAPTER 7: Production-Ready HTTP Servers Aborting Request Handling Server-Wide Time-Outs Implementing Graceful Shutdown Securing Communication with TLS Summary
12 CHAPTER 8: Building RPC Applications with gRPC gRPC and Protocol Buffers Writing Your First Service A Detour into Protobuf Messages Multiple Services Error Handling Summary
13 CHAPTER 9: Advanced gRPC Applications Streaming Communication Receiving and Sending Arbitrary Bytes Implementing Middleware Using Interceptors Summary
14 CHAPTER 10: Production-Ready gRPC Applications Securing Communication with TLS Robustness in Servers Robustness in Clients