Class: Cul::Handles::ResolutionResponse

Inherits:
BaseResponse show all
Defined in:
lib/cul/handles/resolution_response.rb

Constant Summary

Constants included from Hdl

Hdl::ENV_FLAG_COMPRESSED, Hdl::ENV_FLAG_ENCRYPTED, Hdl::ENV_FLAG_TRUNCATED, Hdl::INDEX_ADMIN_HANDLE, Hdl::INDEX_AUTH, Hdl::INDEX_MAINTAINER_HANDLE, Hdl::MSG_FLAG_AUTH, Hdl::MSG_FLAG_AUTH_INDEX, Hdl::MSG_FLAG_CACR, Hdl::MSG_FLAG_CACR_INDEX, Hdl::MSG_FLAG_CERT, Hdl::MSG_FLAG_CERT_INDEX, Hdl::MSG_FLAG_CONT, Hdl::MSG_FLAG_CONT_INDEX, Hdl::MSG_FLAG_ENCR, Hdl::MSG_FLAG_ENCR_INDEX, Hdl::MSG_FLAG_KPAL, Hdl::MSG_FLAG_KPAL_INDEX, Hdl::MSG_FLAG_PUBL, Hdl::MSG_FLAG_PUBL_INDEX, Hdl::MSG_FLAG_RECU, Hdl::MSG_FLAG_RECU_INDEX, Hdl::MSG_FLAG_RRDG, Hdl::MSG_FLAG_RRDG_INDEX, Hdl::OC_ADD_VALUE, Hdl::OC_CHALLENGE_RESPONSE, Hdl::OC_CREATE_HANDLE, Hdl::OC_DELETE_HANDLE, Hdl::OC_GET_SITEINFO, Hdl::OC_LIST_HANDLE, Hdl::OC_LIST_NA, Hdl::OC_MODIFY_VALUE, Hdl::OC_REMOVE_VALUE, Hdl::OC_RESERVED, Hdl::OC_RESOLUTION, Hdl::OC_SESSION_EXCHANGEKEY, Hdl::OC_SESSION_SETUP, Hdl::OC_SESSION_TERMINATE, Hdl::OC_VERIFY_RESPONSE, Hdl::PERM_ADD_ADMIN, Hdl::PERM_ADD_HANDLE, Hdl::PERM_ADD_NA, Hdl::PERM_ADD_VALUE, Hdl::PERM_ALL, Hdl::PERM_DELETE_HANDLE, Hdl::PERM_DELETE_NA, Hdl::PERM_LIST_HDLS, Hdl::PERM_MODIFY_ADMIN, Hdl::PERM_MODIFY_VALUE, Hdl::PERM_READ_VALUE, Hdl::PERM_REMOVE_ADMIN, Hdl::PERM_REMOVE_VALUE, Hdl::RC_ACCESS_DENIED, Hdl::RC_AUTHEN_FAILED, Hdl::RC_AUTHEN_NEEDED, Hdl::RC_AUTHEN_TIMEOUT, Hdl::RC_ERROR, Hdl::RC_EXPIRED_SITE_INFO, Hdl::RC_FORWARDED, Hdl::RC_HANDLE_ALREADY_EXIST, Hdl::RC_HANDLE_NOT_FOUND, Hdl::RC_INVALID_CREDENTIAL, Hdl::RC_INVALID_HANDLE, Hdl::RC_NA_DELEGATE, Hdl::RC_NOT_AUTHORIZED, Hdl::RC_NO_SESSION_KEY, Hdl::RC_OPERATION_DENIED, Hdl::RC_PROTOCOL_ERROR, Hdl::RC_QUEUED, Hdl::RC_RECUR_LIMIT_EXCEEDED, Hdl::RC_RESERVED, Hdl::RC_SERVER_BUSY, Hdl::RC_SERVER_NOT_RESP, Hdl::RC_SERVICE_REFERRAL, Hdl::RC_SESSION_FAILED, Hdl::RC_SESSION_KEY_INVALID, Hdl::RC_SESSION_NO_SUPPORT, Hdl::RC_SESSION_TIMEOUT, Hdl::RC_SUCCESS, Hdl::RC_TRYING, Hdl::RC_UNABLE_TO_AUTHEN, Hdl::RC_VALUE_ALREADY_EXIST, Hdl::RC_VALUE_INVALID, Hdl::RC_VALUE_NOT_FOUND

Instance Method Summary collapse

Methods inherited from BaseResponse

#body, #credential, #credentialType=, #debug=, #initialize, #opCode, #packet, #parseCredential, #parseEnvelope, #parseHeader, #requestId, #responseCode, #send, #sessionId, #signedInfo=, #signedInfoAlg=, #siteInfoSerial, #success?, #to_s

Methods included from Hdl

#asBytes, #calculateValueLen, #convert16t8, #decodeAdminData, #encodeAdminData, #fromBytes, #readByteArray, #readIntArray, #readProtocolString, #toProtocolString

Methods inherited from BaseMessage

#authoritative, #authoritative=, #cacheCertify, #cacheCertify=, #certify, #certify=, #continuous, #continuous=, #digestAlg=, #encrypt, #encrypt=, #initialize, #keepAlive, #keepAlive=, #publicOnly, #publicOnly=, #recursive, #recursive=, #returnRequestDigest, #returnRequestDigest=

Constructor Details

This class inherits a constructor from Cul::Handles::BaseResponse

Instance Method Details

#handleObject



32
33
34
35
36
37
38
# File 'lib/cul/handles/resolution_response.rb', line 32

def handle
  if(@handle)
    return @handle.pack('c*')
  else
    return ''
  end
end

#handleValue(type = 'URL') ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/cul/handles/resolution_response.rb', line 39

def handleValue(type='URL')
  @handleValues.each{|value|
    if value.type == type
      return value.data
    end
  }
  return nil
end

#parseBody(data) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/cul/handles/resolution_response.rb', line 4

def parseBody(data)
  offset = 0
  @packet.concat(data)
  # parse return digest
  if self.returnRequestDigest()
    self.digestAlg = data[offset]
    if (@digestLength)
      @messageDigest = data[1..(@digestLength)]
      offset = 1 + @digestLength
    else
      @messageDigest = []
    end
  end
  @body = data[offset...@bodyLength]
  arrayInfo = readByteArray(data,offset)
  offset = offset + arrayInfo[0]
  @handle = arrayInfo[1]
  numVals = fromBytes(data[offset...offset+4])
  offset = offset + 4
  @handleValues = []
  for i in (1..numVals)
    valLen = calculateValueLen(data,offset)
    value = HandleValue.new(data[offset...offset+valLen])
    @handleValues.push(value)
    puts value
    offset = offset + valLen
  end
end