Class: Cul::Handles::HandleValueRequest
- Inherits:
-
BaseRequest
- Object
- BaseMessage
- BaseRequest
- Cul::Handles::HandleValueRequest
- Defined in:
- lib/cul/handles/handle_value_request.rb
Direct Known Subclasses
AddValueRequest, CreateHandleRequest, DeleteValueRequest, ModifyValueRequest
Constant Summary collapse
- ADMIN_ONLY =
HandleValue::PERM_ADMIN_READ & HandleValue::PERM_ADMIN_WRITE
Constants included from Hdl
Cul::Handles::Hdl::ENV_FLAG_COMPRESSED, Cul::Handles::Hdl::ENV_FLAG_ENCRYPTED, Cul::Handles::Hdl::ENV_FLAG_TRUNCATED, Cul::Handles::Hdl::INDEX_ADMIN_HANDLE, Cul::Handles::Hdl::INDEX_AUTH, Cul::Handles::Hdl::INDEX_MAINTAINER_HANDLE, Cul::Handles::Hdl::MSG_FLAG_AUTH, Cul::Handles::Hdl::MSG_FLAG_AUTH_INDEX, Cul::Handles::Hdl::MSG_FLAG_CACR, Cul::Handles::Hdl::MSG_FLAG_CACR_INDEX, Cul::Handles::Hdl::MSG_FLAG_CERT, Cul::Handles::Hdl::MSG_FLAG_CERT_INDEX, Cul::Handles::Hdl::MSG_FLAG_CONT, Cul::Handles::Hdl::MSG_FLAG_CONT_INDEX, Cul::Handles::Hdl::MSG_FLAG_ENCR, Cul::Handles::Hdl::MSG_FLAG_ENCR_INDEX, Cul::Handles::Hdl::MSG_FLAG_KPAL, Cul::Handles::Hdl::MSG_FLAG_KPAL_INDEX, Cul::Handles::Hdl::MSG_FLAG_PUBL, Cul::Handles::Hdl::MSG_FLAG_PUBL_INDEX, Cul::Handles::Hdl::MSG_FLAG_RECU, Cul::Handles::Hdl::MSG_FLAG_RECU_INDEX, Cul::Handles::Hdl::MSG_FLAG_RRDG, Cul::Handles::Hdl::MSG_FLAG_RRDG_INDEX, Cul::Handles::Hdl::OC_ADD_VALUE, Cul::Handles::Hdl::OC_CHALLENGE_RESPONSE, Cul::Handles::Hdl::OC_CREATE_HANDLE, Cul::Handles::Hdl::OC_DELETE_HANDLE, Cul::Handles::Hdl::OC_GET_SITEINFO, Cul::Handles::Hdl::OC_LIST_HANDLE, Cul::Handles::Hdl::OC_LIST_NA, Cul::Handles::Hdl::OC_MODIFY_VALUE, Cul::Handles::Hdl::OC_REMOVE_VALUE, Cul::Handles::Hdl::OC_RESERVED, Cul::Handles::Hdl::OC_RESOLUTION, Cul::Handles::Hdl::OC_SESSION_EXCHANGEKEY, Cul::Handles::Hdl::OC_SESSION_SETUP, Cul::Handles::Hdl::OC_SESSION_TERMINATE, Cul::Handles::Hdl::OC_VERIFY_RESPONSE, Cul::Handles::Hdl::PERM_ADD_ADMIN, Cul::Handles::Hdl::PERM_ADD_HANDLE, Cul::Handles::Hdl::PERM_ADD_NA, Cul::Handles::Hdl::PERM_ADD_VALUE, Cul::Handles::Hdl::PERM_ALL, Cul::Handles::Hdl::PERM_DELETE_HANDLE, Cul::Handles::Hdl::PERM_DELETE_NA, Cul::Handles::Hdl::PERM_LIST_HDLS, Cul::Handles::Hdl::PERM_MODIFY_ADMIN, Cul::Handles::Hdl::PERM_MODIFY_VALUE, Cul::Handles::Hdl::PERM_READ_VALUE, Cul::Handles::Hdl::PERM_REMOVE_ADMIN, Cul::Handles::Hdl::PERM_REMOVE_VALUE, Cul::Handles::Hdl::RC_ACCESS_DENIED, Cul::Handles::Hdl::RC_AUTHEN_FAILED, Cul::Handles::Hdl::RC_AUTHEN_NEEDED, Cul::Handles::Hdl::RC_AUTHEN_TIMEOUT, Cul::Handles::Hdl::RC_ERROR, Cul::Handles::Hdl::RC_EXPIRED_SITE_INFO, Cul::Handles::Hdl::RC_FORWARDED, Cul::Handles::Hdl::RC_HANDLE_ALREADY_EXIST, Cul::Handles::Hdl::RC_HANDLE_NOT_FOUND, Cul::Handles::Hdl::RC_INVALID_CREDENTIAL, Cul::Handles::Hdl::RC_INVALID_HANDLE, Cul::Handles::Hdl::RC_NA_DELEGATE, Cul::Handles::Hdl::RC_NOT_AUTHORIZED, Cul::Handles::Hdl::RC_NO_SESSION_KEY, Cul::Handles::Hdl::RC_OPERATION_DENIED, Cul::Handles::Hdl::RC_PROTOCOL_ERROR, Cul::Handles::Hdl::RC_QUEUED, Cul::Handles::Hdl::RC_RECUR_LIMIT_EXCEEDED, Cul::Handles::Hdl::RC_RESERVED, Cul::Handles::Hdl::RC_SERVER_BUSY, Cul::Handles::Hdl::RC_SERVER_NOT_RESP, Cul::Handles::Hdl::RC_SERVICE_REFERRAL, Cul::Handles::Hdl::RC_SESSION_FAILED, Cul::Handles::Hdl::RC_SESSION_KEY_INVALID, Cul::Handles::Hdl::RC_SESSION_NO_SUPPORT, Cul::Handles::Hdl::RC_SESSION_TIMEOUT, Cul::Handles::Hdl::RC_SUCCESS, Cul::Handles::Hdl::RC_TRYING, Cul::Handles::Hdl::RC_UNABLE_TO_AUTHEN, Cul::Handles::Hdl::RC_VALUE_ALREADY_EXIST, Cul::Handles::Hdl::RC_VALUE_INVALID, Cul::Handles::Hdl::RC_VALUE_NOT_FOUND
Instance Method Summary collapse
- #addAdminValue(adminHandle, permissions, index = INDEX_ADMIN_HANDLE) ⇒ Object
- #addSecretKeyValue(secret) ⇒ Object
- #addURLValue(urlValue) ⇒ Object
- #encodeBody ⇒ Object
-
#initialize(handle) ⇒ HandleValueRequest
constructor
A new instance of HandleValueRequest.
Methods inherited from BaseRequest
#body, #bodyLength, #credential, #credentialDigestAlg, #credentialOptions, #credentialReserved, #credentialSigner, #credentialType, #credentialVersion, #digest, #encodeCredential, #envelope, #expirationTime, #expirationTime=, #header, #messageFlag, #messageFlag=, #messageLength, #opCode, #opCode=, #opFlag, #opFlag=, #packet, #recursionCount, #recursionCount=, #requestId, #requestId=, #responseCode, #responseCode=, #sequenceNumber, #sequenceNumber=, #sessionId, #sessionId=, #siteInfoSerial, #siteInfoSerial=, #valid?
Methods inherited from BaseMessage
#authoritative, #authoritative=, #cacheCertify, #cacheCertify=, #certify, #certify=, #continuous, #continuous=, #digestAlg=, #encrypt, #encrypt=, #keepAlive, #keepAlive=, #publicOnly, #publicOnly=, #recursive, #recursive=, #returnRequestDigest, #returnRequestDigest=
Methods included from Hdl
#asBytes, #calculateValueLen, #convert16t8, #decodeAdminData, #encodeAdminData, #fromBytes, #readByteArray, #readIntArray, #readProtocolString, #toProtocolString
Constructor Details
#initialize(handle) ⇒ HandleValueRequest
Returns a new instance of HandleValueRequest.
5 6 7 8 9 10 11 12 13 |
# File 'lib/cul/handles/handle_value_request.rb', line 5 def initialize(handle) super() self.responseCode = 0 self.certify=true self.=true self.returnRequestDigest=(true) @handle = toProtocolString(handle) @values = [] end |
Instance Method Details
#addAdminValue(adminHandle, permissions, index = INDEX_ADMIN_HANDLE) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/cul/handles/handle_value_request.rb', line 22 def addAdminValue(adminHandle, , index=INDEX_ADMIN_HANDLE) value = HandleValue.new() value.data=value.encodeAdminData(adminHandle, , INDEX_AUTH) value.type = "HS_ADMIN".unpack('U*') value.index = asBytes(index) # is this a default? @values.push(value) end |
#addSecretKeyValue(secret) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/cul/handles/handle_value_request.rb', line 29 def addSecretKeyValue(secret) value = HandleValue.new() value.data=secret.unpack('U*') value.type="HS_SECKEY".unpack('U*') value.perm=(ADMIN_ONLY) value.index = asBytes(INDEX_AUTH) @values.push(value) end |
#addURLValue(urlValue) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/cul/handles/handle_value_request.rb', line 14 def addURLValue(urlValue) # serialize handle value value = HandleValue.new() value.data = urlValue.unpack('U*') value.type = "URL".unpack('U*') value.index = asBytes(1) # is this a default? @values.push(value) end |
#encodeBody ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/cul/handles/handle_value_request.rb', line 38 def encodeBody result = [].concat(@handle) result.concat(asBytes(@values.length)) @values.each {|value| #puts value.serialize.join unless value.nil? result.concat(value.serialize) } @body = result end |