hypernova

package module
v0.0.0-...-5fb8b86 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2018 License: MIT Imports: 8 Imported by: 0

README

Hypernova Go

Go Client for hypernova

Install

Glide is recommend to use.

glide get github.com/tonyhhyip/hypernova-go

Usage


package main
import (
	"fmt"
	"github.com/tonyhhyip/hypernova-go"
)

func main() {
	renderer := hypernova.NewRenderer("http://localhost:3000/batch")
	job := &hypernova.Job {
		Name: "moduleName",
		Data: map[string]interface{} {
			"foo": "bar",
		},
		Metadata: map[string]string{},
	}
	resp := renderer.AddJob("viewId", job)
	fmt.Println(resp.Results["viewId"].HTML)
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrEmptyResult = errors.New("server response missing results")

Functions

This section is empty.

Types

type Job

type Job struct {
	Name     string                 `json:"name"`
	Data     map[string]interface{} `json:"data"`
	Metadata map[string]interface{} `json:"metadata"`
}

type JobResult

type JobResult struct {
	HTML        string            `json:"html"`
	Err         error             `json:"error"`
	Success     bool              `json:"success"`
	OriginalJob *Job              `json:"-"`
	Meta        map[string]string `json:"meta,omitempty"`
	Duration    time.Duration     `json:"-"`
}

func (*JobResult) String

func (jr *JobResult) String() string

type JobResults

type JobResults map[string]*JobResult

type Jobs

type Jobs map[string]*Job

type Plugin

type Plugin interface {
	GetViewData(name string, data map[string]interface{}) (map[string]interface{}, error)
	PrepareRequest(jobs Jobs, originalJobs Jobs) Jobs
	ShouldSendRequest(jobs Jobs) bool
	WillSendRequest(jobs Jobs)
	OnError(err error, jobs Jobs)
	OnSuccess(job *JobResult)
	AfterResponse(results JobResults) JobResults
}

type Renderer

type Renderer struct {
	Url string

	Client *http.Client
	// contains filtered or unexported fields
}

func NewRenderer

func NewRenderer(url string) *Renderer

func (*Renderer) AddJob

func (r *Renderer) AddJob(id string, job *Job)

Add a job

func (*Renderer) AddPlugin

func (r *Renderer) AddPlugin(plugin Plugin)

Add a plugin

func (*Renderer) Render

func (r *Renderer) Render() *Response

Render Page Component

type Response

type Response struct {
	Err     error
	Results JobResults
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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