'Get the page indicated by the fuzzable_request and determine the language
using the preposition list.
:param request: The HTTP request object.
:param response: The HTTP response object'

def grep(self, request, response):

    with self._plugin_lock:
        if (not self._exec):
            return
        if (not response.is_text_or_html()):
            return
        if is_404(response):
            return
        body = response.get_clear_text_body().lower()
        try:
            guessed_lang = guess_language.guessLanguage(body)
        except IndexError:
            guessed_lang = 'UNKNOWN'
        if (guessed_lang == 'UNKNOWN'):
            kb.kb.raw_write(self, 'lang', None)
            self._tries_left -= 1
            if (self._tries_left == 0):
                msg = 'Could    not    determine    the    site    language    using    the    first    25    HTTP    responses,    not    enough    text    to    make    a    good    analysis.'
                om.out.debug(msg)
                kb.kb.raw_write(self, 'lang', 'unknown')
                self._exec = False
        else:
            self._exec = False
            msg = 'The    page    is    written    in:    "%s".'
            om.out.information((msg % guessed_lang))
            kb.kb.raw_write(self, 'lang', guessed_lang)
