marshal

package
v0.0.0-...-2786ed0 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2017 License: MIT Imports: 2 Imported by: 0

README

gorails/marshal

Build Status

Installation

With Go and git installed:

go get -u github.com/adjust/gorails/marshal

Usage

import (
  "errors"
  "github.com/adjust/gorails/marshal"
)

func getAuthUserId(decrypted_session_data []byte) (user_id int64, err error) {
  unauthorized_user := errors.New("Unauthorized user")
  invalid_auth_data := errors.New("Invalid auth data")

  session_data, err := marshal.CreateMarshalledObject(decrypted_session_data).GetAsMap()
  if err != nil {
    return
  }

  warden_data, ok := session_data["warden.user.user.key"]
  if !ok {
    return 0, unauthorized_user
  }

  warden_user_key, err := warden_data.GetAsArray()
  if err != nil {
    return
  }
  if len(warden_user_key) < 1 {
    return 0, invalid_auth_data
  }

  user_data, err := warden_user_key[0].GetAsArray()
  if err != nil {
    return
  }
  if len(user_data) < 1 {
    return 0, invalid_auth_data
  }

  user_id, err = user_data[0].GetAsInteger()

  return
}

Documentation

Index

Constants

View Source
const (
	TYPE_UNKNOWN marshalledObjectType = 0
	TYPE_NIL     marshalledObjectType = 1
	TYPE_BOOL    marshalledObjectType = 2
	TYPE_INTEGER marshalledObjectType = 3
	TYPE_FLOAT   marshalledObjectType = 4
	TYPE_STRING  marshalledObjectType = 5
	TYPE_ARRAY   marshalledObjectType = 6
	TYPE_MAP     marshalledObjectType = 7
)

Variables

View Source
var IncompleteData = errors.New("gorails/marshal: incomplete data")
View Source
var TypeMismatch = errors.New("gorails/marshal: an attempt to implicitly typecast a marshalled object")

Functions

This section is empty.

Types

type MarshalledObject

type MarshalledObject struct {
	MajorVersion byte
	MinorVersion byte
	// contains filtered or unexported fields
}

func CreateMarshalledObject

func CreateMarshalledObject(serialized_data []byte) *MarshalledObject

func (*MarshalledObject) GetAsArray

func (obj *MarshalledObject) GetAsArray() (value []*MarshalledObject, err error)

func (*MarshalledObject) GetAsBool

func (obj *MarshalledObject) GetAsBool() (value bool, err error)

func (*MarshalledObject) GetAsFloat

func (obj *MarshalledObject) GetAsFloat() (value float64, err error)

func (*MarshalledObject) GetAsInteger

func (obj *MarshalledObject) GetAsInteger() (value int64, err error)

func (*MarshalledObject) GetAsMap

func (obj *MarshalledObject) GetAsMap() (value map[string]*MarshalledObject, err error)

func (*MarshalledObject) GetAsString

func (obj *MarshalledObject) GetAsString() (value string, err error)

func (*MarshalledObject) GetType

func (obj *MarshalledObject) GetType() marshalledObjectType

func (*MarshalledObject) ToString

func (obj *MarshalledObject) ToString() (str string)

Jump to

Keyboard shortcuts

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