server

package
v0.0.0-...-abea403 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2014 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDCD

func NewDCD(c *deje.SimpleClient) *dejeClientData

Types

type Aborter

type Aborter <-chan time.Time

type AliasPageGetter

type AliasPageGetter struct {
	Aliases map[string]string
	Child   PageGetter
}

func NewAliasPageGetter

func NewAliasPageGetter(child PageGetter) AliasPageGetter

func (AliasPageGetter) GetPage

func (apg AliasPageGetter) GetPage(url string, ab Aborter) (Page, error)

type DejePageGetter

type DejePageGetter struct {
	// contains filtered or unexported fields
}

Retrieves DEJE documents, and uses their content

func NewDejePageGetter

func NewDejePageGetter(w io.Writer) DejePageGetter

func (DejePageGetter) GetPage

func (pg DejePageGetter) GetPage(urlstr string, ab Aborter) (Page, error)

type DjdnsServer

type DjdnsServer struct {
	Port       int
	Timeout    time.Duration
	PageGetter PageGetter
	Logger     *log.Logger
}

func NewServer

func NewServer(pg PageGetter) DjdnsServer

Initialize a DjdnsServer with default values.

This does not start service - you still need to call DjdnsServer.Run(), possibly as a goroutine.

func (*DjdnsServer) Close

func (ds *DjdnsServer) Close()

func (*DjdnsServer) GetRecords

func (ds *DjdnsServer) GetRecords(q string) ([]model.Record, error)

func (*DjdnsServer) Handle

func (ds *DjdnsServer) Handle(query *dns.Msg) (*dns.Msg, error)

Construct a response for a single DNS request.

func (*DjdnsServer) Run

func (ds *DjdnsServer) Run(addr string) error

func (*DjdnsServer) ServeDNS

func (ds *DjdnsServer) ServeDNS(rw dns.ResponseWriter, r *dns.Msg)

type FilePageGetter

type FilePageGetter struct {
	Directory string
}

func NewFilePageGetter

func NewFilePageGetter() FilePageGetter

Create a FilePageGetter with default properties

func (FilePageGetter) GetPage

func (fpg FilePageGetter) GetPage(url string, timeout Aborter) (Page, error)

type Page

type Page struct {
	Url     string
	Expired bool
	Data    model.Page
}

type PageGetter

type PageGetter interface {
	GetPage(url string, timeout Aborter) (Page, error)
}

type SchemePageGetter

type SchemePageGetter struct {
	Children map[string]PageGetter
}

Hands off to another PageGetter based on URL scheme

func NewSchemePageGetter

func NewSchemePageGetter() SchemePageGetter

func (SchemePageGetter) GetPage

func (spg SchemePageGetter) GetPage(urlstr string, ab Aborter) (Page, error)

type StandardPGConfig

type StandardPGConfig struct {
	Alias  AliasPageGetter
	File   FilePageGetter
	Deje   DejePageGetter
	Scheme SchemePageGetter
}

func NewStandardPGConfig

func NewStandardPGConfig(w io.Writer) (spgc StandardPGConfig)

Jump to

Keyboard shortcuts

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