type StreamingCallbackHttpResponse__1 =
record {
body: blob;
token: opt CallbackToken__1;
};
type StreamingCallbackHttpResponse =
record {
body: blob;
token: opt CallbackToken__1;
};
type StreamStrategy = variant {
Callback:
record {
callback:
func (CallbackToken__1) ->
(StreamingCallbackHttpResponse__1) query;
token: CallbackToken__1;
};};
type StoreArgs =
record {
file_type: text;
index: nat;
is_http_open: bool;
key: text;
total_index: nat;
total_size: nat64;
value: blob;
};
type HttpResponse =
record {
body: blob;
headers: vec HeaderField;
status_code: nat16;
streaming_strategy: opt StreamStrategy;
};
type HttpRequest =
record {
body: blob;
headers: vec HeaderField;
method: text;
url: text;
};
type HeaderField =
record {
text;
text;
};
type CallbackToken__1 =
record {
index: nat;
key: text;
total_index: nat;
};
type CallbackToken =
record {
index: nat;
key: text;
total_index: nat;
};
type Bucket =
service {
addAdmin: (principal) -> (bool);
changeAdmin: (vec principal) -> (bool);
delete: (text) -> (bool);
get: (text, nat) -> (opt record {
blob;
text;
}) query;
getAdmins: () -> (vec principal) query;
getBuffers: () -> (vec text) query;
getCycleBalance: () -> (nat) query;
getFileTotalIndex: (text) -> (nat) query;
http_request: (HttpRequest) -> (HttpResponse) query;
store: (StoreArgs) -> ();
streamingCallback: (CallbackToken) ->
(StreamingCallbackHttpResponse) query;
wallet_receive: () -> (nat);
};
service : () -> Bucket