Class: PactBroker::Api::Resources::ProviderPactsForVerification
- Inherits:
-
ProviderPacts
- Object
- Webmachine::Resource
- BaseResource
- ProviderPacts
- PactBroker::Api::Resources::ProviderPactsForVerification
- Defined in:
- lib/pact_broker/api/resources/provider_pacts_for_verification.rb
Constant Summary
Constants included from Pacts::Metadata
Constants included from Services
Instance Attribute Summary
Attributes inherited from BaseResource
Instance Method Summary collapse
-
#allowed_methods ⇒ Object
TODO drop support for GET in next major version.
- #content_types_provided ⇒ Object
- #malformed_request? ⇒ Boolean
- #process_post ⇒ Object
-
#read_methods ⇒ Object
For this endoint, the POST is a “read” action (used for Pactflow).
Methods inherited from ProviderPacts
#policy_name, #resource_exists?
Methods inherited from BaseResource
#any_request_body?, #api_contract_class, #application_context, #base_url, #charsets_provided, #consumer, #consumer_name, #consumer_specified?, #consumer_version_number, #content_type_is_json_but_invalid_json_provided?, #content_type_json?, #database_connector, #decorator_class, #decorator_context, #decorator_options, #encode, #find_pacticipant, #finish_request, #forbidden?, #identifier_from_path, #initialize, #integration, #invalid_json?, #is_authorized?, #known_methods, #malformed_request_for_json_with_schema?, #options, #pact, #pact_params, #pacticipant, #pacticipant_name, #pacticipant_specified?, #pacticipant_version_number, #params, #params_with_string_keys, #patch_can_create?, #provider, #provider_name, #provider_specified?, #put_can_create?, #request_body, #request_body_required?, #resource_url, #ui_base_url, #validation_errors_for_schema?
Methods included from Logging
included, #log_error, #log_with_tag, #measure_info
Methods included from Messages
#message, #pluralize, #validation_message, #validation_message_at_index
Methods included from Contracts::UTF8Validation
#fragment_before_invalid_utf_8_char
Methods included from ErrorHandlingMethods
#decorator_options_for_error, #error_response_body, #error_response_content_type, #handle_exception, #log_and_report_error, #problem_json_error_content_type?, #set_json_error_message, #set_json_validation_error_messages, #validation_errors_decorator_class, #validation_errors_response_body
Methods included from Authorization
#action, #create_methods, #delete_methods, #update_methods
Methods included from Authentication
Methods included from PactBrokerUrls
#append_query_if_present, #badge_url_for_latest_pact, #branch_url, #branch_version_url, #branch_versions_url, #consumer_webhooks_url, #currently_deployed_versions_for_environment_url, #currently_supported_versions_for_environment_url, #dashboard_url_for_integration, #decode_pact_metadata, #deployed_version_url, #deployed_versions_for_version_and_environment_url, #encode_metadata, #environment_url, #environments_url, #group_url, #hal_browser_url, #integration_url, #label_url, #labels_url, #latest_pact_url, #latest_pacts_url, #latest_tagged_pact_url, #latest_untagged_pact_url, #latest_verification_for_pact_url, #latest_verifications_for_consumer_version_url, #latest_version_for_branch_url, #latest_version_url, #matrix_badge_url_for_selectors, #matrix_for_pact_url, #matrix_for_pacticipant_version_url, #matrix_url, #matrix_url_from_params, #new_verification_url, #pact_triggered_webhooks_url, #pact_url, #pact_url_from_params, #pact_version_url, #pact_version_url_with_metadata, #pact_version_url_with_webhook_metadata, #pact_version_with_consumer_version_metadata_url, #pact_versions_for_branch_url, #pact_versions_url, #pacticipant_branches_url, #pacticipant_url, #pacticipant_url_from_params, #pacticipants_url, #pacticipants_with_label_url, #previous_distinct_diff_url, #previous_distinct_pact_version_url, #provider_webhooks_url, #record_undeployment_url, #released_version_url, #released_versions_for_version_and_environment_url, #tag_url, #tagged_pact_versions_url, #tags_url, #templated_branch_version_url_for_pacticipant, #templated_can_i_deploy_badge_url, #templated_can_i_deploy_branch_to_environment_badge_url, #templated_can_i_deploy_url, #templated_diff_url, #templated_label_url_for_pacticipant, #templated_tag_url_for_pacticipant, #templated_version_url_for_pacticipant, #triggered_webhook_logs_url, #url_encode, #verification_publication_url, #verification_triggered_webhooks_url, #verification_url, #verification_url_from_params, #version_url, #version_url_from_params, #versions_url, #webhook_execution_url, #webhook_url, #webhooks_for_consumer_and_provider_url, #webhooks_for_pact_url, #webhooks_status_url, #webhooks_url
Methods included from Pacts::Metadata
#build_metadata_for_consumer_version_number, #build_metadata_for_latest_pact, #build_metadata_for_pact_for_verification, #build_metadata_for_webhook_triggered_by_pact_publication, #parse_hash, #parse_metadata, #parse_object
Methods included from Services
#badge_service, #branch_service, #certificate_service, #contract_service, #deployed_version_service, #environment_service, #get_service, #group_service, #index_service, #integration_service, #label_service, #matrix_service, #metrics_service, #pact_service, #pacticipant_service, #register_default_services, #register_service, #released_version_service, #tag_service, #verification_service, #version_service, #webhook_service, #webhook_trigger_service
Constructor Details
This class inherits a constructor from PactBroker::Api::Resources::BaseResource
Instance Method Details
#allowed_methods ⇒ Object
TODO drop support for GET in next major version. GET was only used by the very first Ruby Pact clients that supported the ‘pacts for verification’ feature, until it became clear that the parameters for the request were going to get nested and complex, at which point the POST was added.
22 23 24 |
# File 'lib/pact_broker/api/resources/provider_pacts_for_verification.rb', line 22 def allowed_methods ["GET", "POST", "OPTIONS"] end |
#content_types_provided ⇒ Object
14 15 16 |
# File 'lib/pact_broker/api/resources/provider_pacts_for_verification.rb', line 14 def content_types_provided [["application/hal+json", :to_json]] end |
#malformed_request? ⇒ Boolean
26 27 28 |
# File 'lib/pact_broker/api/resources/provider_pacts_for_verification.rb', line 26 def malformed_request? super || ((request.get? || (request.post? && content_type_json?)) && validation_errors_for_schema?(schema, query)) end |
#process_post ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/pact_broker/api/resources/provider_pacts_for_verification.rb', line 30 def process_post if content_type_json? response.body = to_json true else 415 end end |
#read_methods ⇒ Object
For this endoint, the POST is a “read” action (used for Pactflow)
40 41 42 |
# File 'lib/pact_broker/api/resources/provider_pacts_for_verification.rb', line 40 def read_methods super + %w{POST} end |