Skip to content

Instantly share code, notes, and snippets.

@alexsaezm
Created June 27, 2014 20:21
Show Gist options
  • Select an option

  • Save alexsaezm/75645d144103b08fe2af to your computer and use it in GitHub Desktop.

Select an option

Save alexsaezm/75645d144103b08fe2af to your computer and use it in GitHub Desktop.
package adobeconnect
import (
"net/http/cookiejar"
"log"
"net/http"
"io/ioutil"
)
var server = Server{}
var user = User{}
type Server struct {
name,url string
jar http.CookieJar
}
type User struct {
userName,password string
}
func NewServer(name string, url string) {
server.name = name
server.url = url
server.jar = createCookieJar()
}
func SetUser(userName string, password string){
user.userName = userName
user.password = password
}
func GetUser() (string, string) {
return user.userName,user.password
}
func Connect(){
client := http.Client{Jar: server.jar}
response, err := client.Get(server.url+"/api/xml?action=login&login="+user.userName+"&password="+user.password)
if err != nil {
log.Fatal(err)
}
data, err := ioutil.ReadAll(response.Body)
response.Body.Close()
log.Println(string(data))
}
func Disconnect(){
client := http.Client{Jar: server.jar}
response, err := client.Get(server.url+"/api/xml?action=logout")
if err != nil {
log.Fatal(err)
}
data, err := ioutil.ReadAll(response.Body)
response.Body.Close()
log.Println(string(data))
}
func createCookieJar() http.CookieJar{
// A nil value is valid and may be useful for testing but it is not
// secure: it means that the HTTP server for foo.co.uk can set a cookie
// for bar.co.uk.
jar, err := cookiejar.New(nil)
if err != nil {
log.Fatal(err)
}
return jar
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment