diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2015-06-29 22:26:47 -0400 | 
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2015-06-29 22:26:47 -0400 | 
| commit | 2701cfeb62dffeb4bc841ec76d6d4da760810fd3 (patch) | |
| tree | a6de87d34b505e389ef3197d08f240d4413b62d1 | |
| parent | 80d17b2dd9cdd7a9445480fdb0e12774396751eb (diff) | |
| parent | f779c164a2da0eec3454d1d26ccd333751afcf4f (diff) | |
Automated merge with ssh://bitbucket.org/rider_linden/MAINT-4952-v-t-u
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 11 | ||||
| -rwxr-xr-x | indra/newview/llfacebookconnect.cpp | 33 | 
2 files changed, 37 insertions, 7 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 845cb5ae96..fca3fd8cf3 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2370,6 +2370,17 @@        <key>Value</key>        <integer>0</integer>      </map> +  <key>DebugSlshareLogTag</key> +    <map> +      <key>Comment</key> +      <string>Request slshare-service debug logging</string> +      <key>Persist</key> +      <integer>0</integer> +      <key>Type</key> +      <string>String</string> +      <key>Value</key> +      <string/> +    </map>    <key>DebugStatModeFPS</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llfacebookconnect.cpp b/indra/newview/llfacebookconnect.cpp index a1700a4357..59827c581c 100755 --- a/indra/newview/llfacebookconnect.cpp +++ b/indra/newview/llfacebookconnect.cpp @@ -41,6 +41,7 @@  #include "lltrans.h"  #include "llevents.h"  #include "llviewerregion.h" +#include "llviewercontrol.h"  #include "llfloaterwebcontent.h"  #include "llfloaterreg.h" @@ -67,6 +68,24 @@ void toast_user_for_facebook_success()      LLNotificationsUtil::add("FacebookConnect", args);  } +LLCore::HttpHeaders::ptr_t get_headers() +{ +    LLCore::HttpHeaders::ptr_t httpHeaders(new LLCore::HttpHeaders, false); +    // The DebugSlshareLogTag mechanism is intended to trigger slshare-service +    // debug logging. slshare-service is coded to respond to an X-debug-tag +    // header by engaging debug logging for that request only. This way a +    // developer need not muck with the slshare-service image to engage debug +    // logging. Moreover, the value of X-debug-tag is embedded in each such +    // log line so the developer can quickly find the log lines pertinent to +    // THIS session. +    std::string logtag(gSavedSettings.getString("DebugSlshareLogTag")); +    if (! logtag.empty()) +    { +        httpHeaders->append("X-debug-tag", logtag); +    } +    return httpHeaders; +} +  ///////////////////////////////////////////////////////////////////////////////  //  class LLFacebookConnectHandler : public LLCommandHandler @@ -148,7 +167,7 @@ void LLFacebookConnect::facebookConnectCoro(LLCoros::self& self, std::string aut      setConnectionState(LLFacebookConnect::FB_CONNECTION_IN_PROGRESS); -    LLSD result = httpAdapter->putAndYield(self, httpRequest, getFacebookConnectURL("/connection"), putData, httpOpts); +    LLSD result = httpAdapter->putAndYield(self, httpRequest, getFacebookConnectURL("/connection"), putData, httpOpts, get_headers());      LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS];      LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); @@ -225,7 +244,7 @@ void LLFacebookConnect::facebookShareCoro(LLCoros::self& self, std::string route      setConnectionState(LLFacebookConnect::FB_POSTING); -    LLSD result = httpAdapter->postAndYield(self, httpRequest, getFacebookConnectURL(route, true), share, httpOpts); +    LLSD result = httpAdapter->postAndYield(self, httpRequest, getFacebookConnectURL(route, true), share, httpOpts, get_headers());      if (testShareStatus(result))      { @@ -241,7 +260,7 @@ void LLFacebookConnect::facebookShareImageCoro(LLCoros::self& self, std::string      LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t          httpAdapter(new LLCoreHttpUtil::HttpCoroutineAdapter("FacebookConnect", httpPolicy));      LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest); -    LLCore::HttpHeaders::ptr_t httpHeaders(new LLCore::HttpHeaders); +    LLCore::HttpHeaders::ptr_t httpHeaders(get_headers());      LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions);      httpOpts->setWantHeaders(true); @@ -315,7 +334,7 @@ void LLFacebookConnect::facebookDisconnectCoro(LLCoros::self& self)      setConnectionState(LLFacebookConnect::FB_DISCONNECTING);      httpOpts->setFollowRedirects(false); -    LLSD result = httpAdapter->deleteAndYield(self, httpRequest, getFacebookConnectURL("/connection"), httpOpts); +    LLSD result = httpAdapter->deleteAndYield(self, httpRequest, getFacebookConnectURL("/connection"), httpOpts, get_headers());      LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS];      LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); @@ -351,7 +370,7 @@ void LLFacebookConnect::facebookConnectedCheckCoro(LLCoros::self& self, bool aut      httpOpts->setFollowRedirects(false); -    LLSD result = httpAdapter->getAndYield(self, httpRequest, getFacebookConnectURL("/connection", true), httpOpts); +    LLSD result = httpAdapter->getAndYield(self, httpRequest, getFacebookConnectURL("/connection", true), httpOpts, get_headers());      LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS];      LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); @@ -399,7 +418,7 @@ void LLFacebookConnect::facebookConnectInfoCoro(LLCoros::self& self)      httpOpts->setWantHeaders(true);      httpOpts->setFollowRedirects(false); -    LLSD result = httpAdapter->getAndYield(self, httpRequest, getFacebookConnectURL("/info", true), httpOpts); +    LLSD result = httpAdapter->getAndYield(self, httpRequest, getFacebookConnectURL("/info", true), httpOpts, get_headers());      LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS];      LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); @@ -442,7 +461,7 @@ void LLFacebookConnect::facebookConnectFriendsCoro(LLCoros::self& self)      httpOpts->setFollowRedirects(false); -    LLSD result = httpAdapter->getAndYield(self, httpRequest, getFacebookConnectURL("/friends", true), httpOpts); +    LLSD result = httpAdapter->getAndYield(self, httpRequest, getFacebookConnectURL("/friends", true), httpOpts, get_headers());      LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS];      LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); | 
