mirror of
https://github.com/FeitianTech/u2f-ref-code.git
synced 2026-08-28 10:40:37 -07:00
- Show an infobar on enroll to get explicit user's consent. - Smaller fixes and refactoring
84 lines
2.1 KiB
JavaScript
84 lines
2.1 KiB
JavaScript
// Copyright 2014 Google Inc. All rights reserved
|
|
//
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file or at
|
|
// https://developers.google.com/open-source/licenses/bsd
|
|
|
|
/**
|
|
* @fileoverview Provides a "bottom half" helper to assist with raw requests.
|
|
* This fills the same role as the Authenticator-Specific Module component of
|
|
* U2F documents, although the API is different.
|
|
*/
|
|
'use strict';
|
|
|
|
/**
|
|
* @typedef {{
|
|
* type: string,
|
|
* timeout: number
|
|
* }}
|
|
*/
|
|
var HelperRequest;
|
|
|
|
/**
|
|
* @typedef {{
|
|
* type: string,
|
|
* code: (number|undefined)
|
|
* }}
|
|
*/
|
|
var HelperReply;
|
|
|
|
/**
|
|
* A helper to process requests.
|
|
* @interface
|
|
*/
|
|
function RequestHelper() {}
|
|
|
|
/**
|
|
* Gets a handler for a request.
|
|
* @param {HelperRequest} request The request to handle.
|
|
* @return {RequestHandler} A handler for the request.
|
|
*/
|
|
RequestHelper.prototype.getHandler = function(request) {};
|
|
|
|
/**
|
|
* A handler to track an outstanding request.
|
|
* @extends {Closeable}
|
|
* @interface
|
|
*/
|
|
function RequestHandler() {}
|
|
|
|
/** @typedef {function(HelperReply, string=)} */
|
|
var RequestHandlerCallback;
|
|
|
|
/**
|
|
* @param {RequestHandlerCallback} cb Called with the result of the request,
|
|
* and an optional source for the result.
|
|
* @return {boolean} Whether this handler could be run.
|
|
*/
|
|
RequestHandler.prototype.run = function(cb) {};
|
|
|
|
/** Closes this handler. */
|
|
RequestHandler.prototype.close = function() {};
|
|
|
|
/**
|
|
* Makes a response to a helper request with an error code.
|
|
* @param {HelperRequest} request The request to make a response to.
|
|
* @param {DeviceStatusCodes} code The error code to return.
|
|
* @param {string=} opt_defaultType The default response type, if none is
|
|
* present in the request.
|
|
* @return {HelperReply} The helper error response.
|
|
*/
|
|
function makeHelperErrorResponse(request, code, opt_defaultType) {
|
|
var type;
|
|
if (request && request.type) {
|
|
type = request.type.replace(/_request$/, '_reply');
|
|
} else {
|
|
type = opt_defaultType || 'unknown_type_reply';
|
|
}
|
|
var reply = {
|
|
'type': type,
|
|
'code': /** @type {number} */ (code)
|
|
};
|
|
return reply;
|
|
}
|