Skip to content
This repository was archived by the owner on Jun 2, 2021. It is now read-only.

Commit fd233c7

Browse files
committed
v3: Refactor ApiUrlBuilder to be shared among controllers/presenters
We were initializing a new instance of this in lots of places, but there was no need to do so. Authored-by: Reid Mitchell <rmitchell@pivotal.io>
1 parent b2848da commit fd233c7

55 files changed

Lines changed: 30 additions & 113 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/controllers/v3/app_manifests_controller.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ def apply_manifest
3232
}
3333
)
3434

35-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
3635
head HTTP::ACCEPTED, 'Location' => url_builder.build_url(path: "/v3/jobs/#{job.guid}")
3736
end
3837

app/controllers/v3/application_controller.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ def user_audit_info
8888
VCAP::CloudController::UserAuditInfo.from_context(VCAP::CloudController::SecurityContext)
8989
end
9090

91+
def url_builder
92+
@url_builder ||= VCAP::CloudController::Presenters::ApiUrlBuilder.new
93+
end
94+
9195
def request_id
9296
::VCAP::Request.current_id
9397
end

app/controllers/v3/apps_controller.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ def destroy
148148
DeleteAppErrorTranslatorJob.new(pollable_job)
149149
end
150150

151-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
152151
head HTTP::ACCEPTED, 'Location' => url_builder.build_url(path: "/v3/jobs/#{job.guid}")
153152
end
154153

app/controllers/v3/buildpacks_controller.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ def destroy
5454
deletion_job = VCAP::CloudController::Jobs::DeleteActionJob.new(Buildpack, buildpack.guid, delete_action)
5555
pollable_job = Jobs::Enqueuer.new(deletion_job, queue: Jobs::Queues.generic).enqueue_pollable
5656

57-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
5857
head :accepted, 'Location' => url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}")
5958
end
6059

@@ -91,7 +90,6 @@ def upload
9190
config: configuration
9291
)
9392

94-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
9593
response.set_header('Location', url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}"))
9694
render status: :accepted, json: Presenters::V3::BuildpackPresenter.new(buildpack)
9795
rescue VCAP::CloudController::BuildpackUploadMessage::MissingFilePathError => e

app/controllers/v3/domains_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ def destroy
110110
delete_action = DomainDelete.new
111111
deletion_job = VCAP::CloudController::Jobs::DeleteActionJob.new(Domain, domain.guid, delete_action)
112112
pollable_job = Jobs::Enqueuer.new(deletion_job, queue: Jobs::Queues.generic).enqueue_pollable
113-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
113+
114114
head :accepted, 'Location' => url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}")
115115
end
116116

app/controllers/v3/droplets_controller.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ def destroy
6868
deletion_job = VCAP::CloudController::Jobs::DeleteActionJob.new(DropletModel, droplet.guid, delete_action)
6969
pollable_job = Jobs::Enqueuer.new(deletion_job, queue: Jobs::Queues.generic).enqueue_pollable
7070

71-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
7271
head :accepted, 'Location' => url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}")
7372
end
7473

@@ -130,7 +129,6 @@ def upload
130129
user_audit_info: user_audit_info
131130
)
132131

133-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
134132
response.set_header('Location', url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}"))
135133

136134
render status: :accepted, json: Presenters::V3::DropletPresenter.new(droplet)

app/controllers/v3/organization_quotas_controller.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ def destroy
8282
deletion_job = VCAP::CloudController::Jobs::DeleteActionJob.new(QuotaDefinition, organization_quota.guid, delete_action, 'organization_quota')
8383
pollable_job = Jobs::Enqueuer.new(deletion_job, queue: Jobs::Queues.generic).enqueue_pollable
8484

85-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
8685
head :accepted, 'Location' => url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}")
8786
end
8887

app/controllers/v3/organizations_controller.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ def destroy
7575
deletion_job = VCAP::CloudController::Jobs::DeleteActionJob.new(Organization, org.guid, delete_action)
7676
pollable_job = Jobs::Enqueuer.new(deletion_job, queue: Jobs::Queues.generic).enqueue_pollable
7777

78-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
7978
head :accepted, 'Location' => url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}")
8079
end
8180

app/controllers/v3/packages_controller.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ def destroy
115115
deletion_job = VCAP::CloudController::Jobs::DeleteActionJob.new(PackageModel, package.guid, delete_action)
116116
job = Jobs::Enqueuer.new(deletion_job, queue: Jobs::Queues.generic).enqueue_pollable
117117

118-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
119118
head HTTP::ACCEPTED, 'Location' => url_builder.build_url(path: "/v3/jobs/#{job.guid}")
120119
end
121120

app/controllers/v3/roles_controller.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ def destroy
8282
deletion_job = VCAP::CloudController::Jobs::DeleteActionJob.new(Role, role.guid, delete_action)
8383
pollable_job = Jobs::Enqueuer.new(deletion_job, queue: Jobs::Queues.generic).enqueue_pollable
8484

85-
url_builder = VCAP::CloudController::Presenters::ApiUrlBuilder.new
8685
head :accepted, 'Location' => url_builder.build_url(path: "/v3/jobs/#{pollable_job.guid}")
8786
end
8887

0 commit comments

Comments
 (0)