Stroika Library 3.0d18
 
Loading...
Searching...
No Matches
ContentEncoding.cpp
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#include "Stroika/Foundation/StroikaPreComp.h"
5
6#include "ContentEncoding.h"
7
8using namespace Stroika::Foundation;
12
13/*
14 ********************************************************************************
15 ************************** HTTPs::ContentEncoding ******************************
16 ********************************************************************************
17 */
18template <>
19String ContentEncodings::As<String> () const
20{
21 return String::Join (Map<Iterable<String>> ([] (auto i) { return Characters::ToString (i); }), ", "sv);
22}
23
24ContentEncodings ContentEncodings::Parse (const String& headerValue)
25{
26 // @todo more complex - can have ; and = stuff we drop on floor...
27 return ContentEncodings{
28 headerValue.Tokenize ({','}).Map<Iterable<ContentEncoding>> ([] (const String& i) { return ContentEncoding{i.Trim ()}; })};
29}
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Definition String.h:201
nonvirtual String Trim(bool(*shouldBeTrimmed)(Character)=Character::IsWhitespace) const
Definition String.cpp:1592
nonvirtual Containers::Sequence< String > Tokenize() const
Definition String.cpp:1234
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.
Definition Iterable.h:237
Content coding values indicate an encoding transformation that has been or can be applied to an entit...