@@ -52,10 +52,6 @@ TMVCStaticFilesDefaults = class sealed
5252 // / </summary>
5353 INDEX_DOCUMENT = ' index.html' ;
5454
55- // / <summary>
56- // / Charset of static files
57- // / </summary>
58- STATIC_FILES_CONTENT_CHARSET = TMVCConstants.DEFAULT_CONTENT_CHARSET;
5955 end ;
6056
6157 TMVCStaticFileRulesProc = reference to procedure(const Context: TWebContext; var PathInfo: String; var Handled: Boolean);
@@ -81,7 +77,6 @@ TMVCStaticFilesMiddleware = class(TInterfacedObject, IMVCMiddleware)
8177 const ADocumentRoot: string = TMVCStaticFilesDefaults.DOCUMENT_ROOT;
8278 const AIndexDocument: string = TMVCStaticFilesDefaults.INDEX_DOCUMENT;
8379 const ASPAWebAppSupport: Boolean = True;
84- const AStaticFilesCharset: string = TMVCStaticFilesDefaults.STATIC_FILES_CONTENT_CHARSET;
8580 const ARules: TMVCStaticFileRulesProc = nil ;
8681 const AMediaTypesCustomizer: TMVCStaticFileMediaTypesCustomizer = nil );
8782 destructor Destroy; override;
@@ -102,7 +97,6 @@ TMVCStaticFilesMiddleware = class(TInterfacedObject, IMVCMiddleware)
10297 const ADocumentRoot: string = TMVCStaticFilesDefaults.DOCUMENT_ROOT;
10398 const AIndexDocument: string = TMVCStaticFilesDefaults.INDEX_DOCUMENT;
10499 const ASPAWebAppSupport: Boolean = True;
105- const AStaticFilesCharset: string = TMVCStaticFilesDefaults.STATIC_FILES_CONTENT_CHARSET;
106100 const ARules: TMVCStaticFileRulesProc = nil ;
107101 const AMediaTypesCustomizer: TMVCStaticFileMediaTypesCustomizer = nil ): IMVCMiddleware;
108102
@@ -120,7 +114,6 @@ function UseStaticFilesMiddleware(
120114 const aDocumentRoot: string = TMVCStaticFilesDefaults.DOCUMENT_ROOT;
121115 const aIndexDocument: string = TMVCStaticFilesDefaults.INDEX_DOCUMENT;
122116 const aSPAWebAppSupport: Boolean = True;
123- const aStaticFilesCharset: string = TMVCStaticFilesDefaults.STATIC_FILES_CONTENT_CHARSET;
124117 const aRules: TMVCStaticFileRulesProc = nil ;
125118 const aMediaTypesCustomizer: TMVCStaticFileMediaTypesCustomizer = nil ): IMVCMiddleware;
126119begin
@@ -129,7 +122,6 @@ function UseStaticFilesMiddleware(
129122 aDocumentRoot,
130123 aIndexDocument,
131124 aSPAWebAppSupport,
132- aStaticFilesCharset,
133125 aRules,
134126 aMediaTypesCustomizer
135127 );
@@ -139,24 +131,24 @@ function UseStaticFilesMiddleware(
139131
140132procedure TMVCStaticFilesMiddleware.AddMediaTypes ;
141133begin
142- fMediaTypes.Add(' .html' , TMVCMediaType.TEXT_HTML);
143- fMediaTypes.Add(' .htm' , TMVCMediaType.TEXT_HTML);
144- fMediaTypes.Add(' .txt' , TMVCMediaType.TEXT_PLAIN);
145- fMediaTypes.Add(' .text' , TMVCMediaType.TEXT_PLAIN);
146- fMediaTypes.Add(' .csv' , TMVCMediaType.TEXT_CSV);
147- fMediaTypes.Add(' .css' , TMVCMediaType.TEXT_CSS);
148- fMediaTypes.Add(' .js' , TMVCMediaType.TEXT_JAVASCRIPT);
149- fMediaTypes.Add(' .json' , TMVCMediaType.APPLICATION_JSON);
134+ fMediaTypes.Add(' .html' , TMVCMediaType.TEXT_HTML + ' ;charset= ' + TMVCCharSet.UTF_8 );
135+ fMediaTypes.Add(' .htm' , TMVCMediaType.TEXT_HTML + ' ;charset= ' + TMVCCharSet.UTF_8 );
136+ fMediaTypes.Add(' .txt' , TMVCMediaType.TEXT_PLAIN + ' ;charset= ' + TMVCCharSet.US_ASCII );
137+ fMediaTypes.Add(' .text' , TMVCMediaType.TEXT_PLAIN + ' ;charset= ' + TMVCCharSet.US_ASCII );
138+ fMediaTypes.Add(' .csv' , TMVCMediaType.TEXT_CSV + ' ;charset= ' + TMVCCharSet.UTF_8 );
139+ fMediaTypes.Add(' .css' , TMVCMediaType.TEXT_CSS + ' ;charset= ' + TMVCCharSet.UTF_8 );
140+ fMediaTypes.Add(' .js' , TMVCMediaType.TEXT_JAVASCRIPT + ' ;charset= ' + TMVCCharSet.UTF_8 );
141+ fMediaTypes.Add(' .json' , TMVCMediaType.APPLICATION_JSON + ' ;charset= ' + TMVCCharSet.UTF_8 );
150142 fMediaTypes.Add(' .jpg' , TMVCMediaType.IMAGE_JPEG);
151143 fMediaTypes.Add(' .jpeg' , TMVCMediaType.IMAGE_JPEG);
152144 fMediaTypes.Add(' .jpe' , TMVCMediaType.IMAGE_JPEG);
153145 fMediaTypes.Add(' .png' , TMVCMediaType.IMAGE_PNG);
154146 fMediaTypes.Add(' .ico' , TMVCMediaType.IMAGE_X_ICON);
155147 fMediaTypes.Add(' .appcache' , TMVCMediaType.TEXT_CACHEMANIFEST);
156148 fMediaTypes.Add(' .svg' , TMVCMediaType.IMAGE_SVG_XML);
157- fMediaTypes.Add(' .xml' , TMVCMediaType.TEXT_XML);
149+ fMediaTypes.Add(' .xml' , TMVCMediaType.TEXT_XML + ' ;charset= ' + TMVCCharSet.UTF_8 );
158150 fMediaTypes.Add(' .pdf' , TMVCMediaType.APPLICATION_PDF);
159- fMediaTypes.Add(' .svgz' , TMVCMediaType.IMAGE_SVG_XML);
151+ fMediaTypes.Add(' .svgz' , TMVCMediaType.IMAGE_SVG_XML + ' ;charset= ' + TMVCCharSet.UTF_8 );
160152 fMediaTypes.Add(' .gif' , TMVCMediaType.IMAGE_GIF);
161153end ;
162154
@@ -165,7 +157,6 @@ constructor TMVCStaticFilesMiddleware.Create(
165157 const ADocumentRoot: string;
166158 const AIndexDocument: string;
167159 const ASPAWebAppSupport: Boolean;
168- const AStaticFilesCharset: string;
169160 const ARules: TMVCStaticFileRulesProc;
170161 const AMediaTypesCustomizer: TMVCStaticFileMediaTypesCustomizer);
171162begin
@@ -184,7 +175,6 @@ constructor TMVCStaticFilesMiddleware.Create(
184175 fDocumentRoot := TPath.Combine(AppPath, ADocumentRoot);
185176 end ;
186177 fIndexDocument := AIndexDocument;
187- fStaticFilesCharset := AStaticFilesCharset;
188178 fSPAWebAppSupport := ASPAWebAppSupport;
189179 fMediaTypes := TMVCStringDictionary.Create;
190180 fRules := ARules;
0 commit comments