qodex-rails 0.1.5 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08a5f5d7f43e4d9c091b7519e6744ec092fbffd4aa5bc478b66e0afdc7d0a8ff'
4
- data.tar.gz: bc3ef816a36a9b63f15d28ec7a87169b87bfd1414f8a7a37126f0c9b1672843c
3
+ metadata.gz: 16721c7b0749a92cf79ba0e51ec16063a71f2e57110d6fd12a75def5d0c4c8b1
4
+ data.tar.gz: 133dae5aa10a5b7fbf406997b23ae265212150ae36740e7a7d87ae570c24e626
5
5
  SHA512:
6
- metadata.gz: cf376639be8f8e5be908baff12364ba0963431f34fac18fd2b396c465b01e5e71ecf37c49e92dd1aa2b3695bf14309a5f8b3e1570cf02539dac88414c8abb3d5
7
- data.tar.gz: ff94f6372beafce723904933d555d409f7efba485067ea4c307b7cea91b3e41fb84f7d9aa5c9530f9535811964af2e328c93c00e241b2434037fdfd72b619144
6
+ metadata.gz: e48e56a37f9905fd5740e81e5a942c6ee24d4a5218aa6565c3d29446b6ebc639f791936e7902395f17223b0c5675663681ef51a8cfacea0960015faf4f6393b6
7
+ data.tar.gz: 0a58120daa94956608742aa0911a29c1fa307eeba6c5eb112f206943a757204fefbee96ea5babb8c55e449de534f230942a35a120709462f56a97fb76031418e
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Qodex
4
4
  module Rails
5
- VERSION = "0.1.5"
5
+ VERSION = "0.1.7"
6
6
  end
7
7
  end
@@ -39,13 +39,15 @@ module QodexRails
39
39
  api_key: QodexRails.configuration.api_key,
40
40
  api: {
41
41
  time_spent: (end_time - start_time).to_i,
42
- body: response_body,
42
+ body: request_body,
43
+ response_body: response_body,
43
44
  body_type: 'none-type',
44
45
  request_type: request.request_method,
45
46
  timestamp: Time.now.to_i,
46
47
  url: request.url,
47
48
  status: status,
48
- headers: extract_headers(headers),
49
+ headers: extract_request_headers(env),
50
+ response_headers: extract_headers(headers),
49
51
  params: request.params # Using Rails' parameter filtering
50
52
  }
51
53
  }
@@ -58,6 +60,13 @@ module QodexRails
58
60
 
59
61
  private
60
62
 
63
+ def extract_request_headers(env)
64
+ env.select { |k, v| k.start_with?('HTTP_') }
65
+ .map { |pair| [pair[0].sub(/^HTTP_/, ''), pair[1]] }
66
+ .map { |pair| [pair[0].split('_').collect(&:capitalize).join('-'), pair[1]] }
67
+ .to_h
68
+ end
69
+
61
70
  def extract_body(response)
62
71
  body = ""
63
72
  response.each { |part| body << part } if response.respond_to?(:each)
@@ -65,7 +74,7 @@ module QodexRails
65
74
  end
66
75
 
67
76
  def extract_headers(headers)
68
- headers.map { |name, value| { name: name, value: value } } if headers.respond_to?(:map)
77
+ headers.to_h if headers.respond_to?(:map)
69
78
  end
70
79
 
71
80
  def send_to_api(logs)
@@ -1,3 +1,3 @@
1
1
  module QodexRails
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.7"
3
3
  end
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qodex-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - sid
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-02 00:00:00.000000000 Z
11
+ date: 2023-10-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Intercept your rails application to power Qodex.ai AI copilot.
14
14
  email:
@@ -33,6 +33,9 @@ files:
33
33
  - qodex-rails-0.1.0.gem
34
34
  - qodex-rails-0.1.1.gem
35
35
  - qodex-rails-0.1.2.gem
36
+ - qodex-rails-0.1.3.gem
37
+ - qodex-rails-0.1.4.gem
38
+ - qodex-rails-0.1.5.gem
36
39
  - sig/qodex/rails.rbs
37
40
  homepage: https://qodex.ai
38
41
  licenses: