From 67908297c933d9c06ddd41dec02d2ff7ed832837 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 12 Jun 2024 12:38:18 +0300 Subject: Skype: code cleaning --- protocols/SkypeWeb/src/request_queue.cpp | 11 ++++++++--- protocols/SkypeWeb/src/requests/contacts.h | 18 ++++++------------ protocols/SkypeWeb/src/requests/poll.h | 2 +- protocols/SkypeWeb/src/skype_login.cpp | 2 +- protocols/SkypeWeb/src/skype_trouter.cpp | 2 +- protocols/SkypeWeb/src/stdafx.h | 2 ++ 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/protocols/SkypeWeb/src/request_queue.cpp b/protocols/SkypeWeb/src/request_queue.cpp index 7332ac6644..aff9f07521 100644 --- a/protocols/SkypeWeb/src/request_queue.cpp +++ b/protocols/SkypeWeb/src/request_queue.cpp @@ -39,6 +39,11 @@ AsyncHttpRequest::AsyncHttpRequest(int type, SkypeHost host, LPCSTR url, MTHttpR requestType = type; } +void AsyncHttpRequest::AddRegister(CSkypeProto *ppro) +{ + AddHeader("RegistrationToken", CMStringA("registrationToken=") + ppro->m_szToken); +} + ///////////////////////////////////////////////////////////////////////////////////////// void CSkypeProto::StartQueue() @@ -97,9 +102,9 @@ MHttpResponse* CSkypeProto::DoSend(AsyncHttpRequest *pReq) if (m_szApiToken) pReq->AddHeader((pReq->m_host == HOST_CONTACTS) ? "X-SkypeToken" : "X-Skypetoken", m_szApiToken); - pReq->AddHeader("Accept", "application/json; ver=1.0;"); + pReq->AddHeader("Accept", "application/json"); pReq->AddHeader("Origin", "https://web.skype.com"); - pReq->AddHeader("Referer", "https://web.skype.com/main"); + pReq->AddHeader("Referer", "https://web.skype.com/"); break; case HOST_GRAPH: @@ -110,7 +115,7 @@ MHttpResponse* CSkypeProto::DoSend(AsyncHttpRequest *pReq) case HOST_DEFAULT: if (m_szToken) - pReq->AddHeader("RegistrationToken", CMStringA(FORMAT, "registrationToken=%s", m_szToken.get())); + pReq->AddRegister(this); pReq->AddHeader("Accept", "application/json, text/javascript"); break; } diff --git a/protocols/SkypeWeb/src/requests/contacts.h b/protocols/SkypeWeb/src/requests/contacts.h index ea572296f4..23fa74614a 100644 --- a/protocols/SkypeWeb/src/requests/contacts.h +++ b/protocols/SkypeWeb/src/requests/contacts.h @@ -20,14 +20,9 @@ along with this program. If not, see . struct GetContactListRequest : public AsyncHttpRequest { - GetContactListRequest(CSkypeProto *ppro, const char *filter) : - AsyncHttpRequest(REQUEST_GET, HOST_CONTACTS, 0, &CSkypeProto::LoadContactList) + GetContactListRequest() : + AsyncHttpRequest(REQUEST_GET, HOST_CONTACTS, "/users/SELF/contacts", &CSkypeProto::LoadContactList) { - m_szUrl.AppendFormat("/users/%s/contacts", ppro->m_szSkypename.MakeLower().GetBuffer()); - - // ?filter=contacts[?(@.type="skype" or @.type="msn")] - if (filter != NULL) - this << CHAR_PARAM("filter", filter); } }; @@ -58,7 +53,7 @@ struct DeleteContactRequest : public AsyncHttpRequest DeleteContactRequest(CSkypeProto *ppro, const char *who) : AsyncHttpRequest(REQUEST_DELETE, HOST_CONTACTS) { - m_szUrl.AppendFormat("/users/%s/contacts/%s", ppro->m_szMyname.c_str(), who); + m_szUrl.AppendFormat("/users/%s/contacts/%s", ppro->m_szSkypename.c_str(), who); AddHeader("Accept", "application/json"); } @@ -69,7 +64,7 @@ struct AuthAcceptRequest : public AsyncHttpRequest AuthAcceptRequest(CSkypeProto *ppro, const char *who) : AsyncHttpRequest(REQUEST_PUT, HOST_CONTACTS) { - m_szUrl.AppendFormat("/users/%s/invites/%s/accept", ppro->m_szOwnSkypeId.get(), who); + m_szUrl.AppendFormat("/users/%s/invites/%s/accept", ppro->m_szSkypename.c_str(), who); AddHeader("Accept", "application/json"); } @@ -80,7 +75,7 @@ struct AuthDeclineRequest : public AsyncHttpRequest AuthDeclineRequest(CSkypeProto *ppro, const char *who) : AsyncHttpRequest(REQUEST_PUT, HOST_CONTACTS) { - m_szUrl.AppendFormat("/users/%s/invites/%s/decline", ppro->m_szOwnSkypeId.get(), who); + m_szUrl.AppendFormat("/users/%s/invites/%s/decline", ppro->m_szSkypename.c_str(), who); AddHeader("Accept", "application/json"); } @@ -89,9 +84,8 @@ struct AuthDeclineRequest : public AsyncHttpRequest struct BlockContactRequest : public AsyncHttpRequest { BlockContactRequest(CSkypeProto *ppro, MCONTACT hContact) : - AsyncHttpRequest(REQUEST_PUT, HOST_CONTACTS, 0, &CSkypeProto::OnBlockContact) + AsyncHttpRequest(REQUEST_PUT, HOST_CONTACTS, "/users/SELF/contacts/blocklist/" + ppro->getId(hContact), &CSkypeProto::OnBlockContact) { - m_szUrl.AppendFormat("/users/SELF/contacts/blocklist/%s", ppro->getId(hContact).c_str()); m_szParam = "{\"report_abuse\":\"false\",\"ui_version\":\"skype.com\"}"; pUserInfo = (void *)hContact; diff --git a/protocols/SkypeWeb/src/requests/poll.h b/protocols/SkypeWeb/src/requests/poll.h index 86f6304095..20f260fb64 100644 --- a/protocols/SkypeWeb/src/requests/poll.h +++ b/protocols/SkypeWeb/src/requests/poll.h @@ -30,7 +30,7 @@ struct PollRequest : public AsyncHttpRequest AddHeader("Referer", "https://web.skype.com/main"); AddHeader("ClientInfo", "os=Windows; osVer=8.1; proc=Win32; lcid=en-us; deviceType=1; country=n/a; clientName=swx-skype.com; clientVer=908/1.85.0.29"); - AddHeader("Accept", "application/json; ver=1.0"); + AddHeader("Accept", "application/json"); AddHeader("Accept-Language", "en, C"); } }; diff --git a/protocols/SkypeWeb/src/skype_login.cpp b/protocols/SkypeWeb/src/skype_login.cpp index 13b90025b3..74641eb5e7 100644 --- a/protocols/SkypeWeb/src/skype_login.cpp +++ b/protocols/SkypeWeb/src/skype_login.cpp @@ -271,7 +271,7 @@ void CSkypeProto::OnCapabilitiesSended(MHttpResponse *response, AsyncHttpRequest m_hPollingEvent.Set(); PushRequest(new LoadChatsRequest()); - PushRequest(new GetContactListRequest(this, nullptr)); + PushRequest(new GetContactListRequest()); PushRequest(new GetAvatarRequest(ptrA(getStringA("AvatarUrl")), 0)); if (bAutoHistorySync) diff --git a/protocols/SkypeWeb/src/skype_trouter.cpp b/protocols/SkypeWeb/src/skype_trouter.cpp index 65df7e36f7..bcabf8a0f3 100644 --- a/protocols/SkypeWeb/src/skype_trouter.cpp +++ b/protocols/SkypeWeb/src/skype_trouter.cpp @@ -22,7 +22,7 @@ void CSkypeProto::ProcessTimer() if (!IsOnline()) return; - PushRequest(new GetContactListRequest(this, nullptr)); + PushRequest(new GetContactListRequest()); SendPresence(); } diff --git a/protocols/SkypeWeb/src/stdafx.h b/protocols/SkypeWeb/src/stdafx.h index c29ab0e05b..b053df673b 100644 --- a/protocols/SkypeWeb/src/stdafx.h +++ b/protocols/SkypeWeb/src/stdafx.h @@ -105,6 +105,8 @@ struct AsyncHttpRequest : public MTHttpRequest MCONTACT hContact = 0; AsyncHttpRequest(int type, SkypeHost host, LPCSTR url = nullptr, MTHttpRequestHandler pFunc = nullptr); + + void AddRegister(CSkypeProto *ppro); }; #include "requests/avatars.h" -- cgit v1.2.3