Class: CZMQ::FFI::ZhttpResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb

Overview

Note:

This class is 100% generated using zproject.

Http response that can be received from zhttp_client or sent to zhttp_server. Class can be reused between send & recv calls. Headers and Content is being destroyed after every send call.

Defined Under Namespace

Classes: DestroyedError

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ptr, finalize = true) ⇒ ZhttpResponse

Attaches the pointer ptr to this instance and defines a finalizer for it if necessary.

Parameters:

  • ptr (::FFI::Pointer)
  • finalize (Boolean) (defaults to: true)


26
27
28
29
30
31
32
33
34
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 26

def initialize(ptr, finalize = true)
  @ptr = ptr
  if @ptr.null?
    @ptr = nil # Remove null pointers so we don't have to test for them.
  elsif finalize
    @finalizer = self.class.create_finalizer_for @ptr
    ObjectSpace.define_finalizer self, @finalizer
  end
end

Class Method Details

.__newObject



20
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 20

alias :__new :new

.create_finalizer_for(ptr) ⇒ Proc

Parameters:

  • ptr (::FFI::Pointer)

Returns:

  • (Proc)


37
38
39
40
41
42
43
44
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 37

def self.create_finalizer_for(ptr)
  ptr_ptr = ::FFI::MemoryPointer.new :pointer

  Proc.new do
    ptr_ptr.write_pointer ptr
    ::CZMQ::FFI.zhttp_response_destroy ptr_ptr
  end
end

.newCZMQ::ZhttpResponse

Create a new zhttp_response.

Returns:

  • (CZMQ::ZhttpResponse)


81
82
83
84
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 81

def self.new()
  ptr = ::CZMQ::FFI.zhttp_response_new()
  __new ptr
end

.test(verbose) ⇒ void

This method returns an undefined value.

Self test of this class.

Parameters:

  • verbose (Boolean)


252
253
254
255
256
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 252

def self.test(verbose)
  verbose = !(0==verbose||!verbose) # boolean
  result = ::CZMQ::FFI.zhttp_response_test(verbose)
  result
end

Instance Method Details

#__ptr::FFI::Pointer Also known as: to_ptr

Return internal pointer

Returns:

  • (::FFI::Pointer)

Raises:



51
52
53
54
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 51

def __ptr
  raise DestroyedError unless @ptr
  @ptr
end

#__ptr_give_ref::FFI::MemoryPointer

Note:

This detaches the current instance from the native object and thus makes it unusable.

Nullify internal pointer and return pointer pointer.

Returns:

  • (::FFI::MemoryPointer)

    the pointer pointing to a pointer pointing to the native object

Raises:



62
63
64
65
66
67
68
69
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 62

def __ptr_give_ref
  raise DestroyedError unless @ptr
  ptr_ptr = ::FFI::MemoryPointer.new :pointer
  ptr_ptr.write_pointer @ptr
  __undef_finalizer if @finalizer
  @ptr = nil
  ptr_ptr
end

#__undef_finalizervoid

Note:

Only use this if you need to and can guarantee that the native object will be freed by other means.

This method returns an undefined value.

Undefines the finalizer for this object.



74
75
76
77
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 74

def __undef_finalizer
  ObjectSpace.undefine_finalizer self
  @finalizer = nil
end

#contentString

Get the content of the response.

Returns:

  • (String)

Raises:



195
196
197
198
199
200
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 195

def content()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_content(self_p)
  result
end

#content_lengthInteger

Get the content length of the response

Returns:

  • (Integer)

Raises:



185
186
187
188
189
190
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 185

def content_length()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_content_length(self_p)
  result
end

#content_typeString

Get the response content type

Returns:

  • (String)

Raises:



131
132
133
134
135
136
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 131

def content_type()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_content_type(self_p)
  result
end

#destroyvoid

This method returns an undefined value.

Destroy the zhttp_response.



89
90
91
92
93
94
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 89

def destroy()
  return unless @ptr
  self_p = __ptr_give_ref
  result = ::CZMQ::FFI.zhttp_response_destroy(self_p)
  result
end

#get_content::FFI::AutoPointer

Get the content of the response.

Returns:

  • (::FFI::AutoPointer)

Raises:



205
206
207
208
209
210
211
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 205

def get_content()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_get_content(self_p)
  result = ::FFI::AutoPointer.new(result, LibC.method(:free))
  result
end

#headersZhash

Get the headers of the response.

Returns:

Raises:



174
175
176
177
178
179
180
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 174

def headers()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_headers(self_p)
  result = Zhash.__new result, false
  result
end

#null?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 46

def null?
  !@ptr or @ptr.null?
end

#recv(client, arg, arg2) ⇒ Integer

Receive a response from zhttp_client. On success return 0, -1 otherwise.

Recv returns the two user arguments which was provided with the request. The reason for two, is to be able to pass around the server connection when forwarding requests or both a callback function and an argument.

Parameters:

Returns:

  • (Integer)

Raises:



120
121
122
123
124
125
126
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 120

def recv(client, arg, arg2)
  raise DestroyedError unless @ptr
  self_p = @ptr
  client = client.__ptr if client
  result = ::CZMQ::FFI.zhttp_response_recv(self_p, client, arg, arg2)
  result
end

#reset_contentvoid

This method returns an undefined value.

Set the content to NULL

Raises:



241
242
243
244
245
246
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 241

def reset_content()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_reset_content(self_p)
  result
end

#send(sock, connection) ⇒ Integer

Send a response to a request. Returns 0 if successful and -1 otherwise.

Parameters:

Returns:

  • (Integer)

Raises:



102
103
104
105
106
107
108
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 102

def send(sock, connection)
  raise DestroyedError unless @ptr
  self_p = @ptr
  sock = sock.__ptr if sock
  result = ::CZMQ::FFI.zhttp_response_send(self_p, sock, connection)
  result
end

#set_content(content) ⇒ void

This method returns an undefined value.

Set the content of the response. Content must by dynamically allocated string. Takes ownership of the content.

Parameters:

  • content (::FFI::Pointer, #to_ptr)

Raises:



219
220
221
222
223
224
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 219

def set_content(content)
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_set_content(self_p, content)
  result
end

#set_content_const(content) ⇒ void

This method returns an undefined value.

Set the content of the response. The content is assumed to be constant-memory and will therefore not be copied or deallocated in any way.

Parameters:

  • content (String, #to_s, nil)

Raises:



231
232
233
234
235
236
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 231

def set_content_const(content)
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_set_content_const(self_p, content)
  result
end

#set_content_type(value) ⇒ void

This method returns an undefined value.

Set the content type of the response.

Parameters:

  • value (String, #to_s, nil)

Raises:



142
143
144
145
146
147
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 142

def set_content_type(value)
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_set_content_type(self_p, value)
  result
end

#set_status_code(status_code) ⇒ void

This method returns an undefined value.

Set the status code of the response.

Parameters:

  • status_code (Integer, #to_int, #to_i)

Raises:



163
164
165
166
167
168
169
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 163

def set_status_code(status_code)
  raise DestroyedError unless @ptr
  self_p = @ptr
  status_code = Integer(status_code)
  result = ::CZMQ::FFI.zhttp_response_set_status_code(self_p, status_code)
  result
end

#status_codeInteger

Get the status code of the response.

Returns:

  • (Integer)

Raises:



152
153
154
155
156
157
# File 'lib/czmq-ffi-gen/czmq/ffi/zhttp_response.rb', line 152

def status_code()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zhttp_response_status_code(self_p)
  result
end