Categorygithub.com/vladimirok5959/golang-server-resources
repositorypackage
1.0.6
Repository: https://github.com/vladimirok5959/golang-server-resources.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

golang-server-resources

Build and mount resources to http server

How to use

go get github.com/vladimirok5959/golang-server-resources
package main

import (
	"net/http"

	"github.com/vladimirok5959/golang-server-resources/resource"
)

func main() {
	res := resource.New()
	res.Add("some1.css", "text/css", []byte(`.some1{display:none}`), 1)
	res.Add("some2.css", "text/css", []byte(`.some2{display:none}`), 1)
	res.Add("some3.css", "text/css", []byte(`.some3{display:none}`), 1)
	res.Add("some4.css", "text/css", []byte(`.some4{display:none}`), 1)
	res.Add("some5.css", "text/css", []byte(`.some5{display:none}`), 1)

	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		// Resource response
		if res.Response(w, r, func(w http.ResponseWriter, r *http.Request, i *resource.OneResource) {
			w.Header().Set("Some-Header", "test")
		}, func(w http.ResponseWriter, r *http.Request, i *resource.OneResource) {
			w.Write([]byte("\n\n/* Path: " + (*i).Path + " */"))
			w.Write([]byte("\n/* Ctype: " + (*i).Ctype + " */"))
		}) {
			return
		}

		// Default response
		w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
		w.Header().Set("Content-Type", "text/html")
		w.Write([]byte(`
			<div>Hello World!</div>
			<div><a href="/some1.css">/some1.css</a></div>
			<div><a href="/some2.css">/some2.css</a></div>
			<div><a href="/some3.css">/some3.css</a></div>
			<div><a href="/some4.css">/some4.css</a></div>
			<div><a href="/some5.css">/some5.css</a></div>
		`))
	})

	http.ListenAndServe(":8080", nil)
}

file2bytes

Usage of ./file2bytes:
  -src string
    	file which will be converted to bytes
  -pak string
    	golan package name
  -var string
    	golan variable name
  -dst string
    	result file (if not set, stdout will be used)