Project in Go Skill Tree

Transparent Modification of HTTP Requests

Beginner

In this project, you will learn how to implement a transparent modification of HTTP requests using Go's `http.RoundTripper` interface. You will create a custom HTTP transport that calculates the MD5 hash of the request body and adds it to the request header as the 'X-Md5' field.

Go

Introduction

In this project, you will learn how to implement a transparent modification of HTTP requests using Go's http.RoundTripper interface. You will create a custom HTTP transport that calculates the MD5 hash of the request body and adds it to the request header as the "X-Md5" field.

👀 Preview

$ /usr/local/go/bin/go test
PASS
ok      md5transport    0.004s

🎯 Tasks

In this project, you will learn:

  • How to encapsulate the http.RoundTripper interface to perform custom operations on HTTP requests and responses.
  • How to calculate the MD5 hash of the request body and add it to the request header.
  • How to reset the request body after calculating the MD5 hash to maintain the original request state.

🏆 Achievements

After completing this project, you will be able to:

  • Understand the concept of transparent modification of HTTP requests in Go.
  • Implement custom HTTP transport layers that can perform various operations on requests and responses.
  • Apply the knowledge to enhance your own applications with additional functionality, such as authentication, logging, or request/response manipulation.

Teacher

labby

Labby

Labby is the LabEx teacher.