Summary: Standardize WS implementation for JS environments. Why do we need a separate server implementation for browsers? Browser targets cannot authenticate via the default certificate exchange flow. We need a dedicated client for them that works over an insecure channel (without the cert exchange). Major changes: 1. Renamed `flipper-js-client-sdk` to `js-flipper` for consistency with `react-native-flipper` 2. Updated `js-flipper` implementation to match our other existing clients Documentation will be updated in a separate subsequent PR. https://fb.quip.com/2mboA0xbgoxl Reviewed By: mweststrate Differential Revision: D31688105 fbshipit-source-id: 418aa80e0fd86361c089cf54b0d44a8b4f748efa
30 lines
739 B
TypeScript
30 lines
739 B
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
import {FlipperErrorMessage, FlipperMessageBus} from './message';
|
|
import {FlipperPluginReceiverRes} from './plugin';
|
|
|
|
export class FlipperResponder {
|
|
constructor(
|
|
public readonly responderId: number,
|
|
private client: FlipperMessageBus,
|
|
) {}
|
|
|
|
success(response?: FlipperPluginReceiverRes) {
|
|
this.client.sendData({
|
|
id: this.responderId,
|
|
success: response == null ? null : response,
|
|
});
|
|
}
|
|
|
|
error(response: FlipperErrorMessage) {
|
|
this.client.sendData({id: this.responderId, error: response});
|
|
}
|
|
}
|