This commit is contained in:
keita
2021-04-01 21:56:56 +09:00
parent 1e31c756ce
commit f97deb5c36
6 changed files with 45 additions and 47 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ Medias::Media API::media() const {
return media_; return media_;
} }
DirectMessages::DirectMessage API::directMessage() const{ DirectMessages::DirectMessage API::directMessage() const {
return directMessage_; return directMessage_;
} }
} // namespace CocoaTweet::API } // namespace CocoaTweet::API
@@ -1,15 +1,15 @@
#include <cocoatweet/api/directMessage/directMessage.h> #include <cocoatweet/api/directMessage/directMessage.h>
#include <cocoatweet/api/directMessage/new.h> #include <cocoatweet/api/directMessage/new.h>
namespace CocoaTweet::API::DirectMessages{ namespace CocoaTweet::API::DirectMessages {
DirectMessage::DirectMessage(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth){ DirectMessage::DirectMessage(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth) {
oauth_ = _oauth; oauth_ = _oauth;
} }
void DirectMessage::messageCreate(const std::string& _recipient, const std::string& _message){ void DirectMessage::messageCreate(const std::string& _recipient, const std::string& _message) {
CocoaTweet::API::DirectMessages::New dm; CocoaTweet::API::DirectMessages::New dm;
dm.recipient(_recipient); dm.recipient(_recipient);
dm.message(_message); dm.message(_message);
dm.process(oauth_); dm.process(oauth_);
}
} }
} // namespace CocoaTweet::API::DirectMessages
@@ -19,8 +19,9 @@ public:
DirectMessage(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth); DirectMessage(std::shared_ptr<CocoaTweet::OAuth::OAuth1> _oauth);
void messageCreate(const std::string& _recipient, const std::string& _message); void messageCreate(const std::string& _recipient, const std::string& _message);
private: private:
}; };
} // namespace CocoaTweet::API::Statuses } // namespace CocoaTweet::API::DirectMessages
#endif #endif
+16 -17
View File
@@ -2,8 +2,8 @@
#include <cocoatweet/util/util.h> #include <cocoatweet/util/util.h>
#include <string> #include <string>
namespace CocoaTweet::API::DirectMessages{ namespace CocoaTweet::API::DirectMessages {
New::New(){ New::New() {
url_ = "https://api.twitter.com/1.1/direct_messages/events/new.json"; url_ = "https://api.twitter.com/1.1/direct_messages/events/new.json";
contentType_ = "application/json"; contentType_ = "application/json";
@@ -13,19 +13,18 @@ namespace CocoaTweet::API::DirectMessages{
tmp["message_create"]["target"] = nlohmann::json::object(); tmp["message_create"]["target"] = nlohmann::json::object();
tmp["message_create"]["message_data"] = nlohmann::json::object(); tmp["message_create"]["message_data"] = nlohmann::json::object();
json_["event"] = tmp; json_["event"] = tmp;
}
void New::recipient(const std::string& _id){
json_["event"]["message_create"]["target"]["recipient_id"] = std::stol(_id);
}
void New::message(const std::string& _message){
json_["event"]["message_create"]["message_data"]["text"] = _message;
}
void New::process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth){
bodyParam_.insert_or_assign("data", json_.dump());
HttpPost::process(_oauth, [](const std::string& _rcv){});
}
} }
void New::recipient(const std::string& _id) {
json_["event"]["message_create"]["target"]["recipient_id"] = std::stol(_id);
}
void New::message(const std::string& _message) {
json_["event"]["message_create"]["message_data"]["text"] = _message;
}
void New::process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth) {
bodyParam_.insert_or_assign("data", json_.dump());
HttpPost::process(_oauth, [](const std::string& _rcv) {});
}
} // namespace CocoaTweet::API::DirectMessages
+1 -3
View File
@@ -16,8 +16,6 @@ public:
void recipient(const std::string& _id); void recipient(const std::string& _id);
void message(const std::string& _message); void message(const std::string& _message);
/// @brief process request for endpoint /// @brief process request for endpoint
/// @param[in] std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth : pointer to oauth object /// @param[in] std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth : pointer to oauth object
/// @param[out] CocoaTweet::API::Model::Tweet : request result /// @param[out] CocoaTweet::API::Model::Tweet : request result
@@ -27,6 +25,6 @@ private:
std::string status_; std::string status_;
nlohmann::json json_; nlohmann::json json_;
}; };
} // namespace CocoaTweet::API::Statuses } // namespace CocoaTweet::API::DirectMessages
#endif #endif
+2 -2
View File
@@ -53,7 +53,7 @@ void HttpPost::process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth,
("Content-Disposition: form-data; name=\"" + key + "\";\r\n\r\n" + value + "\r\n"); ("Content-Disposition: form-data; name=\"" + key + "\";\r\n\r\n" + value + "\r\n");
} }
requestBody += (std::string("--") + "milkcocoa0902" + "--" + "\r\n"); requestBody += (std::string("--") + "milkcocoa0902" + "--" + "\r\n");
}else if(contentType_ == "application/json"){ } else if (contentType_ == "application/json") {
requestBody = bodyParam_["data"]; requestBody = bodyParam_["data"];
} }
} }
@@ -97,7 +97,7 @@ void HttpPost::process(std::weak_ptr<CocoaTweet::OAuth::OAuth1> _oauth,
contentType = contentType_; contentType = contentType_;
} else if (contentType_ == "multipart/form-data") { } else if (contentType_ == "multipart/form-data") {
contentType = contentType_ + "; boundary=milkcocoa0902"; contentType = contentType_ + "; boundary=milkcocoa0902";
}else if(contentType_ == "application/json"){ } else if (contentType_ == "application/json") {
contentType_ = "application/json"; contentType_ = "application/json";
} }