Skip to content

Commit

Permalink
hotfix: can send sd task in client
Browse files Browse the repository at this point in the history
  • Loading branch information
lloydzhou committed Jul 25, 2024
1 parent fd441d9 commit 8f6e5d7
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 19 deletions.
22 changes: 13 additions & 9 deletions app/client/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,19 @@ export class ClientApi {
}
}

export function getBearerToken(
apiKey: string,
noBearer: boolean = false,
): string {
return validString(apiKey)
? `${noBearer ? "" : "Bearer "}${apiKey.trim()}`
: "";
}

export function validString(x: string): boolean {
return x?.length > 0;
}

export function getHeaders() {
const accessStore = useAccessStore.getState();
const chatStore = useChatStore.getState();
Expand Down Expand Up @@ -214,15 +227,6 @@ export function getHeaders() {
return isAzure ? "api-key" : isAnthropic ? "x-api-key" : "Authorization";
}

function getBearerToken(apiKey: string, noBearer: boolean = false): string {
return validString(apiKey)
? `${noBearer ? "" : "Bearer "}${apiKey.trim()}`
: "";
}

function validString(x: string): boolean {
return x?.length > 0;
}
const {
isGoogle,
isAzure,
Expand Down
1 change: 1 addition & 0 deletions app/constant.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export enum ApiPath {
Baidu = "/api/baidu",
ByteDance = "/api/bytedance",
Alibaba = "/api/alibaba",
Stability = "/api/stability",
}

export enum SlotID {
Expand Down
6 changes: 5 additions & 1 deletion app/store/access.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ const DEFAULT_ALIBABA_URL = isApp
? DEFAULT_API_HOST + "/api/proxy/alibaba"
: ApiPath.Alibaba;

const DEFAULT_STABILITY_URL = isApp
? DEFAULT_API_HOST + "/api/proxy/stability"
: ApiPath.Stability;

const DEFAULT_ACCESS_STATE = {
accessCode: "",
useCustomConfig: false,
Expand Down Expand Up @@ -79,7 +83,7 @@ const DEFAULT_ACCESS_STATE = {
alibabaApiKey: "",

//stability
stabilityUrl: "",
stabilityUrl: DEFAULT_STABILITY_URL,
stabilityApiKey: "",

// server config
Expand Down
36 changes: 27 additions & 9 deletions app/store/sd.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
import { Stability, StoreKey } from "@/app/constant";
import { getHeaders } from "@/app/client/api";
import {
Stability,
StoreKey,
ACCESS_CODE_PREFIX,
ApiPath,
} from "@/app/constant";
import { getBearerToken } from "@/app/client/api";
import { createPersistStore } from "@/app/utils/store";
import { nanoid } from "nanoid";
import { uploadImage, base64Image2Blob } from "@/app/utils/chat";
import { models, getModelParamBasicData } from "@/app/components/sd/sd-panel";
import { useAccessStore } from "./access";

const defaultModel = {
name: models[0].name,
Expand Down Expand Up @@ -57,18 +63,30 @@ export const useSdStore = createPersistStore<
okCall?.();
},
stabilityRequestCall(data: any) {
const accessStore = useAccessStore.getState();
let prefix = ApiPath.Stability;
let bearerToken = "";
if (accessStore.useCustomConfig) {
prefix = accessStore.stabilityUrl || ApiPath.Stability;
bearerToken = getBearerToken(accessStore.stabilityApiKey);
}
if (!bearerToken && accessStore.enabledAccessControl()) {
bearerToken = getBearerToken(
ACCESS_CODE_PREFIX + accessStore.accessCode,
);
}
const headers = {
Accept: "application/json",
Authorization: bearerToken,
};
const path = `${prefix}/${Stability.GeneratePath}/${data.model}`;
const formData = new FormData();
for (let paramsKey in data.params) {
formData.append(paramsKey, data.params[paramsKey]);
}
const headers = getHeaders();
delete headers["Content-Type"];
fetch(`/api/stability/${Stability.GeneratePath}/${data.model}`, {
fetch(path, {
method: "POST",
headers: {
...headers,
Accept: "application/json",
},
headers,
body: formData,
})
.then((response) => response.json())
Expand Down

0 comments on commit 8f6e5d7

Please sign in to comment.