Fix link verifications when page size exceeds 1MB (#29358)
This commit is contained in:
		@@ -19,7 +19,7 @@ class VerifyLinkService < BaseService
 | 
			
		||||
 | 
			
		||||
  def perform_request!
 | 
			
		||||
    @body = Request.new(:get, @url).add_headers('Accept' => 'text/html').perform do |res|
 | 
			
		||||
      res.code == 200 ? res.body_with_limit : nil
 | 
			
		||||
      res.code == 200 ? res.truncated_body : nil
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -76,6 +76,20 @@ RSpec.describe VerifyLinkService, type: :service do
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when a document is truncated but the link back is valid' do
 | 
			
		||||
      let(:html) do
 | 
			
		||||
        "
 | 
			
		||||
          <!doctype html>
 | 
			
		||||
          <body>
 | 
			
		||||
            <a rel=\"me\" href=\"#{ActivityPub::TagManager.instance.url_for(account)}\">
 | 
			
		||||
        "
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'marks the field as verified' do
 | 
			
		||||
        expect(field.verified?).to be true
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when a link tag might be truncated' do
 | 
			
		||||
      let(:html) do
 | 
			
		||||
        "
 | 
			
		||||
          <!doctype html>
 | 
			
		||||
@@ -89,19 +103,6 @@ RSpec.describe VerifyLinkService, type: :service do
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when a link back might be truncated' do
 | 
			
		||||
      let(:html) do
 | 
			
		||||
        "
 | 
			
		||||
          <!doctype html>
 | 
			
		||||
          <body>
 | 
			
		||||
            <a rel=\"me\" href=\"#{ActivityPub::TagManager.instance.url_for(account)}"
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'does not mark the field as verified' do
 | 
			
		||||
        expect(field.verified?).to be false
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'when a link does not contain a link back' do
 | 
			
		||||
      let(:html) { '' }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user