servers

command module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2022 License: MIT Imports: 4 Imported by: 0

README

servers

A Go module to help with creating and managing servers.

Documentation

Get started
Install

To install, on Terminal or Command Prompt, run go get github.com/MJP8/servers. Include it in your program like this:

package main
import (
	"github.com/MJP8/servers/http"
)
func main() {
	err := http.Init(8080)
	if err != nil {
		return
	}
	http.HandleStaticFile("/", "index.html", "text/html")
	http.Serve()
}
Constants
const ( // error codes
	InternalServerError = 500 // when you run the Error() function only InternalServerError will send the error to the browser
	NotFoundError = 404
	PathError = 402
	FileError = 336
)
Functions
func Error(errCode int, msg string, w ResponseWriter) *ServerError

Error() return a *ServerError.

func HandleCustom(url string, cb func(ResponseWriter, *Request))

HandleCustom() adds a handler for the URL specified. It runs the callback in the cb parameter.

func HandleStaticFile(url string, filename string)

HandleStaticFile() adds a handler for the URL, sending the data in the file.

func HandleTemplate(url string, tmpl *Template)

HandleTemplate() adds a handler for the URL specified, sending the template to the browser. See type Template for more information

func Init(port int)

Init() initiates the server. The parameter port is the port for your server.

func RenderTemplate(w ResponseWriter, tmpl *Template)

RenderTemplate() renders the specified template. Used for inside the callback in the HandleCustom() function.

func Serve()

Serve() starts the web server using the port set in the Init() function.

Types
type Request
type Request = http.Request

Request defines a HTTP request from the net/http library.

type ResponseWriter
type ResponseWriter = http.ResponseWriter

ResponseWriter creates a HTTP response from the net/http library.

type ServerError struct
type ServerError struct {
	Code int
	Msg string
}

ServerError defines an error.

func (s *ServerError) ToErr() error

Converts a ServerError into an variable of type error.

type Template struct
type Template struct {
	Filename string
	Value interface{}
}

Template defines a HTML template.

func NewTemplate(filename string, val interface{}) *Template

NewTemplate() creates a new *Template.
Example:

package main
import (
	"time"
	"github.com/MJP8/servers/http"
)
func main() {
	err := http.Init(8080)
	if err != nil {
		return
	}
	tmpl := NewTemplate("index.html", time.Now().Format("15:04"))
	http.HandleTemplate("/", tmpl)
	http.Serve()
}

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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