// Write takes a key and the corresponding writes it out to w after marshaling to JSON. func (x AccessToken) Write(w http.ResponseWriter, key *datastore.Key) { body, err := json.Marshal(map[string]AccessToken{ key.Encode(): x, }) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Write(body) }
func decode(c btncrypt.Cipher, key *datastore.Key, stx *storedbtx) (inodedb.DBTransaction, error) { jsonop, err := btncrypt.Decrypt(c, stx.OpsJSON, len(stx.OpsJSON)-c.FrameOverhead()) if err != nil { return inodedb.DBTransaction{}, fmt.Errorf("Failed to decrypt OpsJSON: %v", err) } ops, err := inodedb.DecodeDBOperationsFromJson(jsonop) if err != nil { return inodedb.DBTransaction{}, err } return inodedb.DBTransaction{TxID: inodedb.TxID(key.ID()), Ops: ops}, nil }