http

package
v0.3.0-20260730200633-... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package http provides shared HTTP client helpers (e.g. base-URL transport) for code that calls external HTTP APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(rawBaseURL string) (*nethttp.Client, error)

NewClient builds an *nethttp.Client with BaseURLTransport configured. Callers are responsible for layering additional transports (e.g. auth) and setting Timeout on the returned client.

Types

type BaseURLTransport

type BaseURLTransport struct {
	// BaseURL is the API base URL (e.g. "https://api.github.com").
	BaseURL *url.URL
	// Next is the underlying RoundTripper. Defaults to nethttp.DefaultTransport if nil.
	Next nethttp.RoundTripper
}

BaseURLTransport is a nethttp.RoundTripper that rewrites every request URL to resolve against a fixed base URL. This allows callers to make requests with relative paths (e.g. "/graphql") and have the transport prepend the configured base URL transparently.

func (*BaseURLTransport) RoundTrip

func (t *BaseURLTransport) RoundTrip(req *nethttp.Request) (*nethttp.Response, error)

RoundTrip rewrites req.URL to resolve against BaseURL, then delegates to Next. The base URL path and request path are joined explicitly so that base URLs with a path component (e.g. "https://ghe.example.com/api") are handled correctly regardless of whether the request path starts with "/".

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL