Categorygithub.com/tmconsulting/sirenaxml-golang-sdk

# README

sirena-xml-sdk

Sirena XML connector written on golang

Usage

package main

import (
	"log"
	"os"

	"github.com/microparts/logs-go"
	"github.com/tmconsulting/sirena-config"
	"github.com/tmconsulting/sirenaxml-golang-sdk/sirena"
)

const keyInfoXML = `<?xml version="1.0" encoding="UTF-8"?>
<sirena>
  <query>
    <key_info/>
  </query>
</sirena>`

func main() {
	sc := &sirenaConfig.SirenaConfig{
  		ClientID:                 os.Getenv("CLIENT_ID"),
  		Host:                     os.Getenv("HOST"),
  		Port:                     os.Getenv("PORT"),
  		ClientPublicKey:          os.Getenv("CLIENT_PUBLIC_KEY"),
  		ClientPrivateKey:         os.Getenv("CLIENT_PRIVATE_KEY"),
  		ClientPrivateKeyPassword: os.Getenv("CLIENT_PRIVATE_KEY_PASSWORD"),
  		ServerPublicKey:          os.Getenv("SERVER_PUBLIC_KEY"),
  		KeysPath:                 os.Getenv("KEYS_PATH"),
  	}
  	lc := &logs.Config{
  		Level:  "info",
  		Format: "text",
  	}
  	
	client := sirena.NewClient(sc, lc, sirena.NewClientOptions{Test: true})
	request := &sirena.Request{
  		Message: []byte(keyInfoXML),
  	}
	var err error
  request.Header, err = sirena.NewHeader(sc, sirena.NewHeaderParams{
    Message: request.Message,
  })
  if err != nil {
    log.Fatal(err)
  }

  response, err := client.Send(request)
  if err != nil {
    log.Fatal(err)
  }
  	
  log.Print(response)
}

Tests

Fill .env file from test.env-example and run tests:

go test ./... -v

Licence

This software is provided under MIT Licence.

# Packages

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