1*19c15fecSAndrew Lindesay /* 2*19c15fecSAndrew Lindesay * Copyright 2017, Andrew Lindesay <apl@lindesay.co.nz>. 3*19c15fecSAndrew Lindesay * All rights reserved. Distributed under the terms of the MIT License. 4*19c15fecSAndrew Lindesay */ 5*19c15fecSAndrew Lindesay 6*19c15fecSAndrew Lindesay #ifndef SERVER_SETTINGS_H 7*19c15fecSAndrew Lindesay #define SERVER_SETTINGS_H 8*19c15fecSAndrew Lindesay 9*19c15fecSAndrew Lindesay #include <File.h> 10*19c15fecSAndrew Lindesay #include <HttpHeaders.h> 11*19c15fecSAndrew Lindesay #include <Locker.h> 12*19c15fecSAndrew Lindesay #include <String.h> 13*19c15fecSAndrew Lindesay 14*19c15fecSAndrew Lindesay 15*19c15fecSAndrew Lindesay class ServerSettings { 16*19c15fecSAndrew Lindesay public: 17*19c15fecSAndrew Lindesay static status_t SetBaseUrl(const BString& baseUrl); 18*19c15fecSAndrew Lindesay static const BString GetUserAgent(); 19*19c15fecSAndrew Lindesay static void AugmentHeaders(BHttpHeaders& headers); 20*19c15fecSAndrew Lindesay static BString CreateFullUrl( 21*19c15fecSAndrew Lindesay const BString urlPathComponents); 22*19c15fecSAndrew Lindesay static void EnableUrlConnectionTraceLogging(); 23*19c15fecSAndrew Lindesay static bool UrlConnectionTraceLoggingEnabled(); 24*19c15fecSAndrew Lindesay 25*19c15fecSAndrew Lindesay private: 26*19c15fecSAndrew Lindesay static const BString _GetUserAgentVersionString(); 27*19c15fecSAndrew Lindesay 28*19c15fecSAndrew Lindesay static BString fBaseUrl; 29*19c15fecSAndrew Lindesay static BString fUserAgent; 30*19c15fecSAndrew Lindesay static BLocker fUserAgentLocker; 31*19c15fecSAndrew Lindesay static bool fUrlConnectionTraceLogging; 32*19c15fecSAndrew Lindesay }; 33*19c15fecSAndrew Lindesay 34*19c15fecSAndrew Lindesay #endif // SERVER_SETTINGS_H 35