Set subdomain to "__unset__" if it empty

This is to prevent invalid network requests with an empty subdomain.
This commit is contained in:
Manuel Bouza 2019-03-26 10:01:37 +01:00
parent 28a9a86e27
commit dda92746fa
2 changed files with 12 additions and 4 deletions

View File

@ -12,7 +12,7 @@ class Options extends Component {
@observable isSuccess = false;
componentDidMount() {
getSettings().then(({ subdomain, apiKey }) => {
getSettings(false).then(({ subdomain, apiKey }) => {
this.subdomain = subdomain || ""
this.apiKey = apiKey || ""
})

View File

@ -1,18 +1,26 @@
import { head } from "lodash/fp"
export const isChrome = () => typeof browser === "undefined" && chrome
export const isFirefox = () => typeof browser !== "undefined" && chrome
import { head } from "lodash/fp"
export const getSettings = () => {
export const getSettings = (withDefaultSubdomain = true) => {
const keys = ["subdomain", "apiKey"]
const { version } = chrome.runtime.getManifest()
if (isChrome()) {
return new Promise(resolve => {
chrome.storage.sync.get(keys, data => {
if (withDefaultSubdomain) {
data.subdomain = data.subdomain || "__unset__"
}
resolve({ ...data, version })
})
})
} else {
return browser.storage.sync.get(keys).then(data => ({ ...data, version }))
return browser.storage.sync.get(keys).then(data => {
if (withDefaultSubdomain) {
data.subdomain = data.subdomain || "__unset__"
}
return { ...data, version }
})
}
}