2013-07-10 34 views
5

Tôi muốn có thể thêm một số logic vào dự án tritium của tôi dựa trên tiêu đề yêu cầu đến. Có thể truy cập thông tin tiêu đề và sau đó thực hiện match() với() logic không?Làm cách nào để truy cập các tiêu đề của yêu cầu đến trong tritium?

Kế hoạch của tôi là lấy URL hiện tại (có thể truy cập thông qua yêu cầu GET bình thường) và cung cấp cho nó chế độ chức năng thứ hai để nó có thể được chuyển thành AJAX API. Khi JavaScript tạo yêu cầu API, tôi có thể đặt cờ tiêu đề tùy chỉnh để nền tảng biết cách diễn giải yêu cầu khác nhau.

Trả lời

2

Bạn sẽ có thể truy cập các tiêu đề trong yêu cầu HTTP đến bằng cách sử dụng cú pháp biến toàn cầu. Ví dụ: để truy cập tên máy chủ của trang web:

$host 
# => yourwebsite.com 

Tôi tin rằng hầu hết các tiêu đề chuẩn đều có thể truy cập dưới dạng biến toàn cầu trong Tritium. Tuy nhiên, tôi không chắc chắn nếu tất cả các tiêu đề tất cả đều có thể truy cập dưới dạng vars toàn cầu.

Bên trong thư mục dự án của bạn, trên máy phát triển của bạn, cần có một thư mục tmp chứa gói yêu cầu/phản hồi HTTP. Mỗi gói phải được đóng dấu thời gian với ngày và giờ của yêu cầu. Tôi nghĩ rằng nếu bạn nhìn vào bên trong một trong các thư mục này, bạn sẽ thấy một loạt các tập tin:

  • incoming_request
  • incoming_response
  • outgoing_request
  • outgoing_response

Và có thể là một tập tin thứ năm. Tôi không thể nhớ nếu điều này vẫn xảy ra trong phiên bản hiện tại của nền tảng, nhưng có khả năng bạn sẽ tìm thấy tệp thứ năm chứa các biến toàn cục mà máy chủ Tritium tạo ra để lưu trữ các giá trị tiêu đề yêu cầu HTTP. Vì vậy, bạn có thể nhìn vào bên trong tệp đó (nếu nó tồn tại) và tìm ra tên biến mà tiêu đề HTTP của bạn đang sử dụng.

Hy vọng điều đó sẽ hữu ích!

+0

Tôi tin rằng có hai, initial-env.json và final-env.json.Bạn có thể tìm thấy tất cả các biến toàn cầu được đặt cho bạn khi bắt đầu thực thi tritium trong initial-env.json, bao gồm các tiêu đề yêu cầu. – noj

1

Tôi đã trễ việc này, nhưng tôi nghĩ tôi sẽ giúp một người khác cần giúp đỡ về vấn đề này.

bạn cần phải tạo ra hai tập tin trong thư mục script của bạn, người ta gọi là

request_main.ts

response_main.ts

Sau đó bạn có thể sử dụng những thứ như các parse_headers chức năng , lặp lại thông qua các tiêu đề yêu cầu/phản hồi, tùy thuộc vào tệp bạn đặt mã.

parse_headers() { # iterate over all the incoming/outgoing headers 
    log(name())  # log the name of the current cookie in the iteration 
    log(value())  # log the value of the current cookie in the iteration 
} 

parse_headers(/Set-Cookie/) { # iterate over the Set-Cookie headers only. 
    log(this()) 
} 

này sẽ ghi lại tất cả các tên tiêu đề của bạn, thực hiện sửa đổi, sau đó bạn có thể sử dụng "setter" chức năng, mà bạn có thể đọc về ở đây:

http://developer.moovweb.com/docs/local/configuration/headers

Chúc may mắn.

Các vấn đề liên quan