1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file.
4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Custom binding for the Identity API.
6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)var binding = require('binding').Binding.create('identity');
8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)binding.registerCustomHook(function(binding, id, contextType) {
10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  var apiFunctions = binding.apiFunctions;
11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  var identity = binding.compiledApi;
12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  apiFunctions.setHandleRequest('getRedirectURL', function(path) {
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    if (path === null || path === undefined)
15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      path = '/';
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    else
17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      path = String(path);
18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    if (path[0] != '/')
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      path = '/' + path;
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    return 'https://' + id + '.chromiumapp.org' + path;
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  });
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)});
23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)exports.binding = binding.generate();
25