1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 *   http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19var thrift = require('thrift');
20
21var UserStorage = require('./gen-nodejs/UserStorage.js'),
22    ttypes = require('./gen-nodejs/user_types');
23
24var connection = thrift.createConnection('localhost', 9090),
25    client = thrift.createClient(UserStorage, connection);
26
27var user = new ttypes.UserProfile({uid: 1,
28                                   name: "Mark Slee",
29                                   blurb: "I'll find something to put here."});
30
31connection.on('error', function(err) {
32  console.error(err);
33});
34
35client.store(user, function(err, response) {
36  if (err) {
37    console.error(err);
38  } else {
39    console.log("client stored:", user.uid);
40    client.retrieve(user.uid, function(err, responseUser) {
41      if (err) {
42        console.error(err);
43      } else {
44        console.log("client retrieved:", responseUser.uid);
45        connection.end();
46      }
47    });
48  }
49});
50