func()

in src/datachannel/streaming.go [521:543]


func (dataChannel *DataChannel) handleEncryptionChallengeRequest(log log.T, clientMessage message.ClientMessage) error {
	var err error
	var encChallengeReq message.EncryptionChallengeRequest
	err = json.Unmarshal(clientMessage.Payload, &encChallengeReq)
	if err != nil {
		return fmt.Errorf("Could not deserialize rawMessage, %s : %s", clientMessage.Payload, err)
	}
	challenge := encChallengeReq.Challenge
	challenge, err = dataChannel.encryption.Decrypt(log, challenge)
	if err != nil {
		return err
	}
	challenge, err = dataChannel.encryption.Encrypt(log, challenge)
	if err != nil {
		return err
	}
	encChallengeResp := message.EncryptionChallengeResponse{
		Challenge: challenge,
	}

	err = dataChannel.sendEncryptionChallengeResponse(log, encChallengeResp)
	return err
}