प्रतिक्रिया में केवल एक शीर्षलेख जोड़ने के लिए, आप after
फ़िल्टर का उपयोग कर सकते हैं।
// grails-app/conf/MyFilters.groovy
class MyFilters {
def filters = {
addHeader(uri: '/*') {
after = {
response.setHeader('X-Time', value)
}
}
}
}
संपादित करें:
वास्तव में समय की गणना करने के लिए, यह शायद एक Grails फिल्टर के बजाय एक javax.servlet.Filter
उपयोग करने के लिए उचित होगा।
src/ग्रूवी/com/उदाहरण/MyProject/MyFilter.groovy
package com.example.myproject
import javax.servlet.*
class MyFilter implements Filter {
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
def start = System.currentTimeMillis()
chain.doFilter(request, response)
def elapsed = System.currentTimeMillis() - start
response.setHeader('X-Time', elapsed as String)
}
void init(FilterConfig config) { }
void destroy() { }
}
src/टेम्पलेट्स/युद्ध/web.xml (चलाने grails स्थापित-टेम्पलेट्स अगर src/टेम्पलेट्स 'isn टी पहले से ही अपने स्रोत पेड़ में)
<filter>
<filter-name>timer</filter-name>
<filter-class>com.example.myproject.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>timer</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
javax.servlet.Filter
उपयोग करने का कारण तो है आप अपने "से पहले" को अलग और कार्यों "के बाद" की जरूरत नहीं है, और वजह सकते हैं ई पूरे फ़िल्टर श्रृंखला & सर्वलेट निष्पादन के दौरान प्रारंभ समय पर पकड़ लें।
पूरक ध्यान दें:
मेरे लिए
, यह एक प्रतिक्रिया हेडर के रूप में सर्वर बीत निष्पादन समय वापस करना चाहते करने के लिए अजीब लगता है। शायद आपके पास ऐसा करने का एक सभ्य कारण है, लेकिन ज्यादातर मामलों में मैं ए) या तो कुल राउंड-ट्रिप टाइम (क्लाइंट द्वारा देखी गई) के बारे में अधिक चिंतित हूं, या बी) मेरे लिए सर्वर पर विलुप्त निष्पादन समय लॉगिंग करना स्वयं प्रणाली प्रशासन/मीट्रिक उद्देश्यों।
स्रोत
2011-06-20 18:16:18
इसका एक उपयोगी अनुप्रयोग ['एक्स-यूए-संगत '' http-equiv'] से निपट रहा है (https://groups.google.com/forum/?fromgroups=#!topic/html5boilerplate/bRtrFSrKjtI) मेटा टैग आईई रेंडरर या क्रोमफ्रेम के संस्करण को सेट करने के लिए उपयोग किया जाता है, खासकर एचटीएमएल 5 बॉयलरप्लेट प्रोजेक्ट द्वारा। – cdeszaq