1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-01-11 18:24:43 +02:00

Minor refactoring to make function purpose clearer

This commit is contained in:
Laurent Cozic 2018-02-21 18:36:29 +00:00
parent 4a56c76901
commit b9db747b5c
3 changed files with 14 additions and 5 deletions

View File

@ -37,7 +37,7 @@ class SyncTargetNextcloud extends BaseSyncTarget {
}
async initFileApi() {
const fileApi = await SyncTargetWebDAV.initFileApi_(SyncTargetNextcloud.id(), {
const fileApi = await SyncTargetWebDAV.newFileApi_(SyncTargetNextcloud.id(), {
path: Setting.value('sync.5.path'),
username: Setting.value('sync.5.username'),
password: Setting.value('sync.5.password'),

View File

@ -28,7 +28,7 @@ class SyncTargetWebDAV extends BaseSyncTarget {
return true;
}
static async initFileApi_(syncTargetId, options) {
static async newFileApi_(syncTargetId, options) {
const apiOptions = {
baseUrl: () => options.path,
username: () => options.username,
@ -43,7 +43,8 @@ class SyncTargetWebDAV extends BaseSyncTarget {
}
static async checkConfig(options) {
const fileApi = await SyncTargetWebDAV.initFileApi_(SyncTargetWebDAV.id(), options);
const fileApi = await SyncTargetWebDAV.newFileApi_(SyncTargetWebDAV.id(), options);
fileApi.requestRepeatCount_ = 0;
const output = {
ok: false,
@ -63,7 +64,7 @@ class SyncTargetWebDAV extends BaseSyncTarget {
}
async initFileApi() {
const fileApi = await SyncTargetWebDAV.initFileApi_(SyncTargetWebDAV.id(), {
const fileApi = await SyncTargetWebDAV.newFileApi_(SyncTargetWebDAV.id(), {
path: Setting.value('sync.6.path'),
username: Setting.value('sync.6.username'),
password: Setting.value('sync.6.password'),

View File

@ -29,7 +29,15 @@ class WebDavApi {
authToken() {
if (!this.options_.username() || !this.options_.password()) return null;
return base64.encode(this.options_.username() + ':' + this.options_.password());
try {
// Note: Non-ASCII passwords will throw an error about Latin1 characters - https://github.com/laurent22/joplin/issues/246
// Tried various things like the below, but it didn't work on React Native:
//return base64.encode(utf8.encode(this.options_.username() + ':' + this.options_.password()));
return base64.encode(this.options_.username() + ':' + this.options_.password());
} catch (error) {
error.message = 'Cannot encode username/password: ' + error.message;
throw error;
}
}
baseUrl() {