BUG: malformed includes raises NoMethodError

Đang mở
#1,376 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
ruby
Lĩnh vực
api

Hướng nghiên cứu

Bắt đầu tại JSONAPI::RequestParser#parse_include_directives và theo dõi các vị trí gọi CSV.parse_line trong các đường dẫn mã 0.9 và 0.10. Tái hiện đầu vào mảng từ include[]=memberships, sau đó xác minh rằng đầu vào không hợp lệ không còn gây ra NoMethodError chưa được xử lý và được trả về dưới dạng lỗi JSONAPI::Exceptions.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

This issue is a (choose one):

  • Problem/bug report.
  • Feature request.
  • Request for support. Note: Please try to avoid submitting issues for support requests. Use Gitter instead.

Checklist before submitting:

  • I've searched for an existing issue.
  • I've asked my question on Gitter and have not received a satisfactory answer.
  • I've included a complete bug report template. This step helps us and allows us to see the bug without trying to reproduce the problem from your description. It helps you because you will frequently detect if it's a problem specific to your project.
  • The feature I'm asking for is compliant with the JSON:API spec.

Description

Choose one section below and delete the other:

Bug reports:

The CSV gem raises a NoMethodError when passed an array

e.g. CSV.parse_line(["memberships"]) raises

private method `gets' called for ["memberships"]:Array

And JR in 0.9.x and 0.10.x in a few places uses CSV.parse_line but only rescues CSV::MalformedCSVError

making a request like v1/users/:id?include[]=memberships with call e.g. JSONAPI::RequestParser#parse_include_directives with ["memberships"] and raise an unhandled error.

My proposal is 1) encapsulate wherever CSV.parse_line is called and 2) ensure any errors are handled and raises as JSONAPI::Exceptions

I could possibly make PRs to 0.9 and 0.10

(We're still on 0.9 due to bugs changes in handling of polymorphic types and plain old resources, but I'd like to help however I can)

Ngôn ngữ chính
Ruby
Star
2.3k
Fork
546
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của JSONAPI-Resources/jsonapi-resources

Tất cả issue của JSONAPI-Resources/jsonapi-resources

Issue tương tự

Thêm issue về Ruby

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.