Documentation
¶
Overview ¶
Package objects implements a number of objects. Currently just one, though, and a dummy-one at that.
It is intended to be imported for side effects, but there's no reason these objects can't be exported like any other.
An object is a data structure that implements one of Putter, Getter, Poster and Deleter from gondulapi to do RESTful stuff.
The current Thing object is intended as a demonstration.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Thing ¶
type Thing struct {
Sysname string
MgmtIP types.IP
Placement ThingPlacement
}
Thing is a dummy structure to illustrate the core GET/PUT/POST/DELETE API. It doesn't implement a persistent storage/database connection, only stores data in memory.
It mimics a common pattern where an object also contains its own name.
func (*Thing) Get ¶
Get is called on GET. b will be an empty thing. Fill it out, using the element to determine what we're looking for. If it fails: return an error. Simple.
func (Thing) Put ¶
Put is used to store an element with an absolute URL. In our case, the name of the element is also (potentially) present in the data it self - so we do a bit of magic. Note that this should NEVER generate a random name.
b will contain the parsed data. element will be the name of the thing.
PUT is idempotent. Calling it once with a set of parameters or a hundred times with the same parameters should yield the same result.
type ThingPlacement ¶
ThingPlacement illustrates nested data structures which are implicitly handled, and, also mimicks the placement logic of switches in Gondul, which use an X1/X2 Y1/Y2 coordinate system to determine left-most and right-most X and top-most and bottom-most Y.
I can't really remember which is which, but that is besides the point!