Example #1
0
func init() {
	var err error
	styleMap, err = mxj.NewMapJson([]byte(styleJSON))
	if err != nil {
		log.Panic(err)
	}
}
Example #2
0
func confAmqConf(confPath string, confName string) map[string]interface{} {
	prf("read amqconf from %s ...\n", confPath)
	jsonStr := gd.StrFromFilePath(confPath)
	jsonMap, _ := mxj.NewMapJson([]byte(jsonStr))

	ConfMap := jsonMap[confName].([]interface{})[0].(map[string]interface{})

	return ConfMap
}
Example #3
0
func GetTwitterUserById(r render.Render, params martini.Params, req *http.Request) {
	c := appengine.NewContext(req)
	oauth := NewOAuth1(c, TWITTER_CALLBACK_URL)
	url := "https://api.twitter.com/1.1/users/show.json"
	parameters := map[string]string{"screen_name": params["userId"]}
	secret := []string{TWITTER_CONSUMER_SECRET, ""}
	response := oauth.Request("GET", url, parameters, "", secret)
	user, _ := mxj.NewMapJson([]byte(response))
	r.JSON(200, user)
}
Example #4
0
File: xj2s.go Project: postfix/xj2s
func Json2Struct(jdata []byte, RootName string, Nesting bool) string {
	m, err := mxj.NewMapJson(jdata)
	if err != nil {
		panic(err)
	}
	paths := m.LeafPaths()
	if Nesting {
		return "Not implement yet..."
	} else {
		RootStruct, RestStructs := JsonPath2SrtructLinesNoNesting(paths)
		return RootDatas2Struct(strings.Title(RootName), RootStruct, RestStructs)
	}
}
Example #5
0
func GetTwitterUser(req *http.Request, accessToken *oauth.AccessToken) mxj.Map {
	c := appengine.NewContext(req)
	consumer.HttpClient = urlfetch.Client(c)
	response, _ := consumer.Get("https://api.twitter.com/1.1/account/verify_credentials.json", nil, accessToken)
	result := make([]byte, 1024*1024)
	response.Body.Read(result)
	resultString := string(result)
	trimStr := strings.Trim(resultString, "\x00")
	if trimStr == "" {
		return nil
	}
	accountInfo, _ := mxj.NewMapJson([]byte(trimStr))
	return accountInfo
}
Example #6
0
func main() {
	m, err := mxj.NewMapJson(s)
	if err != nil {
		fmt.Println("err:", err.Error())
	}
	v, err := m.ValuesForKey("Address")
	// v, err := m.ValuesForPath("DBInstances[0].Endpoint.Address")
	if err != nil {
		fmt.Println("err:", err.Error())
	}
	if len(v) > 0 {
		fmt.Println(v[0].(string))
	} else {
		fmt.Println("No value.")
	}
}
Example #7
0
// GetMembers gets the list of members by redirecting to Scatter endpoint
func GetMembers(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
	resp, err := http.Get("http://localhost:3000")
	if err != nil {
		fmt.Println(err)
		w.WriteHeader(500)
		fmt.Fprint(w, err)
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	var members []member
	json.Unmarshal(body, &members)
	w.WriteHeader(200)
	ufJSON, _ := json.Marshal(members)
	m, _ := mxj.NewMapJson(ufJSON)
	xmlVal, _ := m.Xml()
	fmt.Fprint(w, string(xmlVal))
}
Example #8
0
/**
 * Twitterからのコールバックを受け取って、セッションに詰める。ユーザの登録・更新を行う。
 **/
func CallbackTwitter(r render.Render, w http.ResponseWriter, req *http.Request, session sessions.Session) {
	c := appengine.NewContext(req)
	token := req.FormValue("oauth_token")
	verifier := req.FormValue("oauth_verifier")
	oauth := NewOAuth1(c, TWITTER_CALLBACK_URL)
	accessToken := oauth.ExchangeToken(token, verifier, "https://api.twitter.com/oauth/access_token")
	if accessToken != nil { // ログイン成功
		// セッション開始
		session.Set("accessToken", accessToken.Token)
		session.Set("accessTokenSecret", accessToken.Secret)

		c.Infof("toke")
		c.Infof(accessToken.Token)
		c.Infof("secret")
		c.Infof(accessToken.Secret)

		consumer.HttpClient = urlfetch.Client(c)
		response, _ := consumer.Get("https://api.twitter.com/1.1/account/verify_credentials.json", nil, accessToken)
		result := make([]byte, 1024*1024)
		response.Body.Read(result)
		resultString := string(result)
		trimStr := strings.Trim(resultString, "\x00")

		accountInfo, _ := mxj.NewMapJson([]byte(trimStr))

		// User登録
		if accountInfo["screen_name"] != nil {
			screenName := accountInfo["screen_name"].(string)
			user := &User{}
			user.Id = screenName
			user.Key = screenName
			user.Token = accessToken.Token
			key := datastore.NewKey(c, "User", screenName, 0, nil)
			key, err := datastore.Put(c, key, user)
			if err != nil {
				c.Criticalf("%s", err)
			} else {
				c.Infof("")
			}
		}
		// TODO トップページへリダイレクト
		r.Redirect("/")
	} else { // ログイン失敗
		r.Redirect("/")
	}
}
Example #9
0
// GetActiveFiles gets active files
func GetActiveFiles(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
	resp, err := http.Get("http://localhost:3000/members")
	if err != nil {
		fmt.Println(err)
		w.WriteHeader(500)
		fmt.Fprint(w, err)
		return
	}

	defer resp.Body.Close()
	members := []member{}
	contents, _ := ioutil.ReadAll(resp.Body)
	if err := json.Unmarshal(contents, &members); err != nil {
		w.WriteHeader(500)
		fmt.Fprint(w, err)
	}
	var memberNames []string
	for _, memberDat := range members {
		memberNames = append(memberNames, memberDat.Name)
	}

	memberJSON, _ := json.Marshal(memberNames)
	query := url.QueryEscape(string(memberJSON))
	resp, err = http.Get("http://localhost:5984/files/_design/design1/_view/userFiles?keys=" + query)
	if err != nil {
		fmt.Println(err)
		w.WriteHeader(500)
		fmt.Fprint(w, err)
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)

	var uf userFilesActive

	json.Unmarshal(body, &uf)

	w.Header().Set("Content-type", "text/xml")
	w.WriteHeader(200)
	ufJSON, _ := json.Marshal(uf)
	m, _ := mxj.NewMapJson(ufJSON)
	xmlVal, _ := m.Xml()
	fmt.Fprint(w, string(xmlVal))
}
Example #10
0
// GetAllFiles gets all files, active or not
func GetAllFiles(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
	fmt.Println("LOL")
	resp, err := http.Get("http://localhost:5984/files/_all_docs?include_docs=true")
	if err != nil {
		fmt.Println(err)
		w.WriteHeader(500)
		fmt.Fprint(w, err)
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)

	var uf userFiles

	json.Unmarshal(body, &uf)

	w.WriteHeader(200)
	ufJSON, _ := json.Marshal(uf)
	m, _ := mxj.NewMapJson(ufJSON)
	xmlVal, _ := m.Xml()
	fmt.Fprint(w, string(xmlVal))
}
Example #11
0
// GetMemberFiles get a member's files
func GetMemberFiles(w http.ResponseWriter, r *http.Request, p httprouter.Params) {
	query := url.QueryEscape(`"` + p.ByName("name") + `"`)
	reqURL := "http://localhost:5984/files/_design/design1/_view/userFiles?key=" + query
	resp, err := http.Get(reqURL)
	if err != nil {
		fmt.Println(err)
		w.WriteHeader(500)
		fmt.Fprint(w, err)
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)

	var uf userFilesActive

	json.Unmarshal(body, &uf)

	w.WriteHeader(200)
	ufJSON, _ := json.Marshal(uf)
	m, _ := mxj.NewMapJson(ufJSON)
	xmlVal, _ := m.Xml()
	fmt.Fprint(w, string(xmlVal))
}