routestring

package
v0.21.48 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2024 License: Apache-2.0, MIT Imports: 2 Imported by: 2

Documentation

Overview

Package routestring provides a DataClient implementation for setting route configuration in form of simple eskip string.

Usage from the command line:

skipper -inline-routes '* -> inlineContent("Hello, world!") -> <shunt>'
Example
package main

import (
	"fmt"
	"io"
	"log"
	"net/http"
	"time"

	"github.com/zalando/skipper"
	"github.com/zalando/skipper/dataclients/routestring"
	"github.com/zalando/skipper/routing"
)

func main() {
	rs, err := routestring.New(`* -> inlineContent("Hello, world!") -> <shunt>`)
	if err != nil {
		log.Println(err)
		return
	}

	go func() {
		skipper.Run(skipper.Options{
			Address:           ":9999",
			CustomDataClients: []routing.DataClient{rs},
		})
	}()
	// Wait for Skipper to start
	time.Sleep(100 * time.Millisecond)

	rsp, err := http.Get("http://localhost:9999")
	if err != nil {
		log.Fatal(err)
	}
	defer rsp.Body.Close()

	content, err := io.ReadAll(rsp.Body)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(string(content))

}
Output:

Hello, world!

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(r string) (routing.DataClient, error)

New creates a data client that parses a string of eskip routes and serves it for the routing package.

Types

This section is empty.

Jump to

Keyboard shortcuts

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