Slack sender code refactoring
This commit is contained in:
parent
f7724576ab
commit
b2d22069b2
1 changed files with 13 additions and 24 deletions
|
|
@ -16,9 +16,6 @@ class SlackSender {
|
|||
//API - https://api.slack.com/methods/files.upload
|
||||
final urlFileUplaod = "https://slack.com/api/files.upload";
|
||||
|
||||
Function(String)? _completeListener;
|
||||
Function(Exception)? _errorListener;
|
||||
|
||||
String getValidatedUser(String? targetUser) {
|
||||
targetUser ??= "@channel";
|
||||
if (targetUser.indexOf("@") != 0) targetUser = "@$targetUser";
|
||||
|
|
@ -53,20 +50,6 @@ class SlackSender {
|
|||
return buffer.toString();
|
||||
}
|
||||
|
||||
void onComplete(String result) {
|
||||
print(result);
|
||||
if (_completeListener != null) _completeListener!(result);
|
||||
}
|
||||
|
||||
void onError(Exception exception) {
|
||||
if (_errorListener != null) _errorListener!(exception);
|
||||
}
|
||||
|
||||
void initializeListener() {
|
||||
_completeListener = null;
|
||||
_errorListener = null;
|
||||
}
|
||||
|
||||
//단일 Attachment로 보낼시
|
||||
Future send(String channel, SlackAttachment attachment,
|
||||
{String? targetUser,
|
||||
|
|
@ -81,14 +64,18 @@ class SlackSender {
|
|||
Future sends(String channel, DataSlack message,
|
||||
{String? targetUser,
|
||||
Function(String)? completeListener,
|
||||
Function(Exception)? errorListener}) async {
|
||||
Function(Object)? errorListener}) async {
|
||||
var c = Completer();
|
||||
String url = getURL(channel, message, targetUser);
|
||||
|
||||
var response = await http.get(Uri.parse(url));
|
||||
|
||||
print(response.body);
|
||||
if (_completeListener != null) _completeListener!(response.body);
|
||||
if (response.statusCode < 300 && response.statusCode >= 200) {
|
||||
print(response.body);
|
||||
if (completeListener != null) completeListener!(response.body);
|
||||
} else {
|
||||
if (errorListener != null) errorListener!(response);
|
||||
}
|
||||
|
||||
c.complete();
|
||||
return c.future;
|
||||
|
|
@ -112,16 +99,18 @@ class SlackSender {
|
|||
Future sendFile(String channel, SlackFile file,
|
||||
{String? targetUser,
|
||||
Function(String)? completeListener,
|
||||
Function(Exception)? errorListener}) async {
|
||||
Function(Object)? errorListener}) async {
|
||||
var c = Completer();
|
||||
_completeListener = completeListener;
|
||||
_errorListener = errorListener;
|
||||
var form = getPostForm(urlFileUplaod, channel, targetUser);
|
||||
form = await file.setFileData(form);
|
||||
var response = await form.send();
|
||||
|
||||
var result = await response.stream.bytesToString();
|
||||
if (_completeListener != null) _completeListener!(result);
|
||||
if (response.statusCode < 300 && response.statusCode >= 200) {
|
||||
if (completeListener != null) completeListener!(result);
|
||||
} else {
|
||||
if (errorListener != null) errorListener!(result);
|
||||
}
|
||||
|
||||
c.complete();
|
||||
return c.future;
|
||||
|
|
|
|||
Loading…
Reference in a new issue